C3. Codage :

Mettre en application ses habiletés en codage pour résoudre des problèmes et créer des représentations de situations mathématiques de façon computationnelle à l’aide de concepts et d’habiletés en codage.

Situation d’apprentissage : Une course d’obstacles


Durée totale : 75 minutes

Sommaire

Dans cette situation d’apprentissage, l’élève lit, modifie et crée des codes afin de faire naviguer un sprite au moyen d’une course d’obstacles. L’élève décrit également la position relative d’un objet et les déplacements requis pour passer d’un objet à un autre au moment de la création de la course d’obstacles.

Cette situation d’apprentissage comprend des activités de codage branché, c’est-à-dire du codage nécessitant un logiciel, une plateforme ou un appareil de codage. Il est possible, cependant, d’adapter les activités afin qu’elles soient débranchées.

Attentes Contenus d'apprentissage
C3. Codage
Résoudre des problèmes et créer des représentations de situations mathématiques de façon computationnelle à l’aide de concepts et d’habiletés en codage.
C3.1 Résoudre des problèmes et créer des représentations de situations mathématiques de façon computationnelle en écrivant et en exécutant des codes, y compris des codes comprenant des événements séquentiels et des événements simultanés.

C3.2 Lire et modifier des codes donnés, y compris des codes comprenant des événements séquentiels et des événements simultanés, et décrire l’incidence de ces changements sur les résultats dans divers contextes.

E1. Décrire et représenter la forme, la position et le déplacement en se servant de propriétés géométriques et de relations spatiales pour s’orienter dans le monde qui l’entoure. E1.5 Décrire la position relative d’objets divers et les déplacements requis pour passer d’un objet à l’autre.

Pratiques pédagogiques à fort impact en mathématiques à privilégier Description
Conversations mathématiques Au moment de la mise en situation, une conversation mathématique est entamée avec les élèves du groupe-classe. Cette conversation les incitera à faire part aux autres de leurs idées, à montrer leur compréhension liée à la position relative d’un objet et aux déplacements, à raisonner et à prouver leur raisonnement. Les élèves pourront faire des liens avec des expériences vécues et communiquer leurs connaissances liées au sujet abordé. Des preuves peuvent être recueillies afin de guider l’enseignement.
Regroupements flexibles Le travail en équipe de deux, au moment de la création et de la modification de codes, encourage notamment la communication et la collaboration. Les regroupements flexibles favorisent la collaboration et encouragent les élèves à prendre part à de riches conversations mathématiques. Les élèves peuvent apprendre les uns des autres. De cette façon, elles et ils font évoluer leur réflexion mathématique. Tout en tenant compte du profil des élèves, les regroupements peuvent être aléatoires, hétérogènes ou homogènes, selon les besoins.
Enseignement en petits groupes L’enseignement en petits groupes est une pratique pédagogique visant à faire progresser l’apprentissage des élèves. Tout le long de la création et de la modification d’un code, il est important de circuler parmi les groupes d’élèves afin de leur fournir des appuis spontanés nécessaires selon ce qui est observé et entendu. L’enseignement en petits groupes donne l’occasion de revoir avec certaines et certains élèves des concepts mathématiques qui appuient leur nouvel apprentissage. Celles-ci et ceux-ci pourront donc approfondir leur compréhension des concepts à l’étude (position et déplacement ou codage)
Enseignement explicite Lorsqu’un code ne donne pas le résultat attendu, le personnel enseignant pourrait demander aux élèves de l’expliquer. Il peut alors profiter du moment pour offrir un enseignement explicite lié à la difficulté observée. Cet enseignement permet de vérifier la compréhension des élèves et de leur fournir une rétroaction immédiate.

Connaissance et habileté préalable

Il serait préférable que les élèves aient l’occasion d’explorer le logiciel de codage qui sera utilisé afin de connaître l’interface et les éléments de base. Cependant, cette situation d’apprentissage peut aussi servir d’exploration initiale d’un logiciel en allouant plus de temps aux élèves afin qu’elles et ils se familiarisent avec celui-ci dans le déroulement.

Critères d’évaluation selon les grilles d’évaluation du rendement

Compétences Critère(s) d’évaluation
Connaissance et compréhension
  • L’élève connait l’apparence et la fonction des blocs dans le logiciel de codage utilisé.
  • L’élève décrit les déplacements d’un objet vers un autre en faisant référence à la direction et au nombre de déplacements.
  • L’élève détermine les blocs et les actions de chaque bloc utilisé dans les événements séquentiels et simultanés.
  • L’élève comprend ce que représentent deux séries d’instructions simultanées.
Habiletés de la pensée
  • L’élève planifie l’emplacement et la durée d’un bloc « pause » afin de bien synchroniser les événements simultanés dans son code.
  • L’élève prédit le résultat d’un code et le modifie afin d’atteindre un but spécifique.
  • L’élève montre une compréhension de la différence entre des événements séquentiels et des événements simultanés dans le contexte du codage.
  • L’élève modifie un code et détermine l’effet des changements sur le comportement d’un sprite.
Communication
  • L’élève explique sa séquence de code en utilisant la terminologie appropriée (à gauche, à droite, au haut, au bas, etc.).
  • L’élève utilise le vocabulaire lié à la position relative d’un objet (au-dessus, en dessous, sur, sous, à côté, à l’intérieur, à l’extérieur, à droite, à gauche).
Mise en application
  • L’élève met les blocs aux bons endroits et dans le bon ordre afin de créer des séquences qui contiennent des événements simultanés.

Résultats d’apprentissage

À la fin de cette situation d’apprentissage, l’élève pourra :

  • utiliser la terminologie propre à la position relative d’un objet (au-dessus, en dessous, sur, sous, à côté, à l’intérieur, à l’extérieur, à droite, à gauche) et au codage (sprite, événements séquentiels, événements simultanés);
  • décrire les déplacements d’un sprite (vers la droite, vers la gauche, vers le haut, vers le bas);
  • rédiger une séquence de code permettant à plus d’un sprite d’effectuer en même temps des déplacements;
  • lire une séquence de code, puis la modifier afin de la rendre plus efficace.

Matériel requis

Note : Les exemples dans cette situation d’apprentissage ont été créés à partir de Scratch Jr .

Vocabulaire mathématique

code, sprite, événements séquentiels, événements simultanés, à gauche, à droite, au-dessus, en dessous, devant, derrière, déplacements (x unités vers la gauche, vers la droite, vers le haut, vers le bas).

Mise en situation

Durée : 10 minutes

L’évaluation peut se faire par les…

Infographie de l’évaluation :
    Conversation, observations, productions.

Montrer aux élèves la photo ci-dessous. Leur poser la question suivante : « Que remarques-tu?» Utiliser la stratégie du PPP (« Pense - Parle - Partage ») afin d’amorcer une conversation mathématique avec les élèves.

Des enfants qui jouent dans un jardin avec des jeux d’obstacles.

P1 – Pense

Exiger une minute, au minimum, de réflexion en silence. Cela fait en sorte que les élèves réfléchissent sans la pression du temps ni l’influence des réponses des autres.

P2 – Parle

Demander aux élèves de trouver une ou un partenaire afin de discuter de leurs premières impressions au sujet de la photo.

P3 – Partage

Ouvrir la conversation. Dans un premier temps, inviter les élèves à exprimer leurs impressions au sujet de la photo ainsi que leurs constats à la suite de leur conversation avec leur partenaire. Tenter ensuite de diriger le questionnement vers les concepts mathématiques qui seront à l’étude.

Pistes de questionnement et réponses possibles des élèves :

  • Que font les enfants? Comment s’appelle ce type d’activité?
    • Une course d’obstacles.
  • Pouvez-vous me décrire la course d’obstacles? Que voyez-vous?
    • Une enfant saute par-dessus une corde.
    • Il y a un tunnel derrière la corde. Il est à gauche des deux enfants debout en arrière. Il y a des drapeaux attachés aux arbres, au-dessus des enfants.
  • Combien d’enfants font la course?
    • Trois enfants font la course.
    • Une enfant fait la course et les deux autres attendent leur tour.
  • Comment peut-on déterminer qui gagnera?
    • Chronométrer les enfants pour déterminer qui a fait la course le plus rapidement possible.
    • Demander aux enfants de faire la course en même temps. Celle ou celui qui arrive en premier est la gagnante ou le gagnant.

Déroulement

Durée : 50 minutes en plus du temps alloué à l’exploration du logiciel de codage, au besoin

L’évaluation peut se faire par les…

Infographie de l’évaluation :
  Conversation, observations, productions.

Présenter aux élèves un code, comme celui ci-dessous, en l’affichant sur un écran ou en se servant des photocopies en couleurs.

Ligne de codage.
  Sprite papillon. Bloc de départ drapeau vert. Bouges vers la droite, 2 fois. Bouges vers le haut. Bouges vers la droite, 2 fois. Bouges vers le bas. Bouges vers la droite, 2 fois. Fin.

Demander aux élèves de trouver une ou un partenaire. Les inviter à étudier ensemble le code afin de décrire le mouvement du papillon. Lorsque les élèves sont satisfaits de leur réponse, leur demander de faire le même exercice en utilisant le code de l’oiseau ci-dessous. Cette fois-ci, étant donné que les équipes évolueront peut-être à des rythmes différents, il serait préférable de leur distribuer des photocopies en couleurs faites sur des bandes de papier.

Ligne de codage.Sprite oiseau. Bloc du drapeau vert. Bouges vers la droite, bouges vers le haut. Bouges vers la droite, bouges vers le haut. Bouges vers la droite, bouges vers le haut. Bouges vers la droite, bouges vers le haut. Fin.

De retour en groupe-classe, animer une conversation qui aura pour but de comparer les deux codes.

Pistes de questionnement et réponses possibles des élèves :

  • Qui voyage le plus loin, le papillon ou l’oiseau?
    • Le papillon voyage le plus loin, car il se déplace de 6 cases vers la droite, alors que l’oiseau se déplace uniquement de 4 cases vers la droite.
    • L’oiseau voyage le plus loin, car il se déplace de 4 cases vers le haut, alors que le papillon se déplace d’une case vers le haut, puis d’une case vers le bas.
  • Qui aura terminé son mouvement en premier?
    • Les deux animaux ont 8 blocs dans leur code, alors les deux termineront en même temps.
    • L’oiseau a uniquement 4 blocs de mouvement à droite, alors il terminera son mouvement avant le papillon.
  • Que veut dire le drapeau vert dans le code?
    • C’est le signal de départ.

Permettre aux élèves d’accéder au logiciel de codage en blocs choisi afin de recréer le code et de vérifier leurs réponses aux questions.

Par la suite, allouer aux élèves un peu de temps d’expérimentation avec le logiciel afin de modifier le code donné pour changer le comportement du papillon et celui de l’oiseau. Cela donne l’occasion aux élèves de découvrir l’effet de changer, d’ajouter et d’omettre certains blocs du code.

Observations possibles Pistes d’intervention
Le code de l’élève ne ressemble pas du tout au code de départ présenté. Demander à l’élève d’expliquer à voix haute les blocs de son code et leur effet.

Fournir à l’élève une copie papier du code à dupliquer afin qu’elle ou il puisse le comparer avec son code.

Le code de l’élève comprend des erreurs de logique (le code ne donne pas le résultat désiré). Fournir à l’élève une feuille de papier quadrillé afin qu’elle ou il puisse tracer les mouvements et déterminer les blocs causant l’erreur (cela ressemble à un pseudocode).

Suggérer à l’élève de faire part de son code à une ou à un autre élève qui pourrait le relire et lui donner des pistes de solution (comme la révision dans le processus d’écriture).

Le code de l’élève comprend des erreurs de syntaxe (le code ne fonctionne pas du tout). Revoir avec l’élève les situations de départ (par exemple, le drapeau vert).

Demander à l’élève de vérifier si les blocs de son code sont bien connectés.

Donner maintenant aux élèves une intention plus spécifique pour leur code. Elles et ils doivent créer une course d’obstacles dans laquelle deux sprites font une compétition, un peu comme le papillon et l’oiseau. Elles et ils choisissent les deux sprites ainsi que les obstacles de la course et décrivent les mouvements des sprites liés aux obstacles. Un des sprites devra atteindre la ligne d’arrivée avant l’autre.

Réponse possible

Trajet : Les papillons devront voler par-dessus la chaise, en dessous de la table, toucher le porte-crayon mauve et faire le tour du globe pour terminer devant celui-ci. Le papillon gagnant sera celui qui crie en premier «J’ai terminé!».

Scène de classe créée avec du codage. La scène comprend deux papillons, deux chaises, deux tables, tapis vert, un verre, un globe terrestre.

Code possible du papillon jaune :

Ligne de codage.Sprite papillon. Bouges vers le haut, 2 fois. Bouges vers la droite, 4 fois. Bouges vers le bas, 3 fois. Bouges vers la droite, 11 fois. Bouges vers le bas. Bouges vers la droite, 2 fois. Bouges vers le haut. Bouges vers la droite, 2 fois. Bouges vers le bas, 3 fois. Bouges vers la gauche, 2 fois. Bouges vers le haut, 2 fois. Bouges vers la droite. Bloc de discussion, J’ai. Fin.

Code possible du papillon violet :

Ligne de codage.Sprite papillon. Bouges vers le haut, 2 fois. Bouges vers la droite, 4 fois. Bouges vers le bas, 3 fois. Bouges vers la droite, 6 fois. Bouges vers le haut, 2 fois. Bouges vers la droite, 3 fois. Bouges vers le haut 3 fois. Bouges vers la droite. Bouges vers le haut. Bouges vers la droite, 2 fois. Bouges vers le bas 2 fois. Bouges vers la droite, 2 fois. Bouges vers le haut, 3 fois. Bouges vers la gauche. Bouges vers le bas, 2 fois. Bouges vers la droite. Bloc de discussion, J’ai. Fin.

Note : Il est important d’encourager les élèves à exécuter leur code souvent. Une grande portion de l’apprentissage peut se faire par essai et erreur.

Observations possibles Pistes d’intervention
L’élève ne sait pas par où commencer. Demander à l’élève de choisir les obstacles pour la course dans le menu de sprites, puis de déterminer le trajet.

Fournir à l’élève du matériel physique avec lequel elle ou il peut construire une représentation de sa course d’obstacles afin d’avoir un repère visuel avant de commencer à coder.

Demander à l’élève d’écrire, sur du papier, un pseudocode, c’est-à-dire une description ou un dessin de sa course d’obstacles. Du papier quadrillé pourrait être utilisé.

L’élève ne dévie pas du tout du code fourni au début de l’activité. Demander à l’élève de décrire le trajet de la course d’obstacles. Est-ce que les mouvements des sprites reflètent la course? Comment peut-on rendre les mouvements plus réalistes?

Encourager l’élève à modifier les blocs, un à la fois, et à exécuter le code à chaque changement afin d’en voir l’effet sur le comportement des sprites.

L’élève crée deux codes identiques pour ses deux sprites Note : Cela est très commun que l’élève crée deux codes identiques pour ses deux sprites lorsqu’on parle d’événements simultanés, car elle ou il sous-entend parfois que les deux sprites doivent faire la même chose en même temps.

Demander à l’élève si c’est possible de déclarer une gagnante ou un gagnant lorsque les deux codes sont identiques.

Utiliser l’exemple d’une autre sorte de course pour activer les connaissances antérieures de l’élève. Comment sait-on qu’une course est commencée? Un feu vert, un pistolet, un son? Une fois que la course est commencée, est-ce que les sprites bougent exactement de la même façon?

Note : Plusieurs logiciels de codage permettent aux élèves d’enregistrer leur voix, ce qui leur offre la possibilité de créer une narration pour la course et, aussi, de communiquer leur compréhension des concepts oralement plutôt que par écrit.

Bloc de sons, enregistre

Exemple d’un bloc permettant l’enregistrement de la voix dans Scratch Jr.

Objectivation et consolidation

Durée : 15 minutes

L’évaluation peut se faire par les…

Infographie de l’évaluation :
    Conversation, observations, productions.

  • Choisir quelques codes à présenter au groupe-classe. Le choix peut être fait en demandant à des volontaires ou en sélectionnant de manière stratégique des codes mettant en valeur l’intention pédagogique, soit la familiarisation des élèves avec les déplacements et les positions relatives d’objets, ainsi que les événements simultanés.
  • Demander aux équipes choisies de présenter leur code au groupe-classe. L’équipe doit expliquer son code ainsi que les règlements de sa course d’obstacles (les mouvements à faire et comment gagner). Ensuite, les élèves du groupe-classe analysent le code pour tenter de prédire qui gagnera la course. Finalement, le code est exécuté pour connaître le sprite qui gagnera.
  • Poser aux élèves les questions suivantes :
    • Comment fait-on pour s’assurer que les deux codes commencent en même temps? (En cliquant sur le drapeau vert.)
    • Que se produirait-il si l’on cliquait sur chacun des sprites pour exécuter le code? (Il faudrait déplacer le pointeur de la souris d’un sprite à l’autre afin de les activer, alors ce serait impossible de les activer exactement en même temps.)

Bloc de départ en cliquant.

Exemple d’un bloc permettant commencer une séquence en cliquant le sprite.

  • Dans ce cas-ci, est-ce que les événements demeurent simultanés? (Même si les deux codes ne sont pas exécutés en même temps, il y a des moments durant lesquels les deux sprites bougent en même temps. Il s’agit d’événements simultanés à ces moments-là.)

Consolidation

La robotique est une excellente façon de consolider l’apprentissage en codage. Une course dans laquelle un robot, comme Sphero, Ozobot, LEGO ou autre, compétitionnerait avec un autre robot ayant un code différent pourrait rendre le concept d’événements simultanés encore plus clair pour les élèves.

Option débranchée

Si l’accès au matériel est limité aux plateformes sur ordinateur, il serait possible de mettre en valeur les événements simultanés en demandant aux élèves de faire déplacer des sprites sur des parcours en diagonale (par exemple, pour tracer un triangle). Le déplacement diagonal nécessite un déplacement horizontal et un déplacement vertical de façon simultanée, car il n’existe pas de bloc spécifique pour ce genre de déplacement. Le déplacement diagonal sera plus efficace, sur le plan du temps, qu’un déplacement horizontal suivi d’un déplacement vertical, même si la position finale est la même. Cela pourrait rendre d’éventuelles «courses d’obstacles» plus intéressantes.

Liens avec les autres domaines mathématiques (événements simultanés)

Nombres

B1.5 Décrire les caractéristiques des nombres pairs et impairs.

En se servant d’une quantité inconnue de sprites, l’élève peut rédiger une séquence de codes permettant aux sprites de se placer, deux par deux (de façon simultanée), de manière organisée, à l’écran. L’élève peut déterminer si le nombre de sprites est pair ou impair en observant s’il en reste ou non après le jumelage.

B2.6 Représenter et résoudre des problèmes relatifs à la division de 12 éléments ou moins en tant que partage égal d’une quantité, à l’aide d’une variété d’outils et de schémas.

En utilisant un nombre de sprites de 1 à 12, l’élève peut rédiger un code dans lequel les objets se placent dans des groupes égaux; par exemple, s’il y a 6 sprites à l’écran et que le but est de créer 3 groupes égaux, elle ou il crée un code pour que 3 sprites se déplacent de façon simultanée vers trois régions différentes de l’écran, puis elle ou il fait de même pour les trois autres sprites afin de créer 3 groupes de 2 sprites.

Sens de l’espace

E1.5 Donner et suivre des directives pour se déplacer d’un endroit à un autre.

L’élève peut rédiger une séquence de codes afin qu’un sprite se déplace sur une carte. Les mouvements en diagonale nécessitent des événements simultanés, soit un déplacement horizontal en même temps qu’un déplacement vertical.

Différenciation pédagogique et conception universelle de l’apprentissage

  • Un aide-mémoire des blocs et de leur fonction ou le code de couleurs utilisé par le logiciel de codage pourrait être utile pour les élèves qui n’ont pas encore une bonne connaissance du logiciel.
  • Le travail individuel qui consiste à coder une course d’obstacles pourrait être un travail en équipe de deux ou de trois (éviter les équipes de plus de trois afin d’encourager la participation de toutes et de tous les élèves).
  • L’élève qui a besoin d’un défi pourrait tenter de créer une course avec trois sprites ou une course où le code de chaque sprite est différent, mais les sprites terminent la course en même temps.

Source : Guide d’enseignement efficace des mathématiques, Codage, p. 61-70.