6. La fiche professeur

Ce chapitre propose un déroulement de séance détaillé et minuté, qui suit pas à pas l’utilisation de la fiche élève.

Voici une version à télécharger :

Séance 1

Introduction de la séance

  • Durée : 5’
  • Dispositif : Oral collectif

Demander à la classe : Quelqu’un a-t-il déjà entendu parler de robotique ? Quelqu’un a-t-il déjà vu ou touché un robot ? Un robot entend-il vraiment quand nous parlons ? Comprend-il vraiment ce que disons ? La réponse à la dernière question est : « Pas de la même manière qu’une personne. »

Présentation

  • Durée : 15’
  • Dispositif : Oral collectif
  • Matériel :
    • Carte-résumé
    • Gobelets
    • Carte représentant la taille d’un pas

Présenter une copie de la carte-résumé des symboles (ou l’écrire au tableau). Poussez-vous et dites à la classe que ce sont les seuls 6 symboles qu’ils vont pouvoir utiliser pour cet exercice.

Les flèches latérales permettent respectivement d’avancer ou de reculer d’une unité. Attention, une unité est en fait un demi-gobelet si l’on veut pouvoir faire des pyramides ! La flèche vers le bas permet de poser le gobelet à l’endroit où est suspendue notre main. La flèche vers le haut permet de soulever un gobelet. (Il n’est pas nécessaire de mettre une flèche vers le haut après chaque flèche vers le bas) Enfin, les flèches circulaires servent à tourner la main du robot d’un demi-tour, à droite ou à gauche selon le sens de la flèche, dans le but de poser des gobelets retournés.

Pour cette tâche, ils vont donner des instructions à leur robot afin de construire un empilement de gobelets, en utilisant uniquement ces flèches.

Il peut être utile de traiter un exemple en classe. Il y a dans le paquet de carte une situation qui inclut seulement trois gobelets. Montrez la carte à la classe et guidez-les vers la résolution de cet exercice. Placez votre pile de gobelets sur le bureau, de telle manière que tout le monde puisse la voir. Demandez à la classe de vous donner la première instruction. La bonne réponse est « Prendre un gobelet ». Quand vous prenez un gobelet, remarquez qu’il doit automatiquement monter au-dessus du gobelet le plus haut actuellement dans la pile.

Avec votre main encore en l’air, demandez le mouvement suivant. Il se peut que vous ayez à rappeler à la classe une ou deux fois qu’un pas en avant ou en arrière représente seulement la moitié de la largeur du gobelet.

Une fois que vous avez placé un premier gobelet, passer au tableau et proposer à la classe de vous aider à écrire les symboles, de telle manière que vous puissiez « lancer le programme » plus tard. Une solution possible ressemblerait à cela :

Finalisation

Une fois le programme écrit, vous pouvez appeler un volontaire pour « exécuter le programme ». Prononcez à voix haute les flèches pendant que vous déplacez les gobelets à leur place.

Par exemple, le programme ci-dessus serait énoncé : « Prendre un gobelet » ; « Un pas en avant » ; « Un pas en avant » ; « Poser le gobelet » ; « Un pas en arrière » ; « Un pas en arrière ». « Prendre un gobelet » ; « Un pas en avant » ; « Un pas en avant » ; « Un pas en avant » ; « Un pas en avant » ; « Poser le gobelet » ; « Un pas en arrière » ; « Un pas en arrière » ; « Un pas en arrière » ; « Un pas en arrière ». « Prendre un gobelet » ; « Un pas en avant » ; « Un pas en avant » ; « Un pas en avant » ; « Poser le gobelet » ; « Un pas en arrière » ; « Un pas en arrière » ; « Un pas en arrière ».

Mise en exercice

  • Durée : 30’
  • Dispositif : Groupes de 3 ou 4 élèves
  • Matériel :
    • Gobelets
    • etc ? Limiter les groupes à 4 étudiants, trois étant l’idéal. Le but est d’avoir assez de programmeurs dans chaque groupe pour que personne ne soit entièrement perdu.

Pour le collège : Les élèves terminent généralement rapidement l’ensemble des activités, ce qui permet de passer aux fonctions.

  • Choisissez un « Robot » dans chaque groupe, qui se met à l’écart dans la « bibliothèque des robots ». Ce doit être un lieu assez loin des groupes, pour que les robots ne puissent pas trouver quelle carte du paquet les programmeurs sont en train de coder. Les robots peuvent passer leur temps dans la bibliothèque à s’entraîner à déplacer les gobelets ou demander des clarifications sur les règles.
  • Chaque groupe de programmeurs doit utiliser une seule carte à la fois. Ils peuvent maintenant essayer de dégager des éléments importants de leur travail : Combien de gobelets sont nécessaires ? Combien de pas sont nécessaires pour le premier gobelet ? Le deuxième ? Y a-t-il des gobelets à l’envers ? Comment faire pour que le robot retourne un gobelet ?
  • Une fois ces problèmes résolus, les programmeurs utilisent les symboles pour écrire leur code sur une feuille blanche. Les programmeurs doivent relire leur code pour vérifier qu’il est correct avant de faire sortir leur robot de la bibliothèque.
  • Maintenant que le robot est de retour dans le groupe, tout le monde doit être silencieux. Les programmeurs ne doivent pas donner d’indications, verbales ou gestuelles, qui influencerait le comportement du robot. Le robot ne doit faire que ce que les symboles lui ordonnent de faire. Si le groupe remarque un problème, ils sont autorisés à arrêter l’exécution du programme, renvoyer le robot à la bibliothèque, et corriger l’erreur avant de faire revenir le robot pour terminer le défi.
  • Chaque fois qu’un groupe résout un défi, ses membres choisissent un nouveau robot pour aller à la bibliothèque, et le groupe choisit une nouvelle carte, si possible plus difficile que la précédente. On continue jusqu’à ce que l’heure soit terminée.

Si cela fonctionne bien, et que les groupes n’ont plus de cartes-programmes, encouragez-les à créer leur propre empilement de gobelets.

Synthèse

  • Durée : 5’
  • Dispositif : Oral collectif

“Aujourd’hui vous venez d’imiter le travail des informaticiens lorsqu’ils doivent apprendre à un ordinateur ou à un robot à réaliser une tâche. En effet, ils utilisent des langages de programmation, c’est-à-dire des langages spéciaux pour communiquer avec l’ordinateur : tout comme notre langage des flèches !”

Séance 2

Cette séance n’est pas présentée en vidéo et ne sera pas explorée en détail, mais voici le déroulé si vous souhaitez l’effectuer. Elle permet d’aborder la notion de fonctions.

Rassembler la classe à nouveau. Dites-leur que vous allez leur donner un empilement spécial que vous voulez qu’ils codent en un temps record.

Vous entendrez sûrement des plaintes, voire des refus. Demandez à la classe quel est le problème. Qu’est-ce qui rend cet empilement si difficile ? Cet empilement est intimidant, parce que chaque gobelet supplémentaire à ajouter en longueur demande à ce que l’on rajoute deux flèches pour l’avancée et deux flèches pour le retour. Pour coder proprement, inévitablement, on se retrouvera avec ce genre de ligne de code :

Souvent, les élèves commencent à écrire une version condensée des instructions durant la séance, en incluant des nombres. Par exemple :

Pendant la première séance, notez avec les élèves cette méthode, mais ne les encouragez pas. Rappelez-leur de n’utiliser que les 6 symboles de base autorisés.

Dans cette deuxième séance, par contre, vous pouvez reconnaître la clairvoyance de ceux qui ont essayé cette idée, et reconnaître qu’ils ont, de manière indépendante, découvert le besoin de fonctions.

Faites-remarquer à la classe que la flèche avec un nombre est une façon intelligente d’indiquer une répétition de la flèche un nombre spécifique de fois. En autorisant ceci, on peut créer un nouveau symbole que l’on peut appeler pour éviter les répétitions dans le code. C’est l’idée exacte derrière les fonctions.

Proposer à la classe de trouver les suites les plus longues de code qui se répète pour chaque placement de gobelet. Vous pouvez faire les regroupements que vous désirez, mais la série devrait ressembler à cela :

C’est un pas intermédiaire, mais on peut simplifier encore plus. Si on positionne les symboles dans le sens horaire, en partant du haut, et si on les assemble en un seul symbole, on pourrait obtenir quelque chose qui ressemble à cela :

où « x » est le nombre de pas dont on aura besoin pour avancer, puis reculer.

Ci-dessus, nous avons un symbole qui ressemble au reste du vocabulaire, mais nous avons aussi inclus un moyen de donner une information supplémentaire, sur le nombre de fois où nous souhaitons appliquer les flèches d’avancée et de recul.

Maintenant que la classe possède cette nouvelle symbolique, proposez leur de s’attaquer à une nouvelle carte. Les groupes peuvent se rassembler pour utiliser plus de gobelets.

Une fois la notion bien comprise par tous, rassemblez la classe et demandez ce que l’on a créé pendant cette séance. Les notions importantes à remarquer sont le fait qu’on représente maintenant une longue tâche en un seul “mot”/symbole et le fait qu’on peut faire varier sa signification en choisissant le nombre.

On peut alors dire par exemple : “Aujourd’hui nous avons créé une fonction : C’est quelque chose qui permet de réaliser à chaque fois la même tâche. On peut même préciser quel type de tâche on veut en écrivant également un paramètre : c’est le nombre que l’on marque au-dessus du symbole. C’est très utilisé par les programmeurs pour éviter de répéter en permanence la même chose”