C3. Codage
Contenus d’apprentissage
Habiletés en codage
C3.1
résoudre des problèmes et créer des représentations de situations mathématiques de façons computationnelles en écrivant et exécutant des codes, y compris des codes comprenant des événements séquentiels et des événements simultanés.
- Situations mathématiques pour l’écriture et l’exécution de codes
- Se déplacer d’un endroit à un autre
- Représenter l’addition et la soustraction de nombres naturels
- Vérifier l’égalité d’expressions comportant des additions et des soustractions
- Utiliser la propriété de la commutativité et celle de l’associativité pour l’addition
- Événements séquentiels
- Un personnage qui se déplace :
- 1 pas vers le haut, puis 1 vers la gauche, puis 2 vers le haut, puis 3 vers la droite
- Un personnage qui se déplace :
- Événements simultanés
- Des animaux dans la nature se déplaçant en même temps (p. ex., oiseaux en vol)
- Des oiseaux à différentes positions de départ se déplaçant en formation en V vers le sud
- Des mouvements de danse synchronisés pour deux danseurs en face l’un de l’autre une activité « débranchée »
- Des animaux dans la nature se déplaçant en même temps (p. ex., oiseaux en vol)
- Une séquence d’instructions est exécutée selon l’ordre des instructions données, par exemple une image d’un personnage qui arrête de se déplacer, puis change de couleur.
- Des événements simultanés comportent plusieurs actions qui ont lieu en même temps, par exemple une image d’un personnage qui change de couleur tout en se déplaçant.
- Parfois, les programmes comprenant des événements simultanés doivent inclure des interruptions ou des blocs d’attente. Par exemple, pour éviter une collision entre deux personnages à l’écran, l’un d’eux pourrait devoir s’arrêter pendant que l’autre passe devant.
- Des événements séquentiels peuvent aussi être exécutés de façon simultanée s’ils sont indépendants l’un de l’autre.
- Les premières expériences de codage peuvent être réalisées à l’aide de programmes de codage par blocs.
Remarque(s) :
- Le codage peut aider les élèves à approfondir et à démontrer leur compréhension des concepts mathématiques.
- Les élèves peuvent créer un code pour qu’un robot, une figurine, une image pixélisée sur un écran ou un camarade de classe exécute le code.
Donnez aux élèves une situation qui les amène à additionner plusieurs nombres, par exemple 21 + 9 + 14. Demandez-leur de créer trois séquences différentes d’instructions pour obtenir le même résultat, par exemple 21 + 9 + 14, 9 + 14 + 21, et 14 + 21 + 9. Les élèves peuvent coder trois images numériques différentes (ou des robots) pour modéliser chacune des différentes séquences comme des mouvements et se rendre d’un endroit à un autre. Discutez avec les élèves des raisons pour lesquelles ces trois expressions sont équivalentes. Ce type de tâche renforce la compréhension de la commutativité et l’associativité de l’addition. Les élèves pourraient coder cela comme trois événements séquentiels distincts ou comme plusieurs événements parallèles se produisant tous simultanément.
Proposez aux élèves d’écrire un code pour faire danser deux images numériques (ou deux robots ou camarades de classe). Demandez-leur d’écrire un ensemble d’instructions selon lesquelles les images numériques dansent de façon synchronisée et un autre ensemble d’instructions selon lesquelles les images dansent de façon non synchronisée (en intégrant un temps d’attente à différents endroits dans le code). Si deux élèves programment une image numérique (ou un robot) sur des dispositifs séparés pour exécuter une danse synchronisée, les élèves devront s’entendre sur le moment de leur exécution. Elles et ils peuvent également vouloir écrire un code pour que deux camarades de classe, deux images numériques ou deux robots exécutent une danse où les partenaires reflètent les mouvements de l’autre.
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.
- Code original du dialogue entre deux personnages
- Code modifié avec temps d’attente
- Un code peut être modifié pour permettre l’acquisition de concepts mathématiques ou pour produire le résultat attendu.
- Certains concepts mathématiques sont fondés sur l’idée que l’ordre des instructions dans une séquence n’a pas d’importance, par exemple la commutativité et l’associativité de l’addition. Cependant, l’ordre est important pour la soustraction et a une incidence sur le résultat.
- Le fait de changer la séquence des instructions d’un code peut parfois produire le même résultat, mais peut aussi produire un résultat différent.
- Dans la prédiction d’événements simultanés programmés, il est important de déterminer si des interruptions ou des blocs d’attente sont utilisés, et de quelle façon, pour laisser un agent passer quand deux agents essaient d’occuper le même endroit en même temps.
Remarque(s) :
- Il est important que les élèves sachent dans quelles situations l’ordre des instructions est important.
- Le fait de prédire le résultat d’un code permet aux élèves de visualiser le déplacement d’un objet dans l’espace ou d’imaginer le résultat de lignes précises de code. Cette habileté est utile pour le débogage et la résolution de problèmes.
Amenez les élèves à faire des prédictions avant d’exécuter un code. Demandez-leur ensuite d’exécuter le code et de comparer leur prédiction à ce qui s’est produit.
Par exemple, présentez aux élèves deux séquences d’instructions pour deux moutons différents et demandez-leur de prédire si les moutons pourront sortir de l’enclos.
Demandez aux élèves de modifier le code pour que les deux moutons puissent sortir de l’enclos.
En guise de suivi à cette tâche, proposez aux élèves de modifier les instructions afin que les moutons n’entrent pas en collision s’ils se déplacent en même temps; cela impliquera d’ajouter un temps d’attente au code.
Invitez également les élèves à modifier le code de sorte que les deux moutons puissent sortir de l’enclos, sachant qu’un seul peut passer la porte à la fois. Là encore, les élèves devront incorporer un temps d’attente dans le code.