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.

Habileté : lire un code


La lecture du code consiste à interpréter les blocs ou les commandes afin d’en déduire le sens du code. Cela permet à l’élève de faire des prédictions liées au comportement du code. La lecture du code est aussi une partie importante du débogage, soit l’identification et la correction d’erreurs dans le code. En lisant le code, il est possible pour l’élève d’identifier la ou les raisons pour lesquelles celui-ci ne fonctionne pas. Il est à noter que cette habileté ne correspond pas à la lecture du code par l’ordinateur, mais plutôt à la lecture du code par l’élève pour en faire la vérification.

Il serait possible, par exemple, de présenter à l’élève du code pour deux sprites qui font une « course ». L’élève devra d’abord prédire le sprite qui gagnera la course. Voici un exemple de code :

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. 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.


À première vue, un des deux codes semble avoir plus de déplacements, mais en lisant le code de plus près, il est possible de voir que certains blocs représentent plus d’un déplacement. L’élève devra d’abord comprendre cet élément de la syntaxe du code afin de pouvoir faire sa prédiction.

Habileté : modifier un code


La culture de la programmation informatique en est une de partage. Plusieurs logiciels sont créés en se basant sur du code existant. La modification d’un code permet à l’élève de partir d’une séquence de code existante et fonctionnelle afin de bâtir quelque chose de nouveau. La modification d’un code peut aussi avoir comme but de le simplifier ou de démontrer qu’il y a plus d’une façon de représenter une même situation à l’aide du code. Le cas échéant, l’élève peut aussi modifier du code erroné afin de le rendre fonctionnel, un processus nommé débogage.

En utilisant le code des deux papillons ci-dessus, il serait possible de demander à l’élève de le modifier afin de faire en sorte que les deux papillons terminent la course en égalité. Cela ne veut pas nécessairement dire que les deux papillons font les mêmes mouvements, mais plutôt que le nombre de mouvements d’un papillon sera réduit ou que le bloc « attendre » sera utilisé afin de donner la chance au papillon plus lent de rattraper l’autre papillon.

Habileté : décrire l’incidence des changements sur le code


L’apprentissage par essais et erreurs occupe une place importante dans la création de séquences de code. Cependant, il est important que l’élève puisse justifier ses choix de modifications d’un code existant en faisant des prédictions concernant l’effet des changements sur le comportement du code.

L’utilisation des fonctionnalités d’enregistrement des logiciels de codage permet à l’élève d’ajouter des blocs audio décrivant ses choix de blocs, au cours d’une activité dans laquelle l’élève doit modifier le bloc fourni pour atteindre un but spécifique.

Bloc de sons, enregistre

Connaissance : événements simultanés


Des événements simultanés sont simplement des événements qui se produisent en même temps. Il est à noter, cependant, que les événements n’ont pas besoin d’être identiques pour être considérés comme simultanés.

Un exemple courant de l’utilisation d’événements simultanés est le déplacement en diagonale. La plupart des logiciels de codage en blocs et de robotique permettent des déplacements dans quatre directions (par exemple, haut, bas, gauche, droite), mais un déplacement en diagonale nécessite un déplacement horizontal et un déplacement vertical en même temps.

Prenons, par exemple, la ville imaginaire suivante :

Carte d’une ville fictive.

Il serait possible de donner à l’élève le code ci-dessous afin de lui faire prédire l’emplacement final du sprite si l’emplacement initial est bien défini. Dans cet exemple-ci, le sprite commencerait son parcours à la station de police et le terminerait à l’école.

Ligne de codage :Bouges vers le haut, 2 fois. Envoyé message.Commencé au message. Bouges vers la droite, 4 fois.Commencé au message. Bouges vers le haut, 4 fois.


Ce code contient deux situations de départ simultanées, soit la réception du message qui est symbolisée par l’enveloppe orangée. L’élève pourrait ensuite avoir la tâche de modifier le code pour que le sprite se rende de l’hôpital au magasin ou fasse n’importe quel autre déplacement en diagonale.