TAP à l'école Léon Lambert (Coutiches)
Contexte
Expérience d'initiation au code dans le cadre du temps d'activités périscolaires (TAP) de l'école l'école Léon Lambert de Coutiches.
L'expérience se déroule sur les 5 à 7 semaines suivant les périodes. Les séances sont de 1h30.
Vous trouverez sur cette page des traces de cette activité (en cours au moment de l'écriture de ces lignes).
Découpage
Dans cette école, les enfants sont inscrits par période scolaire et sont répartis sur l'ensemble des activités prévues (on ne choisi pas son activité).
- Période 1 : septembre - novembre 2015.
- Période 2 : novembre - décembre 2015 (7 séances, mon premier essai)
- Période 3 : janvier - février 2016 (5 séances)
- Période 4 : février - mars 2016 (5 séances)
- Période 5a : avril - mai 2016 (5 séances)
- Période 5b : mai - juin (6 séances)
Période 1
Durant cette période, l'informatique est juste un moment où les enfants vont jouer sur un site de petits jeux pour enfants. Ce site ( ici pour vous faire une idée) n'a qu'un seul but : faire du profit sur leurs dos sans leurs apporter de réelles contreparties (les enfants sont clairement secondaires). C'est une des raisons qui m'a décidé à proposer mes services pour les périodes suivantes.
Période 2
Le public est un groupe de 12 élèves, 6 de CM1 et 6 de CM2.
Contenu prévu
- Séance 1 : Présentation et préparation
- Présentation de ce que peut être l'Informatique,
- montrer l'intérieur d'un ordinateur,
- présentation d'un jeu de plateau pour amener à la notion de programme par l'exemple (sans ordi),
- fabrication du jeu de plateau préparation d'un jeu à la notion d'algo via la fabrication d'un jeu de plateau.
Mes notes de préparation (ambitieuses)
- Séance 2 : Utilisation du matériel de jeu
- Séances suivantes : passage sur lightbot, puis sur code.org (cours 2, 3 ou 4 en fonction du niveau des enfants) ou Blocky games, puis (suivant temps restant) jeu simple sur Scratch.
Séance 1
Les enfants ayant eu l'habitude d'aller sur un site de jeux lors de leur précédente expérience d'Informatique, le premier réflexe a été de se jeter sur les ordinateurs. Il y a donc eu une petite déception quand ils ont appris qu'ils ne toucheraient pas un ordi avant une ou deux séances. La curiosité de voir l'intérieur d'un PC ouvert devant eux (démontage mémoire, lecteur, disque, processeur, …) et de toucher des composants directement sortis du boitier fait oublier la déception du démarrage.
Ce démontage avec discussion sur ce que sont les différents composants et sur leurs utilités semble une bonne approche de départ.
La seconde partie fut de présenter un plateau de jeu qu'ils auraient à fabriquer ensuite en vue de montrer comment résoudre des problèmes simples par succession d'actions. Nous avons déterminé 3 ensembles de règles de déplacement, visualisés par des cartes de jeu au lieu des 4 prévus (cf contenu prévisionnel de la première séance).
La partie fabrication est reportée à la seconde séance.
Comme prévu, 1h30 de TAP ne permet pas de faire plus de 1h d'atelier. On peut espérer passer à 1h10 d'atelier sur la prochaine séance, mais le but n'est pas de faire le plus possible.
Ce fut une bonne expérience pleine de découvertes pour l'enseignant et pour les enfants. Des difficultés de démarrage plus liées à des problèmes d'organisation extérieure (premier jour de TAP de la période, nouveaux groupes inconnus des enfants, conduisant à une recherche des membres des groupes assez chaotique, auquel on peut ajouter l'inexpérience du responsable (moi !)).
Séance 2
Prévisionnel de séance
Préparation plateau de jeu, rappel des règles, Jeu.
Voici en exemple mon plateau de jeu avec les cartes de jeu à découper.
Retour de séance
- Découpage des cartes de jeu : Pour gagner du temps, j'avais décidé de ne pas leur faire dessiner le plateau de jeu (version imprimé en A3 et plastifié pour simplifier les manipulations). Mais en fait, il faudrait aussi que le jeu complet soit prêt : trop de perte de temps avec les bavards qui n'avancent pas dans leur découpage.
- Mise en groupe de trois : Même cela peut prendre du temps, surtout lorsque l'on veut séparer les bavards (!).
- Rappel règles : Rappel de la signification des différentes cartes pour la séance (flèche droite / courbes, stop, drapeau départ / arrivée / intermédiaires). Exemple au tableau.
Même si déjà fait à la séance précédente, l'exemple doit être complet pour éviter les incompréhensions en phase de jeu.
- Jeu : Au vu des lenteurs du jour (bavardages, manque d'explications claires amont m'obligeant à me reprendre en cours de jeu au cas par cas), l'utilisation du jeu sera pour la séance 3.
Séance 3
Jeu
Un exemple complet est déroulé au tableau de façon à bien replacer le contexte et expliquer qui fera quoi à l'étape suivante. Formation de 4 équipes de 3, répartition d'un plateau de jeu et des enveloppes contenant leurs cartes de jeu. Choix des rôles au sein des équipes (créateur parcours, programmeur, testeur).
Je décide de ne prendre que 2 des quatre langages prévus au départ (voir introduction). Chaque
élève devant passer sur tous les postes, il est prévu une rotation des rôles sur chaque équipe.
- Création parcours : Un peu de pagaille tous on pu créer leur chemin (souvent trop long en nombre de cases à parcourir faisant déborder largement la pile d'exécution hors de son cadre réservé).
- Programme : plus de difficulté de compréhension, juste des difficultés des sens de rotation pour certains (parfait pour le débogage :) )
- Test : souvent fait à 2 (avec le programmeur)
Retour de séance
Temps mort difficile à gérer : Les enfants s'ennuient dès qu'il a fini son étape. Il faudrait organiser cela autrement pour éviter les temps mort trop long pour les équipiers inactifs. Comment faire ? Être 2 adultes pour gérer correctement 12 élèves de cet age ne serait pas un luxe.
Nous sommes en temps périscolaire, il n'y a pas (ici) d'enseignant sur ce temps. Il serait aussi intéressant de travailler avec eux de manière à préparer plus efficacement le déroulé des séances en amont.
Pas de comparaison entre les langages car les groupes ne sont pas assez synchro pour cela (et pas le temps de les faire changer de langage au sein d'un groupe).
Les choses commencent à se mettre en place correctement (enfin !) et ils ont pu réaliser et programmer des trajets. On avance :)
Séance 4
Sur cette séance, je souhaitais aller un peu plus loin dans le processus algorithmique en leur faisant utiliser la notion de sous-programme.
Déroulé de la séance
- Annonce du travail à faire : Nous allons aborder une nouvelle notion avec le plateau de jeu, puis nous pourront aller sur ordinateur.
- Cette fois, ils vont tous programmer (donc tous en même temps) le déplacement du pion afin de suivre un parcours que je leurs donne et qu'ils devront reproduire sur leur plateau de jeu.
- J'indique le langage à utiliser (rotation droite/gauche et déplacement case par case).
Parcours 1
- Je donne le parcours : un simple carré de 4 cases de coté, et un pion dans le coin supérieur gauche et regardant vers la droite.
- J'annonce également que le but sera d'utiliser le moins de cartes possibles (petit challenge pour les motiver un peu). Je donne un indice : il faudra utiliser le bloc nommé fonction A sur le plateau de jeu (sans expliquer à quoi cela peut servir, le but est de les laisser deviner comment utiliser ce bloc) et je leur montre qu'ils ont des cartes nommées A qui doivent bien servir à quelque chose.
Lorsque presque tout le monde a trouvé une solution nous corrigeons ensemble en commençant par leur faire remarquer qu'il y a des groupes d'actions qui se répètent. Cela déclenche la compréhension de l'utilisation de la carte A et du bloc fonction A. La solution attendu (et trouvé par un ou deux élèves) est :
- Prog principal :
AAAA
- Fonction A :
avancer 4 fois, tourner à droite
La solution la plus courte (trouvé par un élève), sans condition d'arrêt :
- Prog principal :
A
- Fonction A :
avancer 4 fois, tourner à droite, A
Parcours 2
- Nouveau parcours : Je rajoute des branches à chaque coin, histoire d'avoir des changements de direction dans les deux sens.
- Je leur demande d'utiliser les deux bloc Fonction A et Fonction B pour éviter d'avoir des blocs trop long.
Ce second parcours rend les choses plus difficiles et montre la nécessité de bien placer ses appels aux fonctions et de bien exécuter son code pour vérifier (la moitié au moins ne l'exécute que quand je suis avec eux pour corriger leur proposition).
La programmation de ces deux parcours a pris presque 1 h. À part un, les élèves s'étaient visiblement pris au jeu. Ils voulaient comprendre et ont fini par comprendre l'utilisation d'un sous-programme appelé ensuite par son nom.
Passage sur machine
Pour finir sur une note positive, ils ont pu aller sur machine. À part quelques problèmes liés :
- à l’excitation d'aller sur machine,
- au proxy dont les paramètres ont changé depuis la mise en place du module il y a 1 moi (proxy privatif visiblement imposé par le rectorat ou l'académie)
- à la mauvaise gestion de la salle (tous les adultes sont administrateurs des machines mais tous ne savent pas ce qu'ils font dessus), modifiant ainsi sans même le savoir les comptes élèves spécifiques au temps périscolaires.
Les élèves ont tout de même pu se divertir avec studio.code.org, cours n°2, ce qui les prépare à l'utilisation d'une interface type scratch.
Séance 5
Séance réservée à l'utilisation de lightbot.com dont les premiers niveaux correspondent à ce que nous avons vu sur notre plateau de jeu papier. Dans la version web gratuite, il y a 3 niveaux de jeu : (1) itératif simple, (2) utilisation de une ou deux procédures puis (3) récurrence. le système de déplacement est similaire à l'un des langage utilisé lors nos de précédente séance. La compréhension en a été simplifiée.
Bon retour des élèves sur cette séance. Les difficultés sur cette séance :
- Soucis (rares) concernant les rotations droite et gauche,
- Détection des séquences répétitives pour l'utilisation des procédures qui semblait comprise en théorie la semaine dernière, mais pas si simple à appréhender sur d'autres exemples aujourd'hui.
- Des difficultés pour certains élèves pour ne tester qu'un bout de code : Ils veulent écrire le code complet avant de tester, ce qui les empêche de corriger facilement.
- Même si les élèves bloquent globalement sur les mêmes choses, ils n'y arrivent pas tous en même temps (et de loin !), une aide collective via un retour au tableau blanc (et une demande d'écoute collective :) ) n'est donc pas envisageable. 2 personnes pour 12 élèves ne serait pas de trop.
- Le fait d'être seul avec 12 élèves ne permet pas un suivi correcte de chacun. Ils sont très demandeur d'aide et il est impossible de rester longtemps avec chacun d'eux.
Séance 6
Les plus rapides sont mis sur studio.code.org, cours n°3. Les autres continuent sur lightbot.com :
Finalement, la notion de bloc réutilisable semble assez complexe pour eux via ce jeu.
Séance 7
Dernière séance, parsemé de problème de connexion difficile pour des enfants sans patience et ne comprenant pas ce qui se passe (ce qui ne se passe pas en l'occurrence!)
Après les avoir tous lancés sur studio.code.org, je leur laisse le choix de tester des cours orienté jeux (flappy bird, mincraft et star wars ont du succès )
On termine par une synthèse mêlée de quelques questions sur ce que nous avons fait ensemble depuis 7 semaines (me permettant d'avoir un retour sur ce qui a été retenu) et par la délivrance d'un diplôme “heure de code” plastifié à leur nom, et signé par M. Le Maire.
Période 3
Le public est un groupe de 14 élèves, 6 de CM1 et 8 de CM2.
Période 4
Le public est un groupe de 12 élèves, 6 de CM1 et 6 de CM2.
Période 5a
La période scolaire faisant 11,5 semaines, la mairie a décidée de découper cette période en 2 parties.
Le public est un groupe de 16 élèves, 7 de CE1 et 9 de CE2.
Beaucoup trop, surtout lorsque seules 6 machines seulement sont utilisables.
séances 1 et 2
Nouveauté dans le déroulement des séances : mise en place sur les 2 premières séances d'un quadrillage grandeur nature avec des plaque de bois comme cartes d'actions. Au dernier moment, une atsem m'a été mise avec moi en renfort pour quelques séances (je n'aurais pas fait le jeux en grandeur nature sans cela). Je n'ai donc pas pu la former avant nos séances, elle avait pourtant de fortes appréhension pour l'informatique.
* Séance 1 : mise en place en 2 groupes de 8 enfants. Présentation du jeux et de son fonctionnement. Un enfant fait office de robot, un autre écrit le programme, les autres vérifient. On termine sur la notion de bloque à écrire et à utiliser.
Ils sont trop nombreux et le courant d'air et trop présent pour une bonne efficacité, mais les enfants comprennent bien le fonctionnement de base.
* Séance 2 : On repars sur la notion de bloque et on fait passer, autant que possible, tout le monde à chaque poste (robot, programmeur). Nous mettons le programmeur dos à la grille, car ils ont tendance à dire au robot des actions qui sont les bonnes même quand elles ne sont pas écrite dans la zone de programmation. Les retourner permet d'éviter ce soucis lors de l'étape de vérification du code.
séance 3 et 4
Ces séances se sont déroulées sur lightbot, assez facilement au début puisque ce n'était que la transposition de ce qui avait été fait en grandeur nature précédemment.
Malgré tout le nombre d'enfant et le nombre restreint de machines utilisables, l'age des enfants m'a permis de les mettre par groupe de 3 avec réussite. L'émulation à 3 sur le même pc à permis de les faire réfléchir ensemble pour surmonter les difficultés. En comparaison, les CM1/CM2 des groupes précédents, qui étaient seule ou parfois à 2 par machine, n'ont pas eu cette facilité de s'entre aider.
Le fait de ne pas être sur le même écran semble limiter l'efficacité du processus d'entre-aide.