France

La programmation pour les enfants: et pourquoi pas le code en LV3 ?

Alors que l’informatique est omniprésente et que l’initiation –même superficielle– à la programmation semble plus nécessaire que jamais, son enseignement se raréfie et les salles de classe se vident petit à petit.

Temps de lecture: 6 minutes

Des mots, des conjonctions, des signes de ponctuation et des symboles mathématiques s’imbriquant dans un ordre mystérieux: voilà ce que voit un néophyte confronté à des lignes de code. Ce néophyte, c’est moi, c’est peut-être vous, c’est en tout cas la majeure partie de la population qui n’a pas été mise dans la confidence.

Pourtant, les bases de la programmation informatique ont bel et bien été enseignées dans les lycées français. Le Plan Informatique pour Tous, présenté en 1985 par Laurent Fabius, alors Premier ministre, a équipé les écoles en matériel offrant aux élèves –et avant eux à leurs enseignants– un premier contact avec les ordinateurs. Dans les cartons: des grosses machines, des langages de programmation spécialement conçus pour les débutants comme BASIC et Logo, et des logiciels éducatifs.

Aujourd’hui, alors qu’il existe une vaste typologie de langages, que l’informatique est omniprésente et que l’initiation –même superficielle– à la programmation semble plus nécessaire que jamais, son enseignement se raréfie et les salles de classe se vident petit à petit.

Back to Basic

L’informatique personnelle est un pur produit issu des grandes utopies de cette Amérique des années 60-70, celle qui croyait qu’à défaut de pouvoir avoir une quelconque influence sur le monde tel qu’il était – corrompu, figé et perdu – il convenait d’en créer de nouveaux.

L’ordinateur était une réponse, tout comme le furent les drogues, les communautés hippies, les rêves de colonies spatiales et de n’importe quel environnement réel ou virtuel qui offrait un territoire vierge pour tout recommencer.

Machine à penser et outil à tout faire, l’ordinateur est envisagé comme un moyen de connaissance et d’interaction. Il exécute les ordres donnés dans une syntaxe à l’impératif premièrement conçue pour être lue par d’autres individus.

Pourtant son utilisation reste ardue: alors que certains comme Douglas Engelbart souhaite qu’il reste un instrument pour virtuose, d’autres comme Alan Kay ont tout fait pour le rendre accessible au plus grand nombre en créant des langages simples «orientés objet» tels que Smalltalk afin que même les enfants puissent les manipuler. Mais en planchant sur Smalltalk, Kay n’avait pas vraiment prévu que son langage pour les petits engendrerait le C++, un des joujoux fétiches des véritables initiés.

Situation paradoxale

L’emploi des machines et des langages ont un peu vrillé les intentions de ceux qui les ont premièrement imaginés. Grâce à l’apparition des interfaces graphiques, rendant l’interaction avec la machine bien moins fastidieuse, et celle des logiciels facilitant la vie en apportant un panel de solutions pour une tâche précise – comme le traitement de texte ou la mise en page — l’informatique personnelle commence sa véritable conquête des ménages et des bureaux.

Alors que l’emploi de l’ordinateur se répand massivement, la programmation est délaissée par la majorité de ses nouveaux utilisateurs qui n’ont pas le besoin de communiquer avec le cœur de la machine.

Le logiciel, privilégiant le dialogue de surface, réduit paradoxalement le potentiel d’empowerment – comme on dit aux Etats-Unis – des individus qui devaient originellement pouvoir employer l’ensemble de la force de calcul de l’ordinateur pour développer leur créativité et pourvoir à leur propres besoins.

Dans une interview donnée au magazine Known Users en novembre 1987, Bill Atkinson programmeur de talent au service d’Apple constatait déjà que «le rêve de Macintosh n’était pas complet car les individus ne pouvaient avoir accès à la totalité du pouvoir d’un ordinateur personnel. Ils ne pouvaient utiliser que du pouvoir en boîte.»

Quiproquo, clichés and co.

C’est alors que l’on s’est mis à produire des ordinateurs prêts à l’emploi et à enseigner dans des boites: petit à petit, les cours d’informatique ont cessé d’apprendre la programmation pour enseigner la maîtrise de logiciels de base.

Le code a été tout simplement boudé, jugé à la fois peu formateur et trop complexe pour gamins qui seraient certainement et majoritairement embauchés dans le tertiaire ainsi que pour leurs enseignants qui n’y entendait pas un mot ni une ligne. On a formé les futurs travailleurs de la «société informationnelle» avec Office, oubliant qu’elle se structure sur des mécaniques computationnelles.

Lassés d’avoir bouffé des slides de PowerPoint et des tableurs Excel dans leurs jeunes années, les étudiants se sont détournés peu à peu de l’étude de l’informatique confondant, bien malgré eux, l’apprentissage d’applications qu’ils trouvent généralement inintéressantes et celui des sciences computationnelles dont ils ne comprennent même pas l’intitulé.

La programmation, considérée a priori et à tort comme ennuyeuse, ne pouvait alors qu’intéresser les geeks, ces types à qui l’ont n’a pas envie de ressembler car ils portent tous des tee-shirts ringards, avec des MANCHOTS ou des sigles de groupes de métal norvégiens en logo, qu’ils tâchent de pizza lors de sessions nocturnes de code.

Désintérêt et délocalisation

Pour les programmeurs et les enseignants, ces confusions et clichés sont les principaux responsables du désintérêt des étudiants pour ces sciences, induisant une chute remarquable du nombre d’inscrits dans leur matière. Dans une interview, Steve Furber, professeur renommé, donne des chiffres: en huit ans, moitié moins d’étudiants anglais ont opté pour cet enseignement en A-level.

Il déplore cette perte non seulement pour les élèves mais aussi pour le pays:

«On fait beaucoup d’esbroufe sur la délocalisation d’activités telles que la création de logiciel, mais ce qui n’est pas clair dans cette histoire c’est où est la charrue et où sont les bœufs. Est-ce que les entreprises délocalisent par ce que cela leur coûte moins cher et dans ce cas nous perdons des emplois sur le territoire, ou bien le font-elles parce qu’elle ne peuvent tout simplement pas recruter ici si bien qu’elles à se mettent rechercher des gens compétents ailleurs?».

En effet, de nombreuses entreprises délocalisent certaines de leurs activités de programmation vers des pays tel l’Inde, la Russie, la Turquie, qui offrent une formation solide et spécifique à des étudiants qui deviendront des employés aux exigences salariales moins élevées.

Quand bien même les étudiants se sentent concernés par l’étude de la programmation, ils ne trouvent pas forcément les formations qui leur permettront d’avoir les compétences nécessaires pour mener les projets toujours plus complexes des industries digitales.

«Un cours a besoin d’être populaire pour faire économiquement sens. On pourrait croire que les universités détectent les besoins des industries et s’assureraient qu’ils occupent une place centrale dans l’enseignement, mais malheureusement ce n’est pas comme cela que ça se passe», explique Saint John Walker - Manager pour les jeux-vidéo chez  Skillset - qui craint que les universités s’inquiètent plus de remplir leurs amphis que de préparer leurs étudiants à la vie active.

Une machine à penser

Entourés d’objets digitaux, les bambins d’aujourd’hui n’ont que des compétences logicielles et aucune connaissance en programmation. Partant de ce postulat, les membres du LifeLong Kindergarten du MIT ont développé un langage appelé Scratch, dérivant de SmallTalk.

S’inscrivant dans les traces de Kay, Scratch ambitionne de contribuer au développement psychologique des bambins en favorisant la pensée créative, le raisonnement systémique et le partage des productions – histoires, jeux, animations et simulations – en ligne avec d’autres membres de la communauté.

Il y a aujourd’hui toute une batterie de langages créés spécialement pour les enfants. Scratch n’est pas le seul langage à disposition, bien qu’il soit le plus diffusé. Il en existe de tous types et pour plusieurs âges: les 6-10 ans peuvent aussi commencer à bidouiller sur Squeeze, Logo ou Alice, les 10-15 ans sur Phrogram ou GreenFoot puis continuer leur apprentissage à l’adolescence sur les langages «d’adultes» comme Python, C, C++ ou Java.

L’ordinateur est de nouveau perçu comme une machine à penser et à faire penser: la programmation enseignerait ludiquement la rigueur réflexive et syntaxique, car l’ordinateur n’a pas la subtilité de tolérer l’erreur, tout en inculquant de manière presque intuitive les principes fondamentaux des mathématiques grâce à une visualisation immédiate des commandes.

Dans un article datant de 2006 magnifiquement intitulée Why Johnny can’t code?, le scientifique et auteur de SF explique que la méconnaissance du code et son accès difficile même pour les élèves les plus motivés est «un problème pour la nation et pour la civilisation» américaines. Aux Etats-Unis, les anciens manuels scolaires de mathématiques proposaient aux enfants de tester les équations sur BASIC afin de voir sur l’écran se former une pensée abstraite, et c’est cela que Cornad Wolfram tente de remettre au goût du jour avec ses cours.

Programmer ou être programmé

«Aucun de nous ne souhaite forcer ses enfants à embrasser la carrière de programmeur, mais nous sommes tous d’accord sur le fait qu’il est important de les familiariser avec ce qui est, sans aucun doute, le plus puissant outil dont nous disposons». Ces affirmations sont légions sur les forums de parents. Car mettre en place des petits mondes permettrait aussi de comprendre celui des grands.

Dans son dernier livre intitulé Program Or Be Programmed, l’essayiste Douglas Rushkoff voit dans la programmation une des rares opportunités qu’a eues l’être humain – après l’invention de l’écriture et celle de l’imprimerie – de pouvoir agir sur l’environnement tout en le créant par le texte.

La programmation deviendrait alors nécessaire car elle permet aux individus d’accéder à la connaissance qui permet a fortiori le choix et la liberté. En comprenant comment les systèmes sont conçus on découvre qu’ils ne préexistent pas en eux-mêmes et que l’on peut décider de les accepter ou de s’en détourner. Les interfaces sont des univers conçus par d’autres, toujours à dessein.

Bien qu’il soit aujourd’hui tout aussi facile, si ce n’est plus, de programmer qu’avant, nos bécanes et nos usages encouragent la simple consommation d’applications. Jamais il n’y a eu autant de jeunes manipulant des ordis, des tablettes ou des smartphones, et si peu d’entre eux comprennent quelque chose à leur fonctionnement intrinsèque. La génération des bidouilleurs a laissé place à celle des consommateurs, qui achètent des produits dont on ne voit pas les vis/vices.

Une fois encore le fameux et fumeux concept de Digital Natives prend du plomb dans l’aile et celui de «Digital Illiterates» devient de plus en plus pertinent. Car l’initiation à la programmation, sa compréhension et sa pratique – ne serait-ce que minime – scinde ces «Digital Natives» qui utilisent tous l’informatique quotidiennement en deux groupes distincts: d’un côté ceux qui lisent et écrivent grâce à la machine (chat/word/blog/réseaux sociaux) et ceux qui en plus savent écrire à la machine (programmation).

Stéphanie Vidal

cover
-
/
cover

Liste de lecture