Ressource
  Initiation aux algorithmes . Activité débranchée . Jeu . . . .

Jouer à «robot-idiot» pour s’initier aux algorithmes

Qu’est ce qu’un algorithme ? Et pourquoi ne pas répondre à cette question en jouant ?

Jeu: « robot-idiot »

Acteurs:  Adulte et enfants

Résumé: Le « robot-idiot » doit sortir d’un petit labyrinthe que l’on aura construit dans le séjour en déplaçant quelques tables ou chaises, ou en dessinant à la craie sur le sol de la cour. On se met dans la « peau » d’un robot pour voir ce qu’il peut ou pas faire.

 

 

 

 

 

La fiche d’activité : disponible ici. L’activité dans sa première partie est adaptée au plus petit (dès le début du primaire), de même que la version proposée en vidéo, la seconde partie « La rupture et si on connaissait pas la sortie ?!? » est prévue pour aller plus loin quand l’enfant est en cycle 3 (à partir du cours moyen).

Références: un document complet pour le parent ou l’animateur, une vidéo récréative sur le sujet et un tutoriel vidéo « Comprendre l’informatique en jouant à faire le robot » par Marie Duflot.

Objectif: Initier les enfants à la notion d’algorithme en les faisant agir et en se dirigeant selon un « programme » préparé au préalable. Donner un sens à la notion « d’algorithme » à travers un savoir-faire concret. Mais aussi proposer un savoir-être pertinent par rapport à l’intelligence mécanique (la machine calcule très vite et de manière exacte … mais est bête comme nos pieds !).

Notions scientifiques: algorithme, variable, bug

 

 

 

 

 

Initiation au jeu:

Préparer la pièce, au préalable faire un parcours simple sans trop d’obstacle puis selon la compréhension des enfants, élever le niveau.

Celui qui incarne le rôle du robot n’a pas le droit de comprendre le langage humain, mais juste un langage très limité pour effectuer une action décomposée en étapes élémentaires.

Actions :

L’enfant qui imitera le robot ne pourra que : JPEG - 717.7 ko

  • avancer d’un pas
  • tourner à gauche d’un quart de tour
  • tourner à droite d’un quart de tour
Comment sortir d’un labyrinthe ?

 

 

 

On fabriquera des petites cartes à jouer en découpant un vieux carton en petits carrés avec les mots « avancer », « gauche », « droite ».  Et on lui donnera une séquence de ces cartes qui sera son « algorithme ». 
Il devra exécuter cet algorithme sans « réfléchir » (gare au mur – et à la rigolade – s’il y a un bug !). Ensuite on aura sûrement envie de ne pas répéter « avance d’un pas, avance d’un pas, avance d’un pas » mais « avance de trois pas ». Donc l’instruction aura une valeur variable qui permettra d’avancer plus efficacement. Avec un crayon à papier et une gomme, on pourra mémoriser la valeur et l’effacer ensuite.

Le jeu pourra se compliquer s’il y a une porte (concrétisée par un objet quelconque) qui peut-être fermée ou ouverte, sans qu’on le sache à l’avance. Il faudra alors introduire une condition dans notre algorithme : « si la porte est fermée alors [fais le tour] »… mais bien entendu il faudra expliquer en détail ce que veut dire « fais le tour » ! Pour le robot, il y aura alors deux paquets de cartes à choisir selon la condition.

JPEG - 8.8 ko

 

 

 

 

Ce qui arrivera en cas de bug !

 

Aller plus loin: tester deux langages différents.

Un langage formel se distingue d’une langue naturelle par sa spécialisation, son caractère artificiel, le caractère limité de son lexique et la simplicité des règles qui régissent sa grammaire. Un exemple simple est le langage formé de quatre mots : « nord », « sud », « est » et « ouest » et d’une construction, la séquence, qui permet de former des suites de tels mots. Ce langage permet d’indiquer un chemin à suivre sur une grille carrée.

Par exemple l’expression « nord, nord, nord, est, est, est, sud, sud, sud, ouest, ouest, ouest » indique, par exemple, de se déplacer de trois carreaux vers le nord, puis de trois carreaux vers l’est, puis de trois carreaux vers le sud et enfin de trois carreaux vers l’ouest, dessinant ainsi un carré sur le sol.
Ce même mouvement peut être exprimé dans le langage : « avancer, avancer, avancer, tourner-à-droite, avancer, avancer, avancer, tourner-à-droite, avancer, avancer, avancer, tourner-à-droite, avancer, avancer, avancer, tourner-à-droite » qui ne comprend que trois mots : « avancer », « tourner-à-droite » et « tourner à gauche », composés par une opération de séquence.

On pourra alors étudier ces deux langages et les comparer.
– Apprendre à traduire un itinéraire d’un langage dans un autre.
– Étudier les avantages et inconvénients de chaque langage. On peut, par exemple, introduire une petite erreur exprès dans la séquence d’instructions, comme un « tourner à droite d’un quart de tour » à la place d’un « tout droit ». Avec le langage « boussole » on voit que l’erreur aura pour conséquence un décalage dans le déplacement et que la boussole nous remettra dans le bon sens rapidement (sans pour autant réparer l’erreur). Avec le langage « avance/tourne » on voit que cette erreur va nous conduire vraiment très loin (toute une partie du chemin va tourner et nous conduire très loin de l’objectif sur la grille). Mais attention : gardons à l’esprit que dans les deux cas, il s’agit bien d’un bug… loin ou pas, on ne va pas atteindre l’objectif  ! Si il s’agit de sortir du labyrinthe mais que juste à côté de la porte il y a un piège… alors on ne veut vraiment pas se tromper. Même pas un tout petit peu !
– Rechercher des propriétés: par exemple une expression formée dans le premier des langages présentés ci-avant dans le second –, la mise en évidence de la redondance d’un langage – par exemple, « tourner-à-gauche » pourrait être remplacé par une séquence de trois « tourner-à-droite ».

Dernière modification : avril 2020.
show post QRcode

Vous pourriez aussi être intéressé-e-s par :
…/…