Apprendre la programmation aux enfants

Je suis allé assister à une présentation par Microsoft de leurs outils pour enseigner le code aux enfants. J’en profite pour réfléchir un peu à la question et pour re-situer cet événement dans la tendance actuelle.

Un sujet à la mode

Si vous prêtez un tant soit peu l’oreille, vous aurez entendu régulièrement, depuis quelques mois, des discours portant sur l’importance d’enseigner “le code” aux enfants, dès leur plus jeune âge. Pourquoi cette envie d’une part croissante de la population de coller ses enfants devant un écran ?

Plusieurs études (The Economist, quelques cabinets de conseil…) pointent du doigt depuis un certain temps le raz-de-marée social et économique que représente la digitalisation de l’économie. En quelques mots :la productivité sera décuplée, mais en conséquence le taux de chômage devrait exploser. On remarque que Whatsapp, avec quelques employés, a été rachetés plusieurs milliards de dollars. Des start-ups sont estimées valoir plus que des titans des secteurs industriels qui, eux, peinent à s’adapter aux mutations rapides de notre monde. On estime que la plupart des métiers de 2030 sont encore à inventer, et que la quasi-totalité d’entre ces nouveaux métiers sont en lien avec le numérique. On parle d’une nouvelle révolution industrielle, une révolution numérique.

Par conséquent, il paraît avisé de nous préparer. C’est d’ailleurs le calcul que beaucoup d’entre nous avons déjà fait. La même logique nous enjoint de préparer nos enfants, de la même manière qu’après l’anglais, le chinois a beaucoup de succès dans les écoles désormais. Les pays “Occidentaux” et “technologiquement avancés”, sont particulièrement concernés : il s’agit de conserver sa place parmi les heureux pays à l’économie tertiarisée et qui se doivent de rester à la pointe de la technologie, avec une population qui comprend et développe cette science.

Attention, il ne s’agit pas tout à fait de la tendance qui consiste à chercher à numériser l’éducation en exploitant davantage les outils modernes à notre disposition, comme les MOOCs, les Environnements Numériques de Travail ; il s’agit d’ intégrer suffisamment tôt le code dans l’éducation dispensée à nos enfants.

Evidemment, cela soulève beaucoup de questions :
* Oui, c’est important pour l’économie du pays, mais quid du développement personnel des enfants ? Faut-il les scotcher à l’écran dès 5 ans ?
* A partir de quel âge faut-il enseigner le code ? Y a-t-il seulement un âge standard, d’ailleurs ?
* Comment enseigner le code ?
Bien d’autres débats sont soulevés encore, mais je voudrais ici discuter de la troisième question : comment enseigner le code à des enfants ?

Enseigner le code

Tel qu’il a été enseigné depuis les années 60, le code est abordé dans les études supérieures, et pas avant. Ca paraît dommage à beaucoup de personnes qui estiment qu’on peut apprendre bien plus tôt et que c’est par ailleurs souhaitable, étant donné que ça éduque la logique et les capacités de résolution de problème. Notons au passage qu’on dit ça de la philosophie depuis longtemps, et qu’elle n’est toujours pas abordée avant la terminale, mais qu’apparemment les défenseurs du code à l’école sont de meilleurs communicants.

Je partage l’idée qu’il est intéressant d’étudier assez tôt le code, pour de multiples raisons : ça donne une utilité aux maths (“enfin !” diront certains, les larmes aux yeux), ça développe les capacités d’abstraction, ça implique énormément d’ouverture d’esprit aux idées nouvelles, ça enseigne l’humilité et plus globalement, une certaine “éducation civique”, à travers l’apprentissage du travail communautaire, du partage, de l’amélioration continue, du feedback, et de beaucoup d’autres choses que je découvre grâce à mon apprentissage personnel tardif.

A partir de quel âge ?
Il y a beaucoup de stakhanovistes qui parlent d’enseigner le code dès 6 ans, dès 5 ans, dès le berceau. Je pense que jusqu’à 8 ans, les enfants ont d’autres choses à apprendre que les boucles et le fonctionnement des variables. Les enfants doivent évoluer dans un environnement physique, sensoriel, apprendre à fréquenter d’autres personnes face_à_face, etc. . Et puis franchement, on peut créer des outils pour coder sans savoir lire, mais je ne suis pas convaincu de l’utilité d’apprendre à coder à des enfants avant qu’ils sachent bien lire et bien compter : même avec le célèbre Scratch, on ne peut pas faire grand chose sans ces pré-requis.

Quels outils employer ? Il existe pas mal d’outils qui peuvent cependant introduire des notions liées à la programmation très tôt, notamment à travers les jeux. Attention, un peu comme avec tout outil, il faut toujours un temps de prise en main. Et il est à peu près impossible de naviguer dedans sans… savoir lire, précisément !

Bon, donc il y a Scratch, déjà : un outil accessible en ligne (téléchargeable si on veut) qui permet de faire des choses très visuelles, assez facilement. Ca a été développé par le MIT, c’est très connu, on peut partager des choses, bref : c’est cool ! C’est certainement l’outil le plus utilisé dans les ateliers de coding pour les enfants aujourd’hui.

Pour des plus grands qui aiment qu’on leur explique les choses clairement, il y a des MOOCs (Massively Online Open Courses, prononcer mouk). Je sais qu’il y a Microsoft qui fait des choses pour les enfants, et les ados… Eh bien, ils sont assez grands et débrouillards pour aller sur les plateformes connues comme France-Université-Numérique (fr), Coursera, EdX ou Udacity (ces 3-là sont des plateformes américaines avec quelques cours en français mais souvent des traductions).

On peut aussi parler de jeux qui peuvent éduquer le sens du travail en équipe, de la construction, de la planification. Minecraft est un bon exemple. On fabrique des structures de notre choix en récoltant de la matière première ; on peut le faire en équipe (c’est plus marrant) et selon le mode de jeu, on a des contraintes. Le résultat peut être parfois bluffant :

Il y a une multitude d’outils, en fait ; mais j’aimerais aussi mentionner Spark (de Microsoft ; successeur de “Kodu”, il bénéficie pour le moment d’une communauté moins large mais on peut supposer que la forte communauté Kodu va se déplacer sur Spark). Alors là, pour le coup, c’est très beau et très complet. Par contre, c’est très très propriétaire et je ne peux pas trouver d’images libres de réutilisation à coller ici, alors tant pis pour eux, ça leur fera moins de pub. Allez, je me permets de leur faire de la pub et de mettre des trucs trouvés sur d’autres sites, c’est sans doute qu’ils n’ont pas l’habitude de partager…

Bien sûr, ça tourne exclusivement sur Windows 8 (et même peut-être juste 8.1) pour le moment, et je crois qu’il est nécessaire d’avoir une manette de XBox pour tester…
Mais pour l’avoir essayé (ça tourne sur une Surface 2), c’est assez impressionnant dans le rendu, très très joli.

Enfin, je ne peux pas terminer cet article sans parler de hardware, sinon des gens de Simplon vont m’assassiner.
La mouvance DIY (Do it yourself) a beaucoup d’émules en France, et de nombreuses solutions relativement abordables financièrement existent pour permettre à vous et nos chères têtes blondes d’apprendre l’électronique, la programmation, les bases de l’informatique et la robotique à la fois. On peut mentionner Arduino, Raspberry Pi, Galileo… ou même Lego, qui propose un certain nombre de jouets programmables (assez chers, par contre).

On pourrait écrire des livres sur le sujet de l’apprentissage du code, mais je souhaitais ici donner quelques outils à regarder — et mon point de vue sur la question, dans une certaine mesure. N’hésitez pas à me contacter pour en discuter ou en débattre, je ne demande qu’à faire mûrir mon opinion.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.