Accueil Floss Manuals francophone

Sésamath : Mode d'emploi

Construction de parcours pédagogiques personnalisés

La construction de parcours pédagogiques personnalisés est un objectif important parmi les directions actuelles de Sésamath et se concrétise au sein du projet J3P*.  J3P1 est un programme écrit entièrement en JavaScript*2. Il utilise de nombreux outils. Certains sont classiques et sont utilisés par de très nombreuses applications web. D'autres sont plus spécifiques dans la mesure où ils nous permettent de développer des activités mathématiques (par exemple l'outil permettant d'afficher une expression mathématique). Parmi ces derniers, certains ont nécessité des échanges, des tests, induisant en retour des corrections et améliorations. On peut parler ici de travail coopératif.

Les ressources J3P sont des graphes s'appuyant sur des sections : un nœud du graphe consiste à traiter une section particulière. Il importe donc de commencer par développer quelques dizaines de sections afin de permettre la mise au point progressive du moteur. Ce développement de sections a impliqué rapidement quelques bénévoles et cet aspect connaît un essor important actuellement. Il nécessite donc la mise en oeuvre d'un travail collaboratif conséquent supposant des outils, des documents et une organisation. Nous traiterons ce point dans la deuxième partie.

Enfin les graphes peuvent être très variés, du trivial au très complexe. Au final un graphe non trivial ressemble fort à un scénario pédagogique dont l'écriture demande un gros travail de scénarisation et une bonne connaissance des sections et de leurs paramètres. En outre un graphe n'est vraiment validé que quand il a fait ses preuves devant les élèves : les retours de l'utilisation en classe s'avèrent donc très importants. Pour traiter tous ces aspects, un travail collaboratif semble très souhaitable. 

Travail collaboratif et intégration-développement d'outils

J3P utilise de nombreux outils, tous libres.

Certains outils ne concernent pas directement la programmation d'activités mathématiques, mais sont nécessaires au bon fonctionnement du moteur, à savoir JQuery et head.hs qui sont deux frameworks très utilisés par les applications web. Ces derniers ont bénéficié des échanges au sein de communautés dédiées, comme cela est très souvent le cas pour les outils libres très importants.

Il peut s'agir également d'outils plus spécifiques, par exemple MathQuill utilisé pour afficher des expressions mathématiques, ou encore XCAS utilisé par J3P pour évaluer des expressions de calcul formel. Pour ces outils spécifiques, nous avons eu parfois des échanges avec leurs auteurs : demande d'explications, demande de nouvelles fonctionnalités.

Outre la dimension humaine qui peut être intéressante (contact avec l'auteur, présentation du projet J3P, demande d'aide pour intégration de l'outil), ces contacts ont pour conséquence de fédérer au sein d'un même espace des outils très différents qui ne se seraient jamais côtoyés en dehors de cet espace.

On peut y voir un travail coopératif : les différents outils travaillent ensemble au sein d'un même espace (J3P), et ce sans qu'il y ait de conflits.

Enfin il y a des outils internes (car ils sont développés par nos soins) parmi lesquels on peut citer la calculatrice, la droite graduée, le tableau de conversion, outil d'algorithmique, etc :

Ces outils sont utilisés dans les activités, c'est à dire par les sections. Le développement de ces outils est fait par une seule personne et la plupart du temps en vue d'une intégration dans J3P. Les premiers tests d'utilisation induisent des échanges entre le développeur et les testeurs. Les tests et remarques sont pris en compte par le développeur qui propose alors une version améliorée de l'outil. Ces échanges permettent d'aboutir à un outil satisfaisant, c'est-à-dire stable, et adapté à nos besoins.

Travail collaboratif et développement de sections (exercices interactifs)

La section modèle et les fonctions J3POutils

Une brique de J3P est une section. L'enjeu consiste à développer un modèle, sur lequel tout développeur s'appuie et qui, complété, donne au final une ressource par exemple un exercice interactif. C'est la section modele.js (js = javascript) qui constitue ce socle commun. Cette section de base a été améliorée progressivement pendant les deux premières années, et atteint un premier niveau de maturité, même si des modifications sont encore à prévoir en 2013-2014.

Elle est là pour faciliter le travail du développeur, car elle offre un cadre, une structure, permettant de découper le problème de la construction d'une activité interactive en sous-problèmes plus simples et bien identifiés.

Par ailleurs, le développeur dispose de fonctions J3P, déclarées dans un fichier externe. Ces fonctions permettent au développeur de s'affranchir des fonctions javascript natives ainsi que des techniques de programmation web parfois complexes à assimiler. Elles facilitent donc le travail de développement.

L'organisation du travail collaboratif

Un an après le lancement du projet, nous avons commencé par faire un appel au sein de Sésamath afin de proposer aux membres intéressés de développer quelques sections. Une petite formation d'une après-midi a eu lieu lors de l'AG de Sésamath en 2012. Cette formation a permis à quelques-uns de s'atteler à la tâche. Concrètement elle comprend deux parties : une présentation initiale du développeur de la section modèle et un didacticiel détaillé proposant de développer une ressource simple.

Outre cette formation initiale, ces développeurs bénévolles bénéficient d'aides diverses :

  • une ou deux réunions à distance pour faire le point sur les différentes questions et propositions ;
  • des échanges Skype privés avec le développeur ;
  • une documentation ;
  • une liste de diffusion j3p-sections ;
  • dans certains cas, par exemple pour les sections constituant les compléments du cahier d'exercices CM2, une interface a été développée. Cette interface permet de lister les sections qu'il faut développer, d'indiquer les développements en cours ainsi que les sections terminées. Elle permet enfin de lancer les différentes sections en pouvant régler en amont les paramètres de la section.

Un gros travail de documentation a été fourni afin de faciliter le travail de développement de sections. La première année, cette documentation était sous forme de fichiers PDF. Dès le début de la deuxième année, une documentation a été mise progressivement en ligne sur le site : j3p.devsesamath.net/documentation/index.tml

Ci-dessus apparaît le menu principal de la documentation dédiée au développement de sections. Cette documentation s'avère être très utile dans la pratique, y compris même pour son auteur !

La liste de diffusion est fondamentale, car elle constitue le principal moyen de communication pour s'adresser à la communauté de développeurs.

Elle peut être utilisée pour de nombreuses raisons :

  • un développeur rencontre un problème : n'importe qui sur la liste a la possibilité de lui répondre ;
  • le responsable du projet informe les développeurs d'une nouvelle fonctionnalité ou expose quelques remarques générales à destination de tous ;
  • un développeur informe que sa section est terminée et nécessite une « relecture » de la part des autres ;
  • un développeur annonce la prise en charge d'une section particulière. Comme toute section doit être pensée dès le départ avec son jeu de paramètres, une réflexion préalable sur cet aspect est donc indispensable avant de produire du code. Très souvent les discussions sur ces questions ont lieu sur cette liste.

C'est une organisation qui a fait ses preuves : elle permet la mise en œuvre effective d'un travail collaboratif réel. Il faut cependant noter deux choses. Tout d'abord elle nécessite un fort suivi des responsables du projet (les formateurs) : travail de relecture, conseils, réponses aux questions, réponses aux demandes de nouvelles fonctionnalités. Ensuite, et c'est sans doute le plus important, elle nécessite une forte motivation des développeurs bénévoles. En effet, même si le modèle et sa structure facilitent le développement de ressources, ils ne rendent pas pour autant évident leur développement...

En septembre 2013, l'OIF (Organisation Internationale de la Francophonie)  a organisé une rencontre à Agadir réunissant des collègues de Suisse, du Canada, du Maroc, du Sénégal, de Haïti et des membres de Sésamath France. Lors de cette rencontre a eu lieu une formation d'un jour et demi sur la programmation de sections. Depuis, certains des participants ont poursuivi le travail de développement à distance, en lien avec les responsables du projet J3P. Un ensemble de sections pouvant être développées a été proposé à cette communauté naissante. L'idée est ainsi de parvenir progressivement à une production francophone cohérente des ressources J3P.

Travail collaboratif et développement de scénario

Choix des sections et cahier des charges d'une section

Le choix des sections à développer est étroitement lié aux autres projets de Sésamath. Par exemple, de nombreuses sections de niveau CM2 ont été développées, car elles constituent des compléments du cahier CM2. 

L'exercice ci-dessus est un exercice du cahier dans la chapitre "Nombres entiers". Plusieurs compléments y sont attachés dont 4 compléments J3P. Ces quatre compléments sont issus d'une seule section, mais paramétrés différemment pour chacun d'eux.

Dans un paramétrage particulier, on obtient la ressource suivante :

L'exercice interactif, inspiré de l'exercice papier, est pourtant beaucoup plus large : raison négative, possibilité d'aller en avant et en arrière... On a également la possibilité de travailler avec des nombres décimaux : la ressource obtenue ne cadre alors plus avec le chapitre (ni avec la classe CM2).

Ce qu'il faut comprendre c'est qu'une section correctement paramétrée peut engendrer de nombreuses ressources. Autre avantage, elle pourra permettre de construire des graphes intéressants fondés sur cette seule section.

C'est pourquoi quand nous décidons de développer une certaine section, les discussions portant sur son paramétrage sont si importantes. En général, elles ont lieu sur la liste j3p-sections ou sur une liste plus générale où interviennent des enseignants du primaire qui testent les ressources. L'expertise de ces derniers est très utile pour décider du paramétrage.

L'établissement du cahier des charges d'une section doit se faire collaborativement à l'aide de discussions mêlant développeurs et enseignants testeurs.

Une fois une section développée, nous créons une ressource J3P : un graphe à un nœud tout simplement. Cette ressource est alors déposée dans Labomep3  :

Le professeur a la possibilité d'utiliser la ressource (graphe à un nœud c'est-à-dire une seule section) afin de la placer dans une séance pour ses élèves ou encore de changer le paramètre de la section.

Enfin le professeur a la possibilité de faire remonter ses remarques et critiques. L'équipe de développement peut alors modifier la section afin d'améliorer la ressource. C'est encore dans une certaine mesure un travail collaboratif, mais en aval.

Graphes : scénarisation et développement 

Une fois que l'on dispose d'une première bibliothèque de sections, il faut réfléchir à la construction de graphes. Ces graphes peuvent être de différents types :

  • des graphes composés d'une seule section de difficulté croissante ;
  • des graphes composés d'une seule section de difficulté croissante ou décroissante, l'élève commençant à un nœud de difficulté médiane ;
  • des graphes composés de plusieurs sections comportant des parties de remédiations ;
  • des graphes de diagnostic permettant de faire le bilan des connaissances d'un élève sur une notion ;
  • des graphes d'évaluation ;

Prenons un exemple en terminale S où nous souhaitons travailler sur le complexe ki(a+ib).

Nous sommes partis d'un exercice demandant la partie réelle et la partie imaginaire de ce complexe (au centre du graphe dans l'image ci-dessous).

 

Il est évident que scénariser un tel graphe demande un réel travail, d'autant qu'il est préférable qu'il se fasse avec les développeurs des sections utilisées. Ce travail de scénarisation a donc lieu sur une liste dédiée.

Soit l'élève réussit cet exercice et nous décidons qu'il est orienté vers des exercices plus difficiles (qui apparaissent en violet sur le graphe).

Soit l'élève ne réussit pas cet exercice et nous nous sommes alors demandés quelles pouvaient être les raisons de cet échec. Deux raisons détectables par J3P (car la section est qualitative) ont retenu notre attention :

  • l'élève ne connaît pas les règles de distributivité ;
  • l'élève confond partie imaginaire et partie entière.

Nous décidons alors de l'orienter vers des exercices remédiant à ces problèmes (boucle grise dans le premier cas et boucle bleue dans le second cas).

Pour les erreurs non détectées par J3P, l'élève est orienté vers des exercices plus simples de la boucle bleue.

Il faut également noter deux mouvements : la scénarisation des sections et leur développement peuvent donner des idées de graphes. Il est donc très important que les scénaristes de graphes connaissent bien les sections existantes.

En retour, un scénario de graphe peut donner lieu au développement des sections nécessaires à son implémentation. Ces deux mouvements s'inscrivent dans un travail collaboratif qui a lieu sur une liste dédiée.

C'est un travail à double sens qui demande une réactivité importante des différents acteurs de J3P. Les possibilités de graphes sont très nombreuses grâce aux différents paramétrages possibles des sections et à la grande diversité des scénarios pédagogiques imaginables.

  1. Il est conseillé de lire préalablement le chapitre J3P dans la section « Utilisation et diffusion des ressources ».^
  2. La description du travail collaboratif autour de la conception du code de J3P est réalisée en annexe.^
  3. Voir le chapitre Labomep^