Le clavier et la souris à la pâte

Participants

Tous deux travaillent sur un site de classe, avec les enfants de la classe, et sur le logiciel servant à le (re-)générer. René Thoraval travaille aussi sur le thème Mathématiques et informatique, seul pour l'instant, mais en espérant que d'autres se joignent bientôt à lui.

Objectifs

Une souris dans une main. L'autre sur un clavier. Mettez le tout à la pâte, sans cesser de pianoter des deux mains.

Qu'obtenez-vous ?

Un bric-à-brac d'activités, n'ayant de plus rien à voir avec l'enseignement des mathématiques ?

Tout dépend des partitions choisies.

Des choix basés sur ces quelques constats

En rapport avec quelques uns de ces constats, voici trois documents :

Démarche suivie

Voici une description de cette démarche, datant de septembre 2007 mais demeurant d'actualité.

Bilan et projets

Créer et faire vivre un site de classe en cycle 3

Une activité qui manifestement n'est pas plus liée aux mathématiques qu'à une autre matière. Mais pas moins non plus. Tout simplement un élément important d'une démarche incitant les élèves à tisser un réseau de liens solide et dense entre les matières enseignées, entre elles et le monde où ils vivent. Lancer ses fils, les nouer, créer ainsi son filet à capturer les connaissances, sa toile où s'accrocher et se guider pour les retrouver, et d'où partir vers d'autres découvertes. Les mathématiques doivent prendre toute leur place sur ce réseau et y jouer un rôle structurant, comme la langue.

L'expérience a commencé en juin 2005.

Elle a été proposée sans succès au concours eLearning, organisé en 2007 (comme chaque année depuis 2000) par European Schoolnet avec le soutien de vingt-huit ministères européens de l'éducation.

Sous la forme d'un site web créé à l'aide du logiciel utilisé pour la classe, elle a été présentée au Premier Forum des Enseignants Innovants, qui s'est déroulé à Rennes les 28 et 29 mars 2008, organisé par des associations d'enseignants (l'AFEF, l'AFT, l'APBG, l'APHG, l'Assetec, le Café pédagogique, les Clionautes, Cyberlangues, Projetice, l'UDPPC, WebLettres), avec le soutien du ministère de l'Éducation nationale, de la Ligue de l'Enseignement, du Rectorat et de la Ville de Rennes, du Conseil général d'Ille-et-Vilaine, du Conseil régional de Bretagne, et de partenaires industriels parmi lesquels France 5 et Microsoft.

Un article décrivant cette expérience a paru dans la presse locale (Ouest-France, mai 2008).

Enfin, elle a été présentée dans le cadre d'un atelier de la Journée Académique du 11 juin 2008, organisée à Nantes par l'IREM des Pays de la Loire sur le thème TICE : quelle place dans l'enseignement des mathématiques de l'école à l'université ? Voici la description de l'expérience rédigée à cette occasion.

Depuis la rentrée de septembre 2008, le travail autour du site se poursuit avec un nouveau groupe d'enfants, pendant le temps de classe mais aussi pendant les heures de soutien.

La classe prépare également un concours, ouvert aux classes de la maternelle au CM2, organisé par la BNF, L'École des Loisirs, la Ligue de l'enseignement, le Monde de l'Éducation et le SNUipp. Chaque classe est invitée à concevoir et fabriquer un livre, de fiction ou documentaire, réel ou virtuel et il est précisé ceci : les livres fabriqués ont vocation à être offerts, à chaque classe de choisir ses lecteurs, ce choix devra guider toute la conception du livre. La classe crée progressivement un livre basé sur la correspondance qu'elle entretient avec un groupe d'adultes apprenant le français en région parisienne. Il s'agit d'un livre virtuel, qui, sous la forme d'un mini-site créé avec le logiciel habituel, s'intégre au site de la classe. Cela permet aux correspondants étrangers parisiens de suivre tout le processus d'élaboration du livre, intitulé Livre de cuisine voyageuse et auquel ils contribuent, et aussi, grâce au reste du site, d'en savoir plus sur les enfants, l'activité de la classe, la région nantaise, etc. Les familles des enfants, leurs amis, qui ont maintenant pris l'habitude de naviguer sur le site, peuvent eux aussi suivre ce processus.

Par ailleurs, une nouvelle version du logiciel est en gestation, pour offrir un environnement intégré et beaucoup plus interactif, et pour ainsi permettre aux enfants de créer une partie plus importante du site, d'une façon plus autonome.

Si la piste explorée se révèle viable, tout le travail sur le site se fera dans le navigateur web, notamment l'édition des pages. Elle ne sera plus purement textuelle comme aujourd'hui, mais - et c'est un choix délibéré - ne sera pas non plus wysiwyg. Dès qu'une page est un peu complexe, la perte d'information structurelle qui semble inhérente au wysiwyg, fait que dans certaines situations l'action de l'utilisateur a un effet différent de l'effet escompté. La structure réelle de la page éditée sera visible et manipulable. Cela ne devrait pas poser de problème à des enfants qui se sont montrés capables de travailler avec une interface purement textuelle !

Le logiciel sera pour l'essentiel géré par un serveur web local, le code Javascript installé chez le client étant réduit au minimum. Il s'agira d'un serveur Ocsigen programmé en Objective Caml en utilisant Eliom et OCamlDuce (pour bénéficier de CDuce). Ce sont des outils de très haut niveau, du genre évoqué plus haut, permettant une expression concise et modulaire, basés sur des systèmes de types puissants qui aident à produire du XHTML valide.

Rien à voir avec le logiciel actuel… qui est écrit en Bash ! L'utilisation des outils cités devrait considérablement faciliter la maintenance et l'évolution du logiciel, pour :

  • De mieux en mieux l'adapter à des enfants de cycle 3, au plus près du niveau de compétences évalué par le B2i.
  • Leur permettre de produire des (mini-)sites de meilleure qualité, notamment sur le plan de l'accessibilité, mais demeurant simples et sobres, pour continuer à mettre en valeur leurs créations. Une petite composante dynamique, à leur portée sur le plan de la programmation, pourrait être introduite, par exemple pour créer des devinettes, des textes et des opérations à trous.

Il faut espérer que la piste explorée ne sera pas d'emblée rendue impraticable par la pauvreté, la vétusté de l'équipement informatique disponible ! Heureusement que le serveur web à créer est un serveur local… car la classe n'est pas connectée à internet !

Si malgré ces obstacles, cette piste se révèle viable, la voie sera ouverte pour créer, avec les outils cités et d'autres du même genre, d'autres logiciels pour la classe, mathématiques par exemple, pouvant eux aussi être utilisés de l'intérieur du navigateur web, évitant ainsi aux enfants d'avoir à maîtriser trop d'environnements disparates.

Mathématiques et informatique

L'objectif : contribuer un tout petit peu à faire sortir l'enseignement des mathématiques, et plus généralement l'enseignement des sciences, de leur isolement. Le moyen essayé : celui qu'on manie avec quelques compétences : l'informatique. Bien sûr, il ne saurait suffire. Son mode d'emploi : sous des formes variées mais visant toutes à contribuer aussi un tout petit peu à faire sortir l'informatique du statut mineur dans lequel elle est trop souvent enfermée, bien qu'elle tende à être partout. Il n'est pas insensé d'imaginer que lui confier aussi d'autres rôles que celui de bonne à tout faire presse-bouton puisse être bénéfique à l'enseignement, scientifique en particulier. Tout le monde a recours à Bécassine : elle est de plus en plus présente dans l'enseignement et surtout elle est devenue omni-présente et parfois même envahissante dans la vie quotidienne extra-scolaire des élèves. Mais il ne suffit pas de l'employer pour la connaître. Peut-être n'est-elle pas si bête ?

Plus précisément, l'objectif est de contribuer un tout petit peu à :

  • Faire mieux comprendre que l'informatique est non seulement un ensemble de technologies, mais aussi une discipline scientifique.
  • Faire mieux connaître certains objets couramment utilisés en informatique et qui sont des objets mathématiques qui pourraient être utilement découverts par les élèves avant leur entrée éventuelle dans l'enseignement supérieur, et parfois bien avant : graphes et arbres, expressions régulières, grammaires formelles et automates, induction structurelle, types, etc. Par exemple, faire découvrir à un élève des structures inductives non linéaires dans de jolies figures, puis lui faire construire récursivement de telles figures (l'ordinateur peut servir), peut l'aider à beaucoup mieux comprendre les objets plus simples que sont les entiers naturels et la récurrence.
  • En utilisant un langage informatique approprié, faire découvrir à de jeunes élèves une notion mathématique fondamentale : la notion de fonction, et éviter à certains élèves un peu plus âgés de croire que toute fonction s'applique à un nombre réel pour produire un nombre réel. En utilisant un langage fonctionnel typé, il est très facile d'ouvrir l'horizon en montrant des fonctions de natures (types) très variées s'appliquant à des objets de natures (types) très variées et produisant des objets de natures (types) très variées. Ces objets peuvent eux-mêmes être des fonctions : ordre supérieur. Cette variété crée un terrain propice à la trans-disciplinarité.
  • En utilisant un langage doté d'un système de types polymorphe et autorisant l'ordre supérieur, faire découvrir la notion de structure algébrique en montrant concrètement son intérêt.
  • Faire faire des mathématiques aussi en dehors du cours de mathématiques, en se servant de l'informatique. Par exemple, faire de l'analyse dimensionnelle en physique en utilisant un langage fonctionnel typé avec inférence automatique des types.
  • Faciliter la mise en place d'expériences mathématiques grâce à des logiciels permettant tout aussi bien de faire abstraction d'une construction d'objet que de ne pas en faire abstraction (ou de n'en faire que partiellement abstraction).
  • Faire percevoir le lien fort unissant les disciplines mathématique et informatique autour de la notion de calcul.
  • Faire connaître l'existence d'outils informatiques de très haut niveau et les promouvoir : langages dans lesquels il est possible de lire facilement des codes - notamment des codes très proches d'énoncés mathématiques - ou d'en écrire de façon concise, modulaire et fiable, systèmes de manipulation de preuves mathématiques formelles, etc.
  • Former des (futurs) enseignants à un langage informatique (et à d'autres outils) de très haut niveau.

Actions déjà menées :

  • Travail autour du site de la classe : découverte et manipulation d'objets informatico-mathématiques par des élèves de cycle 3 au cours d'activités trans-disciplinaires.
  • Rencontre académique IREM du 16 octobre 2008 : présentation de la programmation fonctionnelle et du langage Objective Caml sur la base d'exemples constitués de codes très proches d'énoncés mathématiques du niveau de l'enseignement secondaire : transformations géométriques du plan, entiers naturels, dérivation de fonction d'une variable réelle à valeurs réelles, etc.

Quelques mots sur Objective Caml

C'est un langage de programmation généraliste, conçu pour garantir la sûreté et la fiabilité des programmes : il se prête naturellement à la programmation fonctionnelle (y compris d'ordre supérieur, bien sûr), il permet aussi la programmation impérative ou orientée objets et il est doté d'un système de types polymorphe avec inférence automatique des types assurant la cohérence de ces traits. Il est développé et distribué par l'INRIA depuis 1985. Le système Objective Caml est une implémentation de qualité industrielle de ce langage, comprenant notamment un compilateur produisant du code natif de haute performance pour 9 architectures de microprocesseurs. C'est un logiciel libre et portable (Linux, MacOS X, Microsoft Windows, notamment). Ces quelques lignes reprennent (textuellement pour les parties en italique) une petite partie du contenu des pages du site de l'INRIA consacrées à Objective Caml.

Projets réalisables avec les forces actuellement disponibles :

  • Nouvelles activités trans-disciplinaires à composante mathématique en cycle 3 de l'enseignement primaire, dans la classe de Catherine Lézine.
  • Diffusion d'informations, en particulier grâce au site de l'IREM des Pays de la Loire. Déjà, prochainement, les documents présentés et les codes Objective Caml utilisés lors de la rencontre académique du 16 octobre 2008 seront rendus accessibles. Sans tarder, une petite bibliographie électronique sera constituée puis mise en ligne, portant sur l'informatique, la programmation fonctionnelle, l'inférence de type, la démonstration formelle automatisée, mathématiques et informatique, etc.
  • Création de mini-logiciels pour le cycle 3 de l'enseignement primaire et expérimentation en classe (si l'écriture de la nouvelle version du logiciel de (re-)génération de site et son expérimentation laissent du temps disponible).

Actions paraissant souhaitables, mais ne pouvant être menés qu'avec l'implication d'autres personnes ou institutions :

  • En classe :
    • Mise en place d'activités mathématiques en lycée, en partie basées sur l'expérimentation de code Objective Caml : compréhension de code déjà écrit ou écriture de code, et utilisation du code.
    • Écriture en Objective Caml de mini-logiciels pour le collège ou le lycée et expérimentation en classe, leur code n'ayant pas vocation à être consulté.
  • Formation :
    • Pour des conférences ou si possible mieux : des ateliers incluant des travaux pratiques, invitation de personnes à la pointe de la recherche sur des thèmes liant intimement mathématiques et informatique, et déjà engagées ou prêtes à s'engager dans des actions de formation, de diffusion, de vulgarisation. Il en existe. Pour s'en convaincre il suffit par exemple de lire l'article La Vérité et la Machine, déjà cité, de Benjamin Werner, ou de consulter la page personnelle de Gilles Dowek.
    • Inscription au Plan Académique de Formation de stages d'initiation à Objective Caml incitant notamment à la mise en place d'activités mathématiques en lycée, en partie basées sur la lecture, la création ou l'adaptation, et l'expérimentation de code.
    • Pour les futurs professeurs de mathématiques de collège et de lycée : création d'une ou deux unités d'enseignement de mathématiques-informatique (langage de programmation de très haut niveau tel Objective Caml, système de manipulation de preuves mathématiques formelles tel Coq) dans le cadre de la mise en place des nouveaux Masters pour les métiers de l'enseignement.
    • Également dans le cadre de la mise en place de ces nouveaux Masters, mais pour tous les futurs professeurs - professeurs des écoles et professeurs de collège et de lycée, quelle que soit la discipline - : création d'une unité d'enseignement visant à développer la curiosité et la culture scientifique des élèves à travers des activités trans-disciplinaires, certaines s'appuyant sur l'informatique, d'autres l'ignorant royalement. Exemples des premières : analyse dimensionnelle en physique, art graphique et transformations géométriques (voir par exemple ce site-ci ou ce site-là… bien sûr cibles de liens partant du bas de cette page-là), graphes, arbres et liens dans un site web.

Novembre 2008

Valid HTML 4.01 Strict