La programmation refait surface depuis quelques années après qu’on ait fait entrer les cours d’informatique principalement à l’école secondaire. Si à l’époque on parlait de maitriser certains logiciels, de connaitre le langage informatique pour créer des pages web, entre autres, aujourd’hui la pensée informatique est mise de l’avant dans la programmation de robots, de jeux vidéos ou de machines.
Cet article traite d'une approche favorisant une pédagogie active : la programmation. Cette stratégie privilégie la résolution de problème, important facteur favorisant la réussite chez les élèves qui l’expérimentent.
Vous pouvez visionner la capsule ici.
Outre le fait que la programmation nous montre des avancées dans des domaines aussi variés que la médecine, l’alimentation, l’économie et la construction ou que cette habileté semble au coeur des préoccupations des entreprises actuelles et de demain, sur nos bancs d’école elle permet le développement des performances cognitives de nos élèves (Wilson et Moffat (2010))
Pourquoi valoriser cette approche ?
Le processus menant à la conception d’une séquence de programmation pousse l’élève à analyser la situation actuelle et celle désirée et à projeter le résultat escompté. En exigeant des élèves qu’ils communiquent leur démarche, des chercheurs du MIT à Boston parlent aussi de renforcement de l’esprit de collaboration et de communication.
Le chemin menant à la solution inclut des moments d’essai qui soutiennent la rétroaction immédiate à l’élève. Ce dernier aura l’occasion de s’améliorer tout au long du processus en décelant souvent lui-même les coquilles dans sa séquence d’informations transmises à la plateforme de programmation.
Les résultats de la métaanalyse de John Hattie ont démontré clairement qu’intégrer la résolution de problèmes dans l’enseignement augmente de façon appréciable la réussite des élèves. La programmation en est un exemple concret.
En nous référant au triangle de l’apprentissage de Housaye (Enseignant - Savoir - Étudiant). On peut situer l’exploitation de la programmation en plein coeur de la relation d’apprentissage. Effectivement, en faisant vivre à l’élève un défi de programmation on place le lien élève-savoir au premier plan. On implique l’élève dans son apprentissage de façon active.
Enfin, les résultats de nombreuses recherches mettent en évidence quelques constats intéressants. Pour certains élèves, c’est le sentiment d’efficacité personnel qui sera augmenté alors que pour d’autres, la créativité sollicitée pour trouver une solution au problème présenté représentera un grand avantage. Il n’est pas à négliger que la résilience est souvent accrue dans des activités de ce genre puisque l’élève peut détecter automatiquement les failles de son codage afin de tenter de les corriger sur le champ.
Qu'est-ce que la programmation ?
Le code est une forme de grammaire informatique qui permet de communiquer avec une machine ou un robot réel ou virtuel.
La programmation est une modalité de communication pour les machines. Il n’est pas essentiel d’utiliser un codage (une langue) précis afin d’établir la communication. Il faut d’abord anticiper la séquence d’opérations que l’on souhaite concevoir ou voir effectuée par un robot. C’est la pensée informatique. Cette succession d'action peut être commandée par des boutons, par des blocs d’opérations préréglés ou par du codage dans un langage précis (Python, C#, Java, PHP, etc.).
Alors qu’un élève de première année peut demander à une abeille d’écrire un mot en actionnant des boutons directement sur ce robot, un élève plus vieux pourrait programmer un robot pour qu’il trace un polygone à 6 côtés incluant au moins 1 ange droit et 2 côtés parallèles. On pourrait aussi coder les moteurs d’un robot pour qu’il danse la macarena ou encore, qu’il démontre le commerce triangulaire des esclaves au XVIIIe siècle en prenant et déposant les bons objets aux bons endroits du globe.
Par où commencer ?
La programmation d’abord ? La robotique aussi ? Pourquoi pas?
Il est possible d’utiliser plusieurs applications comme Scratch ou Scratch junior sur le iPad. Plusieurs outils pour débuter sont disponibles, et ce, sans impliquer de robot. Les applications Lightbot Hour, Tickle, Swift playground ne sont que quelques exemples de plateformes gratuites de codage qui peuvent aussi être exploitées sans robot.
Vous voulez programmer des bagues capteurs de couleurs? Découvrir quelques-uns des robots présentés dans la vidéo ? Je vous invite à venir découvrir ou explorer ces outils dès la semaine prochaine près de mon bureau au pavillon Querbes. Nous pouvons prendre le temps de les voir ensemble.
Dans le cadre du déploiement du plan d'action numérique du MÉES (PAN), plusieurs banques de ressources et d'information ont été déployées ou mis en valeur. Je vous invite à les consulter dans la liste des références et ressources plus bas.
Le réseau Canopé, dans son dossier sur l’intégration de la programmation en classe a d'ailleurs formulé quelques recommandations à considérer :
Pour aller plus loin, je vous invite à jeter un oeil ... ou deux à ces ressources qui ont été quelques-unes de mes références:
Badge du cadre 21 Robotique et programmation :
Ce badge est gratuit. Pour cela vous devez d'abord vous inscrire à la plateforme dans le cadre du PAN (Plan d'Action Numérique). en cliquant ici.
Dossier du carrefour éducation :
Desjardins, Girard et Tran (2018) Codage, programmation et robotique, repéré à : [https://carrefour-education.qc.ca/dossiers/la_programmation_et_le_developpement_de_la_pensee_informatique/codage_programmation_et]
Dossier du réseau Canopé :
https://www.reseau-canope.fr/agence-des-usages/apprendre-a-programmer.html
Guide d’activités technocréatives pour les enfants du 21e siècle:
Romero et Vallerand (2016), Guide d’activités technocréatives pour les enfants du 21e siècle, repéré à : [https://drive.google.com/file/d/1pN5hoZn7z7ah6VQKHrFvYzirKoQ3o5G6/view]
48 défis scratch : https://www.reseau-canope.fr/atelier-yvelines/spip.php?article1137
https://www.canadalearningcode.ca/fr/lecons/etre-vert/
Romero, Lille et Patiño (2017) Usages créatifs du numérique pour l’apprentissage au XXIe siècle, Presses de l’université du Québec, 168 pages. Disponible dans la section didactique de notre bibliothèque.
Sources des extraits vidéos:
Extrait d’une vidéo de la chaine de Brault et Bouthillier intitulée BlueBot (R), repéré à : [https://youtu.be/1wFgA2qVyEQ?t=38]
Extrait d’une vidéo de la chaine Wonder Workshop intitulée Sketch Kit for Dash and Cue Robots, repéré à : [https://youtu.be/ZFLh59NEUug?t=7]
Extrait d’une vidéo de la chaine Heutink intitulée SPIKE PRIME LEGO® Education, repéré à : [https://youtu.be/WBJHqvEj7iQ?t=3]
Extrait d’une vidéo de la chaine de Maxime Vasilev intitulée LEGO Spike Prime Loader, repéré à : [https://youtu.be/bRNYNnxxODg?t=13]
Extrait d'une vidéo de Awesomo2001 intitulée Nao Robot, repéré à : [https://www.youtube.com/watch?v=2STTNYNF4lk]
Extrait d'une vidéo de doctissimo intitulée Robot Da Vinci : les prouesses de la chirurgie robotique repéré à : [https://www.youtube.com/watch?v=4yTPcDWopBo]
Extrait d'une vidéo de France 3 Grand Est intitulé Colmar: la robotique entre à l’école, repéré à : [https://www.youtube.com/watch?v=_Af4_y-AhF8]
Autres sources:
Harisoa (2015) Apprendre à programmer? Réseau canope Article repéré à cette adresse: [https://www.reseau-canope.fr/agence-des-usages/apprendre-a-programmer.html]
Hattie (2009). Visible Learning, repéré à : [Visible learning.org]
Mendelsohn P. (1985), L’enfant et les activités de programmation, Grand N, 35, 47-60.
Profeb (2015) Extrait de La distance n’est pas l’absence : la relation pédagogique en contexte asynchrone [Triangle pédagogique de Jean Houssaye (1988)], repéré à : [https://www.profweb.ca/publications/articles/la-distance-n-est-pas-l-absence-la-relation-pedagogique-en-contexte-asynchrone]
Wilson A. & Moffat D. C. (2010), “Evaluating Scratch to introduce younger schoolchildren to programming”, Leganés, Spain.