Une séquence d’initiation à l’algorithmique en maternelle

mardi 20 juin 2017
par  Didier SÉVERIN

Il y a encore quelques années le codage était réservé à une élite qui, pour comprendre le fonctionnement des ordinateurs, apprenait à coder. Avec l’explosion des équipements connectés, il est possible de changer de paradigme comme le souligne Mitchel Resnick, chef du projet Scratch « now we can code to learn ».

Ainsi, nous : Didier Séverin [1], Erika Nirlot [2] et Sandra Sergent [3] nous intéressons aux apports que peut fournir l’algorithmique dans la stabilisation de notions mathématiques (en particulier), mais également dans les autres disciplines scolaires.

Aussi afin d’alimenter cette étude nous nous proposons de mettre en place une séquence d’initiation à l’algorithmique aboutissant à des créations sur ScratchJR dans une classe de Petite Section et une classe de Moyenne Section.

Notre objectif est de dresser un panel d’activités utilisables en autonomie, en semi-dirigé ou en dirigé que ce soit avec ou sans tablette. Nous nous intéresserons particulièrement à l’apport du codage dans le cadre de la remédiation

I. Introduction

Le mot algorithme désigne en général un ensemble donné d’actions à effectuer dans un certain ordre pour atteindre un objectif fixé.

Afin de mener une étude pertinente de l’algorithme au collège, nous étudierons dans un premier temps les leviers existants historiquement en école élémentaire et maternelle sur lesquels nous pouvons prendre appui pour montrer que l’algorithmique a longtemps existé en maternelle en se cachant derrière certaines activités.

Si jusqu’à présent, l’algorithmique et la compréhension du code étaient réservées à une élite ayant suivi une formation spécifique dans laquelle elle avait appris à coder, aujourd’hui le paradigme a changé : il est possible de coder pour apprendre.

Ainsi, avec la collaboration de madame SERGENT Sandra et de madame NIRLOT Erika, de monsieur HIBON Laurent [4] et l’accord de monsieur LALLEMAND Thierry [5] nous sommes intervenus dans une TPS/PS et une MS pour étudier les apports que l’algorithmique apporte dans des séances de remédiation à d’autres compétences.

Après avoir dressé un panel des activités et compétences ayant un lien à l’algorithme qui étaient présentes jusqu’alors nous présenterons l’intérêt des outils et activités dont nous nous sommes servis.

II. Algorithmes en maternelle

Nous dresserons ici un inventaire non exhaustif des activités et compétences vues en maternelle et école élémentaire avant l’arrivée des nouveaux programmes du collège dans lesquelles l’algorithmique se cachait.

L’intérêt ici étant de démontrer que son utilisation est parfaitement justifiée dans de nombreux contextes et qu’il est alors possible de faire évoluer le champ des activités que l’on peut proposer en maternelle

II.1. Les algorithmes répétitifs

Historiquement, les algorithmes sont très présents en maternelle. Cependant de nombreuses activités estampillées « algorithme » sont le plus souvent des « suites logiques » répondant à une action de mimétisme.

Tant que (b et b+1 ne sont pas colorées) :
     Colorer b en jaune
     Colorer b+1 en rouge
     b=b+2

En maternelle, il n’est pas rare de trouver des activités de tissage dans lesquelles l’élève doit « passer dessus » puis « passer dessous » de manière répétée : tissage avec des bandes de papier, avec un fil pour suivre les contours d’un personnage dessiné…

position = dessous
Tant que (colonne est vide) :
     Tant que (ligne est vide) :
          Passer bande à position
          Si (position = dessous) alors :
               position = dessus
          Sinon :
               position = dessous
          ligne = ligne + 1
     colonne = colonne + 1

Au vu de leur structure, ces algorithmes pourraient être qualifiés de « répétitifs ».

II.2. Les algorithmes récursifs

Contrairement aux algorithmes répétitifs, Il existe également des algorithmes « cachés » derrières certaines activités… dans les rondes par exemple ou les comptines.

Comme de nombreuses autres comptines, « Les sept jolies pommes » [6] obéit à un algorithme récursif dont voici une traduction :

Fonction Chant_7_pommes (Entier n) :
          Si (n > 0) alors :
 	               Dire « J’ai n pommes, n jolies pommes… »
 	               Dire « … »
 	               Dire « il ne m’en resta plus que n-1
 	               Chant_7_pommes(n-1)
 	     Sinon :
 	               Dire « Je n’ai plus de pommes, 
                                 plus de jolies pommes… »

On peut tout à fait proposer une version récursive de l’algorithme des perles en alternant des collections non équivalentes d’une à quatre perles de couleurs différentes : 1 jaune, 1 rouge puis 1 jaune, 2 rouges puis 1 jaune, 3 rouges...

Nous pouvons également citer les activités de sériation et de classification qui mettent elles aussi en œuvre des algorithmes qui peuvent faire appel à des procédures diverses [7].

Enfin, nous pouvons également faire mention des suites algorithmiques gestuelles ou « rythmes » : on alterne x frappes des mains, y frappes des pieds…

II.3. Bilan de l’ancienne vision de l’algorithme

Les algorithmes vus jusqu’à lors servent donc trois principaux objectifs : la construction de la répétition, celle de la récursion et celle de la classification.

Nous présenterons dès lors une séquence pour introduire l’algorithmique dès le cycle 1, puis en discuterons l’impact sur les cycles suivants [8].

III. « Now we code to learn » [9]

En référence aux guides pédagogiques couramment utilisés en maternelle : « Du vécu au jeu », « Du jeu à la construction » et « De la construction à la représentation » [10] nous nous sommes interrogés sur la transposition de ces étapes à l’apprentissage par l’algorithmique.

Afin de conserver un lien fort avec le travail déjà fait en classe dans les autres domaines, les séances et activités dont nous nous sommes chargées ont pris appui sur les personnages rencontrés dans les albums présentés.

Lors des deux premières périodes de l’année scolaire, le vocabulaire lié aux repères spatiaux avait été étudié. Nous exposerons ici le cas de la TPS/PS.

III.1. Du vécu au jeu : l’élève robot

La première séance [11] était une séance dirigée réalisée avec des groupes de six élèves. Tour à tour chaque élève était placé sur un quadrillage dessiné au préalable dans la cour de l’école et devait décrire chaque mouvement qu’il devait faire pour se rendre sur une case destination.

En PS, ils travaillaient sur le conte « Pilou à la ferme » [12]. Les personnages et lieux de ce conte ont été imprimés pour être placés dans les cases du quadrillage.

L’élève-robot devait accompagner Pilou au fil de son histoire jusqu’à la ferme où il retrouverait Belle, sa mère.

Le premier d’entre eux ne devait expliquer que ses déplacements le menant directement de la position de Pilou à celle de Belle.

Le second devait en plus passer par la grange. Le troisième devait en plus passer par la basse-cour.

En fonction de la rapidité des élèves suivants il leur était proposé de passer par l’étable et le verger également.

Au cours de cette activité l’élève-robot réactivait son vocabulaire spatial et devait à chaque déplacement dire « Je vais … » + devant, derrière, à droite, à gauche. Les autres camarades validaient le mouvement proposé.
Afin d’éviter les problèmes connus au cycle 3 liés à la notion de « tourner » [13], le repère utilisé en maternelle était un repère absolu basé sur la position initiale de l’élève.

Cette séance revêtait donc une double mission : à la fois proposer une réactivation (ou une remédiation) du vocabulaire spatial en situation et le repérage sur un quadrillage réel.

III.2. Du jeu à la représentation : le quadrillage

Au cours de la séance suivante [14], un quadrillage plastifié sur lequel se trouvaient Pilou, Belle et un lieu intermédiaire était remis à chaque élève. L’objectif était ici de faire dire à chacun d’eux l’ensemble des déplacements que devait faire Pilou pour rejoindre sa mère.

La structure grammaticale à acquérir était « Il doit aller … » + devant, derrière, à droite, à gauche.

III.3. De la représentation à la construction : le vocabulaire de codage

En dirigé [15], l’enseignante a installé le vocabulaire et la lecture des flèches.

Au cours de la séance suivante [16], les quadrillages utilisés étaient ressortis et se voyaient accompagnés de flèches à placer.

Il s’agissait là d’amener les élèves à coder le parcours de Pilou pour qu’il retrouve Belle en plaçant les flèches sur le quadrillage.

En prolongement, ils ont eu à coder un parcours en posant les flèches sur le quadrillage puis à les récupérer une à une avant de les coller le long d’une frise.

Ce travail a, par la suite, été repris en semi-dirigé puis en autonomie afin d’installer la correspondance entre déplacement et sens des flèches.

III.4. Vers le cycle 3 : déplacer un robot

Au cycle 3, la programmation et l’algorithmique impliquant le déplacement d’un robot, il nous a semblé intéressant d’amener les élèves de cycle 1 à le faire.

Pour ce faire, nous avons mis à disposition quatre tablettes tactiles sur lesquelles TuxBot [17] et ScratchJR [18] étaient installés.

Les enseignants en charge des classes se sont servi de TuxBot pour assurer la continuité du travail sur les quadrillages.

De notre côté, nous nous sommes intéressés aux possibilités offertes par ScratchJR. La séance d’introduction de ScratchJR et de la tablette était une séance de langage [19] sur l’objet tablette et son fonctionnement.

IV. Conclusions et remarques sur l’étude en maternelle

En maternelle l’algorithmique existe de manière « cachée » depuis de nombreuses années. Seule restait à mettre en place la mise en mots (ou cryptogrammes) des activités l’exploitant.

Avec les nouveaux programmes de l’école primaire [20] ainsi que la réforme récente des programmes du collège, l’opportunité nous est donnée de nous en servir pour développer des compétences diverses en exploitant un panel varié de médias.

IV.1. Coder pour apprendre à manipuler finement
En complément des travaux réalisés sur TuxBot nous avons introduit une séance sur ScratchJR [21] dont l’objectif consistait à amener les élèves à reproduire un code donné. Au cours de cette séance nous avons pu observer une première difficulté rencontrée par ces derniers. Les quatre tablettes étant de marques différentes, la sensibilité n’était pas la même ce qui a entrainé une difficulté liée à la micro motricité sur les tablettes moins sensibles.

Une seconde opportunité nous a été offerte lors de cette séance d’amener les élèves à adopter une posture compatible avec un scripteur. En effet, quelques-uns d’entre eux appuyaient leur bras sur la tablette faussant ainsi les mouvements captés. En leur faisant prendre une position de bras proche de celle utilisée pour l’écriture, les élèves ont su passer outre cette difficulté.

IV.2. Coder pour apprendre à raisonner.
En passant du plan horizontal du quadrillage à la tablette, les élèves ont été confronté à la difficulté de décrire les mouvements.

La tablette leur a permis de passer du plan horizontal au plan vertical assez rapidement. Ils ont ainsi pu décrire les mouvements de scratch relativement à sa position de départ [22] en particulier sur les actions « d’avancer » et « de monter ».

IV.3. Coder pour apprendre à se repérer dans l’espace et le représenter
Le passage d’une situation vécue de déplacement sur quadrillage à celle d’un déplacement conçu sur « papier » avant d’aboutir au déplacement sur tablette a amené chaque élève à développer leur capacité d’abstraction.

En effet, chacun d’eux a développé sa compréhension de l’espace en passant d’un repère horizontal à un repère vertical, en situant les objets par rapport à un repère absolu.

Certains ont même proposé un déplacement relatif à leur orientation.

IV.4. Coder pour apprendre à manipuler finement
Le développement du langage en maternelle est un pilier fondamental. L’algorithmique, par le biais de l’application ScratchJR a permis à des élèves peu loquaces d’enregistrer leur voix prenant ainsi de l’assurance.

Par ailleurs, les règles codant les déplacements étant précises cela a permis de donner du sens aux règles de construction d’un langage.

IV.5. Coder pour apprendre à manipuler finement
Le projet initial avec les maternelles est d’amener les élèves à mettre une comptine en « mouvement et voix » sur ScratchJR.
D’autres réalisations en classe de Grande Section [23] ouvrent l’éventail des possibilités de création : contes retranscrits ou créés en collaboration.

Le lien vers la séquence :


[1Ancien élève chercheur en informatique, ancien professeur des écoles et actuellement professeur de mathématiques au collège Bois-de-Nèfles.

[2Professeure des écoles en classe de Très Petite/Petite Section, école maternelle Aurore à Saint-Denis de la Réunion.

[3Professeure des écoles en classe de Moyenne Section, école maternelle les Églantines à Saint-Denis de la Réunion.

[4Professeur des Ecoles titulaire remplaçant.

[5Inspecteur de l’Éducation nationale, circonscription de Saint-Denis 3.

[6Hubert Hess.

[7Voir Algorithmes de Tris.

[8BOEN Spécial n°11 du 26 novembre 2015.

[9Citation de Mitch Resnick (créateur de Scratch au M.I.T.).

[10Liliane Baron, Éditions Magnard.

[11Voir Annexe 1.1 : L’élève-robot.

[12La Classe Maternelle, HS n°9 Juillet 2004.

[13Voir les travaux de Nathalie Daval & Olivia Gravini en CM2.

[14Voir Annexe 1.2 : Pilou et le quadrillage (1).

[15Voir Annexe 1.3 : Lecture de flèches.

[16Voir Annexe 1.4 : Pilou et le quadrillage (2).

[19Voir Annexe 1.5 : L’objet tablette & ScratchJR.

[20BO spéciaux des 26 mars et 26 novembre 2015.

[21Voir Annexe 1.6 : Diriger ScratchJR.

[22Vidéo bientôt en ligne.

[23Marie Debrée-Levrel : https://www.youtube.com/watch?v=p8x...


Commentaires