Enseigner la programmation aux enfants

De EduTech Wiki
Aller à : navigation, rechercher

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.

1 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

2 Les activités débranchées

Selon Romeo et Al., 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.

3 Les applications web

3.1 Scratch

Scratch est un langage de programmation et une communauté en ligne où tu peux créer tes 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.

3.1.1 Liens utiles

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

3.3 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 intantanément du code Blockly au code JavaScript, ce qui peut être très utile.

3.3.1 Lien utile

3.4 Snap!

Cette application web est similaire à Scratch mais plus puissante. En effet, elle mixe Scratch et Sheme (first class procedures, lists, objects, continuations).

4 Les applications pour smartphone et tablette

4.1 Scratch Junior

Plus d'informations sur Scratch Junior sont disponibles ici.

4.2 Run Marco

4.3 Tynker

4.4 Box Island

5 Les cartes électronique

5.1 micro:bit

5.2 CodeBug

5.3 Makey Makey

5.4 PicoBoard

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

6 Les robots

6.1 Thymio

6.2 Poppy

6.3 Lego Mindstorms

6.4 Lego WeDo 2.0

6.5 Poppy

7 Les livres

7.1 1, 2, 3... CODEZ !

8 Découvrir le code près de chez soi

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

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

8.3 La semaine du code

Cet évenement 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 : http://codeweek.eu/

8.4 Les Coding Goûters

9 Liens

(/à-faire)

10 Bibliographie

Margarida Romero, Benjamin Lille, Thierry Viéville, Marie Duflot-Kremer, Cindy de Smet, et al.. 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, Aug 2018, Bruxelles, Belgique. hal-01861732