Ce qu’il faut savoir sur la programmation, l’algorithme et le code à l’école

exemple

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.

Qui est concerné ?

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.

Au CP, la représentation des lieux et le codage des déplacements se situent dans la classe ou dans l’école, puis dans le quartier proche, Dès le CE1, les élèves peuvent coder des déplacements à l’aide d’un logiciel de programmation adapté, ce qui les amènera au CE2 à la compréhension, et la production d’algorithmes simples. Les activités spatiales et géométriques […] constituent des moments privilégiés pour une première initiation à la programmation notamment à travers la programmation de déplacements ou de construction de figures.Documents d'accompagnement des programmes

Quelles activités ?

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

D’autres enjeux

► 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.

Quelle progression ?
123 codez

La fondation La Main à la Pate, qui a pour habitude de proposer des séquences géniales pour les sciences, a lancé son « manuel » autour de la programmation. C’est très fourni et très détaillé, parfois trop. Il propose des séquences d’apprentissages pour tous les cycles même si, selon moi, l’approche « code » est un peu trop mise en avant avec scratch, sans prendre suffisamment de temps sur le codage de déplacement et la construction de figure géométrique. Une référence tout de même.

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

Les outils numériques qui permettent d’enrichir ces déplacements sur quadrillage

► 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.

ipad tapis
 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.

Pour aller plus loin

scratch

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 (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.

12 thoughts on “Ce qu’il faut savoir sur la programmation, l’algorithme et le code à l’école

  1. ciboulette says:

    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 !

  2. 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.

    • lazzarotto says:

      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.

Laissez une petite trace de votre passage...