Nouveauté des programmes 2016, la programmation a l’école est mise à l’honneur un peu de partout, mais à mon avis pas encore dans toutes les classes. Le but de cet article est de synthétiser les enjeux de l’apprentissage du code à l’école, les activités à mener et la progression qu’il est possible d’adopter. Je présenterai également les outils qui me semblent le plus intéressants pour vous permettre de mettre en oeuvre ces compétences. Le but n’étant pas d’être exhaustif mais de permettre la mise en oeuvre des programmes le plus simplement possible tout en proposant des pistes pour les audacieux.
La programmation apparait dans les programmes à partir du CE1, bien que les activités de repérage spatial et de déplacement sur quadrillage initié au C1 et CP sont les meilleures activités préliminaires pour les enjeux de la programmation au C2 et C3.
A l’école primaire, les différentes compétences travaillées se regroupent en 3 activités principales à mettre en oeuvre avec les élèves :
► savoir coder ou décoder pour prévoir ou représenter des déplacements.
► connaître les principes de base des algorithmes simples.
► construire des figures géométriques
► point de vue (déplacement absolu / déplacement relatif)
► langage spécifique
► démarche scientifique d’investigation : Questionnement / Hypothèses / Expérience / Conclusion / Communication.
► Analyse, anticipation, séquençage : aide aux problèmes complexes
► place de l’erreur comme véritable élément de progression.
Les premières activités, que l’on soit en C2 ou C3, sont à mon avis celles qui mettent en oeuvre la programmation de déplacement, puisqu’elle permettra d’amorcer également la notion d’algorithme et de déboucher sur des constructions de figures géométrique, autant dire l’ensemble des activités à mener à l’école.
Pré-requis il est nécessaire que les élèves aient déjà une bonne compréhension des déplacements sur quadrillage.
En effet, la principale difficulté à appréhender dans la progression sur le codage de déplacement sera le passage d’un déplacement absolu (un déplacement vers Haut Bas Droite Gauche, ou chacun peut correspondre à Nord Sud Est Ouest, toujours identifique) à un déplacement relatif (qui ressemblera à Avancer – Reculer – Pivoter à droite – Pivoter à gauche, différent en fonction de la position et de l’orientation du « véhicule » qui se déplace).
1ère étape Travailler avec les élèves en déplacement absolu : sur un quadrillage, imaginer le déplacement d’une balle (qui n’est par définition pas orientée) vers un point défini. L’enjeu ici est de définir ensemble un codage unique au sein de la classe pour définir des déplacements sur quadrillage, qui peut ressembler à cela :
↑ ↓ → ←
2ème étape Utiliser ce que les élèves savent désormais pour passer à un déplacement relatif : cette fois-ci proposer le même type d’activité sur quadrillage mais avec un véhicule orienté (un hélicoptère, un drône…). Ici le déplacement dépendra de l’orientation du véhicule. La même consigne (avancer) pourra le faire aller à droite, à gauche, en bas ou en haut.
Pour s’entrainer sur ce type d’activité et ce changement de déplacement, il faut prendre du temps en fonction de l’âge des élèves, même chez les plus grands.
Il est également possible de faire vivre réellement cette situation de déplacement relatif aux élèves : tracer dans la cour un grand quadrillage, et demander à un élève de jouer le rôle du robot et donc de se faire guider par ses camarades. Si on indiquer une rotation à droite, alors l’élève en question tournera à SA droite, qui n’est pas nécessairement celle de ses camarades.
3ème étape Une fois ces déplacements travaillés (les élèves doivent savoir anticiper un déplacement et décoder le déplacement fait par un camarade par ex), on peut commencer à introduire un premier élément propre à l’algorithme : la boucle.
L’intérêt de la boucle est d’identifier un déplacement qui s’effectue plusieurs fois à l’identique afin d’optimiser la programmation des déplacements. L’exemple ci-dessous propose la représentation d’une boucle que l’on ferait 3 fois.
[ ↑→↑ ] x3
► Un jeu de plateau
J’ai créé un jeu de plateau qui s’inscrit en fil rouge de cette séquence à travers 3 niveaux de jeu (selon l’avancée de la séquence), et ce jeu voit enfin le jour. Il est édité par Canopé et se nomme Planète Code.
J’ai fait un article qui présente ce jeu en détail, c’est ici : présentation de Planète Code
Le jeu est disponible pour 19,90€ dans les ateliers Canopé ou directement sur leur site internet.
► Les applications tablettes / ordinateurs
Pour moi, la meilleure application (fonctionne sur tablettes android et sur ordinateur) pour enrichir cette progression est l’application Tuxbot, développée par l’équipe Tice de la Mayenne. Elle est gratuite et tellement complète et personnalisable qu’elle suivra les élèves pour les 3 première étapes.
Une autre application permet de travailler avec les élèves à partir de l’ étape 2. Son visuel en 3D isométrique forcera les élèves à adopter un déplacement relatif. D’autres actions permettent d’enrichir également la notion d’algorithme. C’est Lightbot Jr, sa version gratuite suffisant largement en classe.
► Les robots
Selon moi, la bluebot est le robot qui est le plus simple à prendre en main, et de loin, tout en ayant suffisamment de possibilités pour couvrir les 3 activités de l’école primaire.
Il n’est pas indispensable pour réaliser les activités présentées précédemment, en revanche cela aidera les élèves à visualiser leur programmation, de répondre à des défis divers et variés. Il se commande avec les touches directement sur son dos, et peut donc être utilisé sans matériel complémentaire et sans ordinateur. En revanche, il permet d’être associé à d’autres outils, très pratique, mais forcément c’est à chaque fois un peu plus cher.
Tablette
Permet de commander la bluebot à distance, de tracer des figures géométrique, de faire des boucles et des rotations à 45° (très pratique pour la plupart des figures géométriques). |
Barre de programmation Permet de donner des instructions à distance à la bluebot, mais surtout de faire des boucles et des rotations à 45°. |
Tapis
La bluebot propose des tapis prêts à l’emploi avec des parcours, ce qui peut être intéressant. Chaque case mesure 15cm de côté, on peut donc facilement en fabriquer un. |
L’incontournable Scratch permet d’aller plus loin dans la notion d’algorithme. Pour ceux qui ne connaîtraient pas encore, c’est un langage de programmation pour s’initier au code créé par le MIT. Ce n’est selon moi pas quelque chose d’indispensable à utiliser, surtout si l’on s’en tient aux programmes (plutôt intéressant au cycle 4).
En revanche, c’est un superbe outil quand même, et gratuit, qui permet de faire des projets plus ambitieux une fois que les étapes décrites ci-avant ont été conduites.
Si vous souhaitez utiliser scratch, il peut alors être très intéressant de faire la transition entre les activités précédentes et scratch en utilisant Scratch Junior qui permet de gérer des déplacements avec un code très simple, mais également d’utiliser des évènements pour aller plus loin dans l’algorithme, ce que l’on retrouvera majoritairement ensuite dans Scratch. Seul inconvénient, Scratch Jr n’existe que sur tablette.
Enfin, de nombreux autres outils existent (jeu de plateau, applis, robots) et j’ai eu l’occasion de tester la plupart. Donc, ceci n’est que mon choix, mais un choix en connaissance de cause tout de même.
Wow ! Merci beaucoup pour toutes ces informations. Moi je n’ai pas encore du tout commencé à travailler cette partie du programme car je n’avais aucune idée sur comment m’y prendre. Là, j’y vois un peu plus clair. merci beaucoup !
Tant mieux si c’est un peu éclairant. S’il y a des questions, ne pas hésiter.
Merci pour cet article, Orphys!
D’autres possibles en programmation #robotevian
Merci pour cet article très riche !
Bonjour Orphys!
Merci pour cet article. Je suis contente en vous lisant de voir que je ne suis pas trop à côté de la plaque sur ce que nous avons entamé en classe.
Je n’aurai pas la chance de pouvoir vous rencontrer cet après midi au forum d’Annecy car je suis déjà en animation pédagogique, je me permets donc de vous indiquer un autre support gratuit que nous utilisons et qui marche bien (simplement au cas où vous ne le connaitriez pas).
Il s’agit de GleamCode. L’application n’est pas pour l’usage des déplacements mais travaille le codage de coordonnées de case (en fait des pixels) pour réaliser des figures géométriques (ou autres). Le visuel du langage est le même que scratch (mais avec moins de blocs) et est une bonne introduction pour les boucles algorithmiques. Le but est d’allumer/d’éteindre des pixels: d’abord avec un visuel sur l’écran de l’ordinateur mais il existe des boitiers pour transférer le code programmé et allumer (en vrai :D) des Led.
Ça plaît beaucoup dans ma classe de CM et mes collègues du CE1 commencent à s’y intéresser.
Le mail du Canopé74 parlait d’un jeu de plateau autour de la programmation/robotique (dont vous êtes l’auteur) et qui est en test cet après-midi, puis-je vous demander de quoi il s’agit?
Avec tous mes remerciements pour toutes les ressources que vous partagez sur votre site.
Kyra
Merci du message. Je ne connais pas gleamcode , je vais aller jeter un œil.
Pour le jeu de plateau je ne peux pas en dire bcp plus pour l’instant, mais vous aurez des nouvelles ici des que ce sera possible.
Merci beaucoup de votre réponse. Et pour GleamCode, heureuse d’avoir pu apporter ma petite pierre. Le pixel art « papier » était déjà un truc que mes élèves adoraient mais le côté numérique apporte une autre dimension qui est vraiment intéressante.
A bientôt.
Bonjour,
Je représente la circo d’Evian qui travaille sous le #robotevian ou #PLAIRE et nous avons mis en place une formation d’enseignants à la programmation. Le jeu de plateau dont parle le Canope pourrait correspondre à la machine à trier en programmation débranchée. Sur la chaine youtube dédiée au projet vous pourrez en avoir un aperçu : https://www.youtube.com/channel/UCYcv8ReshoeJiR9nDzI-RuA
En espérant que cela va vous PLAIRE
Bonne journée
Bonjour,
Le jeu de plateau que j’ai créé et qui est en expérimentation à canope ne ressemble pas au cubetto vu dans la présentation, si ce n’est qu’il se base sur la programmation de déplacement et des bases de l’algorithme.
Super article ! Merci beaucoup !
Merci du message. Ravi s’il peut éclairer un peu ce nouveau champ de compétences.
Merci pour ce résumé. Connaissez vous Ozobot ?
Fred
Oui oui, je connais. Celui-ci me semblent très intéressant, notamment par son prix et l’originalité de son fonctionnement.
Pour moi il n’est pas un des premiers robots à utiliser en classe pour répondre aux programmes, ce que j’ai essayé de décrire ici. En revanche, pour des élèves qui auraient déjà travaillé sur les déplacements et les bases de l’algorithme, celui-ci est un prolongement bien différent tout en réinvestissant les compétences déjà acquises.
merci beaucoup pour cet éclairage. Vos fiches sont très intéressantes.
Pour info, certaines circonscriptions ont acheté des robots type thimio qu’elles prêtent aux enseignants qui les demandent.
Merci beaucoup pour tes éclairages sur le sujet, j’avoue que ce n’était pas ma priorité en début d’année, mais maintenant, je vais pouvoir m’y pencher.
Merci beaucoup pour ce partage, ces fiches me seront très utiles.
Merci beaucoup, ces fiches vont m’aider à démarrer le codage dans ma classe de CM1 !
Merci beaucoup pour ce partage c’est un document très complet qui m’aidera à démarrer mes activités de codage!
Ces fiches me semblent très intéressantes pour la programmation . je testerai en fin d’année avec mes CM1. Merci pour le partage .
Merci beaucoup… je me lance dans un projet programmation / robotique pour la rentrée 2018-2019 avec des CE1-CE2. Et ce partage m’a apporté plein d’éclairages. Encore merci
Génial!!!!! c’est tellement plus simple quand on est accompagné!
Un grand merci, mes petits bouts vont bien accrocher, c’est certain!
C’est un super travail. Merci beaucoup … Je ne vois pas où sont les fiches de déplacements modifiables, les ai-je loupées ?
Merci pour le partage de toutes ces idées branchées et débranchées. Je recommande le 1 2 3 Codez , tous cycles. La progression est tb faite.