Enseigner la programmation aux enfants
Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur.
Introduction
L'enseignement de la programmation informatique aux enfants n'est pas nouveau et fait écho aux travaux concernant la pensée computationnelle et l'apprentissage. Cela dit, ce n'est que depuis quelques années que cette volonté a pris un engouement planétaire, avec l'introduction de ces concepts dès l'école primaire dans certains pays. Au delà du débat autour de l'apport de ces concepts, en terme cognitifs, pour appréhender d'autres domaines - la comparaison avec savoir lire et écrire est souvent utilisée - il est clair que les entreprises les plus valorisées du monde reposent sur ce type de compétences, et ont un besoin grandissant en personnes formées aux sciences informatiques. Cela explique en partie cette effervescence autour de l'enseignement de la programmation dès le plus jeune âge. On remarque d'ailleurs une augmentation d'investissements dans le domaine des EdTech (Education Technologies), le plus souvent en lien avec les jeunes et les nouvelles technologies.
Il existe aujourd'hui plusieurs catégories de dispositifs destinés aux jeunes, mais la plupart utilise des langages de programmation visuels, c'est à dire des blocs d'instructions que l'on assemble afin de former un code. Les technologies les plus utilisées sont :
- Scratch : développé par le MIT
- Blockly : développé par Google
- LabView : adapté et utilisé par Lego
Les activités débranchées
Selon Romeo et al (2018)., une activité débranchée se définit comme suit : « Elle vise la découverte, voire même l’acquisition de concepts informatiques sans l’utilisation d’outils numériques. [...] les activités de programmation débranchées font appel aux interactions entre l’élève et son environnement spatial ».
Les auteurs voient également plusieurs plus-values telles que :
- La charge cognitive liée à l'usage d'une machine. Effectivement, l'apprentissage de l'utilisation du logiciel ou de la machine prend déjà beaucoup de temps et d'énergie. De plus, on évite les problèmes techniques liés à l'utilisation d'une machine. Finalement, l'écran accapare beaucoup l'attention, ce qui implique que les apprenants sont moins concentrés s'ils travaillent avec plusieurs objets ou personnes.
- Le fait d'apprendre avec son corps en faisant des gestes et en se repérant dans l'espace. Cela permet une autre forme d'apprentissage.
- Finalement, « le fait de construire une analogie tangible des notions abstraites rencontrées en informatique. On s’approprie des mécanismes qui vont servir de base à la construction d’une représentation de la notion abordée » (idem).
Les applications web
Scratch
Scratch est un langage de programmation et une communauté en ligne où l'on peut créer ses propres histoires interactives, des jeux et animations. C’est le langage qui sert de base à de nombreuses solutions pour apprendre à programmer. Le site permet d'utiliser l'application directement en ligne, et il est possible de l'utiliser sans se créer de compte, cependant c'est obligatoire si l'on souhaite sauvegarder son travail dans le cloud. A noter qu'il existe une version desktop afin d'utiliser Scratch hors ligne. De plus, Scratch propose des extensions pour interagir avec les Lego WeDo et les PicoBoard afin que le code ne se passe pas que sur l'écran.
Liens utiles
- Le site Squeaki est un endroit où vous trouverez une équipe qui explore/documente Scratch (un logiciel de programmation objet pour les élèves) pour les besoins en éducation au Québec.
- Le site Campus Junior est une plateforme proposant des tutoriels vidéo et des conseils pour parents et formateurs.
- Le site de Magic Makers, qui propose des activités pour les jeunes, met en ligne des tutoriels vidéo.
Code.org
Cette plateforme propose des cours tutoriels interactifs en ligne avec une évolution pas à pas dans l'apprentissage du code. Le langage utilisé est Blockly (ressemblant au Scratch). L'intérêt de ce site web est surtout pour les enseignants/parents qui ne s'y connaissent pas en programmation car tout est intégré dans les cours tutoriels que les enfants doivent suivre. Le projet de Code.org est vraiment d'introduire la programmation à un maximum de jeunes, avec notamment le soutient de nombreuses personnalités issues de tous les milieux (Nemar Jr, Marc Zuckerberg, etc.).
Microsoft MakeCode
Microsoft aussi se lance dans la course avec une plateforme utilisant les langage Blockly et/ou JavaScript permettant l'utilisation de plusieurs environnements, allant de Minecraft (racheté par Microsoft) aux cartes électroniques micro:bit. Sans matériel électronique, on peut donc l'utiliser pour coder dans Minecraft (payant). L'avantage est que l'interface permet de passer instantanément du code Blockly au code JavaScript, ce qui peut être très utile.
Lien utile
- Marche à suivre pour connecter Minecraft et MakeCode.
Snap!
Cette application web est similaire à Scratch mais plus puissante. En effet, elle mixe Scratch et Sheme (first class procedures, lists, objects, continuations).
Les applications pour smartphone et tablette
Scratch Junior
Plus d'informations sur Scratch Junior sont disponibles ici.
Run Marco
Tynker
Box Island
Les cartes électronique
micro:bit
CodeBug
Makey Makey
PicoBoard
Raspberry Pi
Le Raspberry Pi est un mini-ordinateur qui ne présente finalement qu'une carte-mère, un processeur et quelques ports de base, comme l'alimentation, USB et HDMI. La programmation s'y fait en Python et il est possible de faire de nombreuses choses avec cette petite boîte. Cet outil demande un niveau relativement avancé en programmation. Raspberry est un très bon outil pour mener à bien des projets très variés.
Les robots
Thymio
Poppy
Lego Mindstorms
Lego WeDo 2.0
Poppy
Les livres
1, 2, 3... CODEZ !
Découvrir le code près de chez soi
Internet et Code pour les filles
Ces ateliers sont proposés par des étudiant.e.s de l'EPFL pour promouvoir l'informatique auprès des filles de 9 à 12 ans.
Le Coding club des filles
Ces ateliers sont proposés par des étudiant.e.s de l'EPFL pour promouvoir l'informatique auprès des filles de 11 à 15 ans.
La semaine du code
Cet évènement est l'occasion de rassembler petits et grands autour de la programmation au travers de nombreuses activités organisées dans toute l'Europe. Pour en savoir plus vous pouvez visiter le site sur ce lien.
Les Coding Goûters
Bibliographie
Romero, M., Lille, B., Viéville, T., Duflot-Kremer, M., De Smet, C., et al. (2018). Analyse comparative d’une activité d’apprentissage de la programmation en mode branché et débranché. Educode - Conférence internationale sur l’enseignement au numérique et par le numérique, Bruxelles, Belgique. hal-01861732