Manipuler et construire de vrais objets pour comprendre ce qu’est un programme informatique? C’est ce qu’a proposé Isabelle Demeure, professeur à Télécom ParisTech et responsable de la formation à l’Institut Villebon – Georges Charpak dans son cours d’informatique. Pour la contacter : isabelle.demeureATvillebon-charpak.fr
Activité Lego en cours d’introduction à l’informatique
Un certain nombre d’étudiants arrivent au premier cours d’informatique de Licence 1 avec un a priori défavorable : ils ne se sentent pas la « fibre informatique », ils ont du mal à se débrouiller avec les installations de logiciels et les problèmes d’accès réseau sur l’ordinateur familial ou personnel.
Nous avons donc réfléchi à une activité d’introduction à l’informatique qui ne mettrait pas en jeu l’usage d’un ordinateur et si possible ludique, dans l’espoir de donner un abord attrayant à la discipline.
L’un des objectifs du cours d’informatique de l’année de Licence 1 est de faire prendre conscience aux étudiants de ce que fait un programme informatique, comment il le fait et ce que cela implique. Schématiquement, « un programme informatique est une suite d’instructions données à un ordinateur dans un langage informatique, pour réaliser une tâche précise« . L’analogie est souvent faite entre un programme informatique et une notice de montage (par exemple de meubles de grande distribution). Pour l’adapter au contexte de la classe, nous avons décidé de travailler sur le montage de formes en Legos.
La classe s’est organisée en binômes. L’équipe enseignante a remis à chaque binôme :
- une photo d’un montage simple en Legos (9 à 16 pièces) – en pratique la classe a travaillé sur 2 montages,
- un sachet avec les pièces de Lego nécessaires pour réaliser le montage,
- une planche de photos de modèles de montages élémentaires de 2 ou trois pièces chacun
- Planche des modèles de montages élémentaires (2ème montage)
Elle leur a ensuite donné la mission suivante :
« Préparez et mettez par écrit les instructions que vous donnerez à un autre binôme pour qu’il fasse le montage Lego avec le sachet de pièces, sans voir la photo du montage à réaliser. Vous pouvez utiliser la planche de montages élémentaires pour leur montrer des montages élémentaires que vous utilisez dans vos instructions« .
Les binômes ont été appariés. Le 1er binôme, appelons-le « A », a donné ses instructions au second binôme « B » pour qu’il réalise le 1er montage. L’un des membres du binôme A donnait les instructions pendant que l’autre observait et prenait note de ce qui se passait. L’un des membres du binôme B réalisait le montage pendant que l’autre observait et prenait note de ce qui se passait.
Exemple de proposition (1er montage)
/* A1, A2, et A3 font référence aux modèles de montages élémentaires qui figurent sur la planche */
Initialisation: 3 pièces 2*2 et 6 pièces 4*1
Appliquer la fonction A2 et A3
Nommons la figure obtenue A
Repeter A2 avec d’autres pièces, que vous placez sur A au milieu.
Nommons le tout B
Repeter A3 sur B
Repeter A2 avec d’autres pièces, que vous placez sur B, au milieu.
Exemple de proposition (2ème montage)
Prendre un bloc de 6 et 2 blocs de 4
Placer le bloc de 6 de façon à ce qu’il soit placé avec deux lignes et trois colonnes d’encoches
Placer deux blocs de 4 sur l’encoche haut/droite et bas/gauche
Refaire trois fois cette forme
Empiler de manière identique
L’équipe enseignante leur a ensuite demandé de partager leurs observations à 4, et de produire ensemble une version corrigée des instructions.
Puis les binômes ont croisé leurs rôles respectifs, le binôme A réalisant le 2ème montage grâce aux instructions préparées par le binôme B.
Un partage d’expérience a finalement été réalisé en classe entière (16 étudiants).
Voici quelques-unes des conclusions des étudiants sur l’activité :
- C’est important de réfléchir avant de donner les instructions.
- Il faut être précis dans les instructions que l’on donne, se donner un vocabulaire et une syntaxe précis.
- Dans les instructions on a parfois besoin de désigner un type de pièce (ex : pièce rectangulaire à 8 « plots ») ou une pièce précise (ex : la dernière pièce carrée à 4 plots placée sur le montage).
- On peut s’appuyer sur la répétition d’une série d’instructions.
- C’est pratique d’avoir la planche des montages élémentaires.
L’équipe enseignante a profité de ces conclusions pour utiliser l’analogie avec la programmation :
- Nécessité de réfléchir au programme avant de se lancer dans la programmation.
- Importance du maniement rigoureux de la syntaxe de langage de programmation.
- Notion de type, d’identificateur, de variable.
- Notion de boucle, d’itération.
- Notion de sous-programme, de fonction.
Cette activité s’est déroulée dans une ambiance agréable ; les étudiants (34 en 2 groupes) se sont tous prêtés au jeu, certains avec beaucoup d’enthousiasme. Aucun n’a rechigné à se lancer dans l’activité. L’activité semble les avoir disposés à s’impliquer dans l’apprentissage de la programmation et ils font des retours positifs à ce sujet.
Du côté de l’équipe enseignante, le point négatif, s’il en est, est le temps pris par cette activité. Mais elle ne le regrette pas, car c’était motivant de voir les étudiants prendre du plaisir à l’élaboration d’instructions et rentrer dans le jeu, certains avec l’objectif d’avoir la meilleure solution. C’était également intéressant de les voir en mouvement, de les solliciter dans une activité kinesthésique autre que l’interaction avec le clavier et la souris de l’ordinateur.
Dans les cours qui ont suivi, l’analogie avec l’activité Lego est devenue un appui ; elle a été évoquée à plusieurs reprises, et les étudiants se rappellent plus volontiers de cette activité et des conclusions qu’ils ont tirées, que de l’expérience d’écriture de leur premier programme lors de la même séance.
C’est donc certainement une expérience que nous poursuivrons l’année prochaine !