Dans cette première partie, nous allons apprendre à programmer sans ordinateur…
Cette leçon débranchée rassemble la classe en équipes avec une tâche simple à accomplir : obtenir un «robot» pour empiler les gobelets suivant un modèle spécifique. Cette activité jette les bases de la programmation et permet d’apprendre l’importance de définir un algorithme clairement communiqué.
- Objectif : apprendre à programmer
- Cible : élèves de cycle 3
- Durée : 30 min
- Matériel : cartes design ; gobelets ; papier ; stylos
- Modalité de travail : par groupe de 4 élèves
- Leçon complète : https://curriculum.code.org/csf-20/coursec/3/ (Créative Commons Licence)
En utilisant un ensemble de symboles à la place du code, les élèves concevront des algorithmes pour demander à un «robot» d’empiler des gobelets selon différents modèles. Les élèves participeront à tour de rôle en tant que robot, répondant uniquement à l’algorithme défini par leurs pairs. Cette activité fait découvrir aux élèves la connexion entre les symboles et les actions, la différence entre un algorithme et un programme, et la précieuse compétence du débogage.
Echauffement (warmup)
Choisir parmi les 3 petites vidéos pour trouver avec les élèves toutes les différents types de choses que les robots peuvent faire.
- Asimo, le robot Honda : https://youtu.be/QdQL11uWWcI
- Robot qui permet de dessiner sur des oeufs : https://youtu.be/slh5vMIc33I
- Robot Lego Mindstorms qui danse : https://youtu.be/NPIq5qldbio
Suivant la vidéo choisie, on demande aux élèves comment ils pensent que le robot savait quoi faire. Un robot « comprend-il » vraiment ce qu’on dit ? Craint-il d’avoir des ennuis s’il ne fait pas ce qu’on lui dit ?
Le but de cette discussion rapide est de souligner que si les robots peuvent sembler se comporter comme des personnes, ils ne répondent en réalité qu’à leur programmation. Les élèves feront probablement référence aux robots des films qui se comportent davantage comme des humains. Il faut les pousser à penser aux robots qu’ils ont vus ou dont ils ont entendu parler dans la vraie vie, comme les assistants numériques comme Amazon Alexa, Google Assistant ou Microsoft Cortana.
Activité
Lancer l’activité par « les robots ne peuvent faire que ce qu’on leur a dit de faire, mais nous ne leur parlons pas simplement en utilisant des mots. Pour faire quelque chose, un robot a besoin d’une liste d’étapes qu’il peut lire. Aujourd’hui, nous allons apprendre ce qu’il faut pour y parvenir. »
- Up signifie que la tasse monte automatiquement aussi haut que nécessaire
- Down signifie qu’il descend automatiquement jusqu’à ce qu’il atterrisse sur quelque chose
- La main revient automatiquement à la pile de tasses après avoir posé une tasse
- Vers l’avant signifie que le robot avance d’un pas (1/2 tasse)
- Vers l’arrière signifie que le robot se déplace d’un pas (1/2 tasse de largeur) vers l’arrière
Affichage des règles de base :
- L’élève qui incarne le robot ne doit suivre que les indications écrites par les programmeurs
- Les programmeurs ne sont pas autorisés à parler lorsque le robot fonctionne
- Les programmeurs doivent lever la main s’ils voient un bug
Premier modèle :
Un simple modèle à trois tasses est un excellent point de départ.
Demander à la classe quelle devrait être la première instruction, en utilisant uniquement les quatre instructions autorisées . Le premier geste devrait être de «ramasser la tasse». Si les élèves suggèrent autre chose dans la liste, il faut effectuer cette action et leur permettre de voir leur erreur. S’ils suggèrent quelque chose qui ne figure pas dans la liste, faire une réaction de dysfonctionnement claire et expliquer que la commande n’est pas comprise.
La tasse à la main, demander à la classe de continuer à vous donner des instructions jusqu’à ce que la première tasse soit placée. C’est un excellent moment pour clarifier que « pas en avant » et « pas en arrière » impliquent chacun de déplacer une demi-largeur de tasse. Voir l’image ci-dessous pour référence.
Continuer à demander des instructions à la classe jusqu’à ce que toute la construction soit terminée.
Une fois la pile terminée, faire remarquer qu’ils viennent de donner une liste d’étapes pour terminer une tâche. C’est un algorithme. Les algorithmes sont parfaits pour partager des idées, mais les épeler mot par mot peut prendre beaucoup de temps. C’est à cela que servent les symboles! Lorsque vous changez un algorithme en symboles qu’un robot (ou un ordinateur) comprend, cela s’appelle la programmation.
Demander à la classe de vous aider à écrire le « programme » pour ce premier mouvement en changeant le texte en flèche. Travailler ensuite avec eux pour noter le reste des mouvements nécessaires pour terminer le modèle. En fonction de la confiance des élèves, on peut basculer fréquemment entre le rôle du « robot » et l’écriture du code, ou les pousser à écrire l’ensemble du programme avant de l’implémenter. Une solution possible ressemble à ceci :
Une fois que la classe a terminé le programme modèle, demander à un élève de se présenter et d’agir comme le « robot » pour s’assurer que le programme fonctionne vraiment. On peut les encourager à dire les instructions à voix haute pendant qu’ils « exécutent » le code.
Programmation des robots
Placer les élèves par groupe de 4. Chaque groupe doit ensuite se diviser en deux paires – chaque binôme développera son propre programme qui sera « dirigé » par l’autre paire.
Donner à chaque groupe une pile de tasses ainsi que les fiches modèle.
Demander à chaque binôme (et non au groupe) de choisir quel modèle ils aimeraient que leurs robots fassent. Essayer de pousser pour une idée plus simple pour la première fois, puis leur demander de choisir un modèle plus complexe plus tard. Encourager les binômes à garder leur choix secret de l’autre moitié de leur groupe.
Vocabulaire
- Algorithme : liste d’étapes pour terminer une tâche
- Bug : partie d’un programme qui ne fonctionne pas correctement
- Débogage : recherche de bug et résolution de problèmes dans un algorithme ou un programme
- Programme : algorithme qui a été codé dans quelque chose qui peut être exécuté par une machine
Synthèse
Quand tout le monde a pu être le robot, rassembler la classe pour discuter de son expérience. En particulier :
- Quelle a été la partie la plus difficile de l’élaboration des instructions ?
- Quelqu’un a-t-il trouvé un bug dans les instructions une fois que le robot a commencé à les suivre ?
- Quel était le bug ?
- Pourquoi pensez-vous que vous ne l’avez pas remarqué lors de l’écriture du programme ?
- Quand vous étiez le robot, quelle a été la partie la plus difficile de suivre les instructions qui vous ont été données ?
Demander ensuite aux élèves d’écrire sur ce qu’ils ont appris, pourquoi c’est utile et ce qu’ils en pensent.