J. Paul Gibson, chercheur en informatique à l’Université nationale d’Irlande, fit, en 1998, le constat suivant à propos de ses élèves. «Je voyais des jeunes de 18-19 ans qui éprouvaient de la difficulté avec les concepts de programmation de base que j’avais moi-même appris quand j’avais 12 ans». «J’ai réalisé qu’ils n’avaient jamais suivi de cours de code depuis le début de leur scolarité. Alors j’ai pensé que peut-être l’un des problèmes que nous avions, c’est qu’ils y venaient trop tard. »
Au début des années 2000, Gibson utilise des énigmes sous forme de jeu de construction pour enseigner les rudiments de Java aux enfants de 8-9 ans. Son succès l’amena à se demander si quels enfants étaient vraiment trop jeunes pour ne pas apprendre à coder.
Il fit alors des incursions expérimentales dans les classes maternelles avec des enfants âgés de 5 et 6 ans, les enfants réussissaient à saisir ses leçons avec une facilité surprenante.
Ainsi, il réussi avec eux à écrire un programme tic-tac-toe, fondé sur des règles simples formulées collectivement. Et en utilisant des boules de couleur et de la ficelle, il a enseigné aux enfants comment créer des algorithmes de graphes, une composante essentielle de l’informatique. »Nous croyons que notre travail montre que vous pouvez commencer à utiliser l’informatique pédagogique avant que les élèves ne sachent lire et écrire».
«Les enfants âgés de 5 à 11 ont tellement de potentiel pour l’apprentissage des algorithmes et des calculs qu’il serait dommage d’attendre jusqu’à ce qu’ils soient adolescents avant que nous leur enseignons les bases. » Cette idée émerge alors même que l’hypothèse générale voulait jusqu’alors que les jeunes enfants n’auraient pas les facultés de comprendre un sujet apparemment aussi ésotérique que la programmation.
Mais ce pessimisme est en contradiction non seulement avec les expériences de Gibson et d’autres enseignants pionniers, mais aussi avec la science de l’acquisition du langage. Des recherches approfondies ont montré que parce que les jeunes cerveaux sont si habiles à apprendre les langues, il est préférable d’initier les enfants aux langues étrangères dès que possible.
Nombre de parents ne réalisent pas encore que l’apprentissage du Mandarin mobilise les mêmes mécanismes neuronaux que les langages informatiques.
Peut-être vous souvenez du langage tortle (la tortue). Dans la première moitié des années 1980, ce langage de programmation Logo, avec son curseur en forme de tortue emblématique, a été l’engouement dans les écoles primaires américaines et françaises. En utilisant des commandes simples de logo pour créer des graphiques complexes, les enfants étaient censés développer la maîtrise de l’Apple IIe de qui avait commencé à apparaître dans leurs salons.
Mais Logo n’a pas réussi à tenir sa promesse car le problème principal n’était pas la langue elle-même, mais la façon terne dans laquelle il a été enseigné.
Aujourd’hui, avec les améliorations des interfaces vous n’avez plus besoin de connaître les commandes pour interagir avec l’ordinateur», dit Yasmin Kafai, professeur d’éducation à l’Université de Pennsylvanie.
La programmation a alors disparu des écoles primaires pendant des décennies, alors même que l’informatique est devenue une quête de plus en plus populaire au niveau des collèges. Un consensus culturel semblait surgir: Les enfants doivent apprendre un ensemble nébuleux de «compétences en informatique», mais la programmation, eh bien, c’était pour les adultes.
Au cours des cinq dernières années, cependant, un certain nombre de projets novateurs ont commencé à prouver que ce consensus avait tort. Outre les expériences de Gibson, un programme développé à l’Université du Colorado défie les enfants à coder leurs propres versions de Frogger . Au PS 185 à Harlem, des enfants de 4 ans utilisent un langage appelé Cherp à faire des robots accomplissent des tâches ménagères. En Estonie, une initiative appelée ProgeTiiger s’efforce d’enseigner les bases du code à tous les élèves de l’école primaire.
Ce que toutes ces initiatives ont en commun c’est l’accent mis non pas sur l’utilisation technique d’outils spécifiques, mais sur le développement de la familiarisation avec des concepts généraux qui sous-tendent tous les programmes de séquençage, conditionnelles ou de débogage.
Quand les élèves s’essaient à leur premier Code Frogger , par exemple, les instructeurs les incitent à penser d’abord à divers agents, c’est-, la grenouille et les véhicules meurtrières du jeu – et puis à toutes les interactions possibles de ces agents peuvent avoir entre eux. Les enfants apprennent lentement comment élaborer des règles et conditionnelles qui s’ajoutent à un tout fonctionnement logique.
Le fait que les jeunes enfants peuvent gérer des tâches complexes ne devrait pas être une grande surprise, étant donné de tout ce que nous savons au sujet de leur talent pour apprendre les langues. Les jeunes cerveaux savent plus facilement intégrer des souvenirs procéduraux, ceux qui deviennent si profondément ancrée dans la psyché d’une personne et leur permet de produire un réflexe naturel plutôt qu’une tâche consciente.
La capacité de mémoire procédurale diminue en faveur d’une mémoire dite « déclarative », que nous utilisons pour amasser des faits. L’inconvénient de la mémoire déclarative est qu’elle nécessite un effort mental bien plus important que lorsque vous essayez de conjuguer un verbe étranger à la volée.
Personne ne semble avoir étudié précisément comment les langages de programmation sont appris, mais il ya tout lieu de croire qu’ils sont mieux absorbés par les étudiants sensibilisés à former des souvenirs procéduraux.
«Je pourrais dire que les mêmes systèmes de mémoire qui sous-tendent l’apprentissage des langues chez les enfants et les adultes sont susceptibles d’être similaires à ceux des langages informatiques», explique Michael Ullman, directeur du Brain and Language Lab au Georgetown University Medical Center. Un point de données clé en faveur de ce point de vue est la preuve concernant la musique: les plus grands violonistes ne commencent pas l’apprentissage de l’instrument quand ils ont 20 ans mais quand ils ont plutôt 3 ou 4 ans, l’époque où la mémoire procédurale est la plus sensible.
Et qu’est la musique si ce n’est pas une forme de code-une série de signaux abstraits qui doivent être séquencées correctement afin qu’ils soient plaisants à l’oreille humaine- ?
Tout comme le bilinguisme précoce est pensé pour apporter des avantages cognitifs plus tard dans la vie, l’exposition précoce à la programmation et au code démontre des signes d’amélioration à la pensée mathématique : la capacité à résoudre des problèmes avec la pensée abstraite.
Comme le théoricien des médias Douglas Rushkoff a observé : ignorer les rudiments de la programmation s’apparente à compter sur les autres pour nous conduire dans l’ère du numérique. Hors la majorité de nos interactions dans 50 ans se fera avec des machines. Donc, nous allons apprendre à nos enfants comment faire avec elles, plutôt que l’inverse.
Cet article est une traduction inspirée de l’article du magazine wired.