Une salle de cours des années 60 est configurée avec une soixantaine d'étudiants devant des Autotutor Mark II.

Technologie des techniques éducatives

Les techniques éducatives sont cassées, réparons-les!

Radia PERLMAN, une figure maternelle

Je suis décidément de moins en moins fier des jeux de mots un peu faciles de mes titres. Le lecteur s’en affligera peut-être, une fois qu’il aura parcouru quelques lignes de ce billet.

Je ne reviendrai pas, cette fois encore, outre mesure sur le débat autour de #lézécrans, car je préfère le laisser aux fâcheux qui-croient-connaitre-des-trucs-sur-le-numérique. Mais, force est de constater qu’une grande partie de l’histoire de l’informatique a eu lieu sans écrans et qu’aujourd’hui encore, bon nombre d’objets connectés, dans lesquels est implémenté du code n’ont pas besoin d’écrans pour fonctionner. Si je trouve le débat sur les écrans généralement soporifique, il a, de mon point de vue, le mérite de faire émerger une excellente question, pourquoi réduire la question de la programmation à une pédagogie de l’écran et de la chaise. Dans ce billet, j’aimerais vous présenter une grande dame de l’informatique, Radia PERLMAN, et son système de programmation pour des enfants de 3 à 5 ans: T.O.R.T.I.S.

Radia Perlman, la mère de l’Internet … et de T.O.R.T.I.S.
Portrait de Radia PERLMAN
Portrait de Radia PERLMAN

Radia PERLMAN a été surnommée la mère de l’Internet pour le développement de protocoles réseaux performants. Cela lui a d’ailleurs valu d’être intronisée au Internet Hall of Fame en 2014. Mais ce n’est pas sur ce point que nous allons nous attarder aujourd’hui. Nous allons nous plonger dans un travail qu’elle a mené au milieu des années 70 au laboratoire d’intelligence artificielle du MIT, dans la continuité des travaux de PAPERT sur les tortues de sol. Elle a fait l’hypothèse, plutôt radicale, que des enfants de 3 à 5 ans pouvaient apprendre à programmer… à condition qu’on leur fournisse un environnement adéquat.

La button box

Comme le logo est inaccessible à des enfants non lecteurs, elle développe le système T.O.R.T.I.S. (Toddler’s Own Recursive Turtle Interpreter System que l’on peut traduire par Système d’interprétation récursive de tortues pour tout-petits). T.O.R.T.I.S. s’appuie d’abord sur le développement de la button box. Il s’agit d’une boite en plexiglas modulaire permettant de programmer une tortue de sol.

Une boite en plexiglas trnasparent comporte une vingtaine de boutons dont moitié sont des commandes pour le robot et l'autre moitié des boutons numérotés permettant d'affecter des quantités à ces commandes.
Turtle Talk Button box, seul le boitier principal (action et quantité) est visible

Cette boite de programmation rencontrera un certain succès, et mêle la couverture originale de Mindstorm de Papert ne montre pas des enfants programmant une tortue avec le LOGO sur un écran, mais avec cette button box.

Photo de couverture du livre Mindstorms: children, computers, and powerful ideas (Papert, 1984)

La button box est décrite dans le Logo memo #24 AIM 360 écrit par PERLMAN et qui est disponible ici. Elle scinde la button box en 4 parties:

  • l’action box
Détail de l’action box (d’après PERLMAN, 1976, p.10)
  • la number box
Détail de la number box (d’après PERLMAN, 1976, p. 11)
  • la memory box
Détail de la memory box (d’après PERLMAN, 1976, p. 12)
  • la four procedure box
Détail de la procédure box (d’après PERLMAN, 1976, p. 12)
Action box et number box

Bien que les entités action box et number box soient symboliquement distinctes, elles appartiennent physiquement à un boitier unique comme le montrent les photographies ci-dessus. Les actions sont associées à une valeur qui indique le nombre de fois que ces actions doivent être effectuées. Les valeurs d’avance -que PAPERT appelle les « pas tortue »- ne sont pas précisées, mais l’auteure propose de considérer que l’unité élémentaire de rotation soit de 5 degrés. L’enfant entre d’abord le nombre de fois que l’action doit être exécutée sur la number box, puis sélectionne l’action a exécuter avec l’action box. L’action et sa « quantité » sont ainsi différenciées, ce qui permet d’introduire aisément le concept de variables. Si l’enfant entre une action sans avoir sélectionné au préalable une quantité, elle prend automatiquement la valeur de l’unité.

Alors que la version classique de la button box comporte à la fois l’action box et la number box, la vidéo suivante datant de 1983, montre une button box comportant seulement l’action box. Celle-ci vise le travail de la relation à l’espace avec des élèves présentant des handicaps sévères at qui ne sont pas autonomes dans leurs déplacements, et par conséquent ont construit une relation à l’espace extra-ordinaire.

Usage de l’action box avec des enfants en situation de handicap (extrait de NOVA Saison 10 épisode 11 – Talking Turtle (1983))
La memory box et la procedure box

L’usage de la memory box et de la procedure box est documenté dans la note de Radia PERLMAN, mais elle reconnait elle-même, après essai, que son usage est vraisemblablement trop complexe pour de jeunes enfants.

L’observation la plus importante était que pour les enfants de quatre ans, le saut conceptuel vers la memory box est trop important. Plusieurs de ces enfants ont réussi à utiliser la boîte à mémoire, mais ils ne semblaient jamais la comprendre complètement. […]

En plus du problème que le saut vers la boîte de mémoire constitue un saut conceptuel trop important, la button box présente l’inconvénient supplémentaire qu’il n’y a aucun moyen de modifier les procédures. Sans la possibilité de les éditer facilement, l’enfant n’apprend pas le concept sain qu’il n’y a pas de « bonnes» ou de «mauvaises» procédures, et qu’il peut corriger chacune de celles-ci pour en faire ce qu’il veut, et que même une procédure fonctionnelle peut toujours être améliorée. Mais ajouter des commandes d’édition avant que l’enfant ne maîtrise les quatre boutons de mémoire submergerait l’enfant avec trop de concepts. Pour résoudre ces problèmes, j’ai conçu la slot machine.

(Perlman, 1976, p. 16) traduction libre

L’installation requise pour bénéficier d’un écran est également complexe, l’enfant devant partager son attention entre le boitier, l’écran et la tortue comme le montre le photomontage ci-dessous. Les Résultats de PERLMAN montrent principalement que les enfants de 4 ans ne peuvent pas se concentrer sur les trois artefacts simultanément et finissent par en privilégier un au détriment des autres.

Utilisation de la button box (sans la procedure box, mais avec la memory box). En haut à droite Radia PERLMAN montre apparemment à l’enfant la procédure qu’il a créée, sur l’écran de l’ordinateur. (Source oubliée)

Ces limites amènent Radia PERLMAN à développer une seconde machine presqu’aussi étonnante que la button box: la slot machine.

La slot machine

Il existe malheureusement peu de documentation sur cette machine qui est pourtant étonnante dans sa conception. En effet, il s’agit vraisemblablement de la première machine permettant d’enseigner la programmation de façon tangible. Il n’en existe apparemment qu’une seule photographie sur le web, et celle-ci est généralement tronquée. La version ci-dessous, montrée par McNerney, 2004, est probablement la version complète. Contrairement à la plupart des photos disponibles, celle-ci montre une série de cartes sur le bord inférieur gauche.

Photographie de la slot machine de Radia PERLMAN (Robert W. Lawler)

Pour rendre les programmes modifiables, Radia PERLMAN s’éloigne (un peu, comme on le verra après) de la solution retenue pour la button box. Ici les programmes sont rédigés avec l’aide de cartes. Ces cartes sont apparemment perforées, même si la qualité de l’image ne permet pas d’être certain de ce point. Le fait que Radia PERLMAN explique que les cartes sont en plastique (et donc pas électroniques) et que les cartes soient reproductibles aisément et à bas coût permet d’envisager cette solution technique comme étant la plus probable.

La photographie montre des motifs irréguliers de points qui laissent supposer à un codage binaire par perforation.

Je n’ai, malheureusement pas retrouvé de texte dépouillant les aspects matériels de cette machine. Je n’ai pas trouvé, non plus, dans les memo du MIT ou ailleurs de compte-rendu de recherche sur son usage avec des enfants. En revanche, le principe de fonctionnement des cartes est détaillé dans le mémo de 1976. Les cartes de la slot machine remplissent différentes fonctions qui sont assez proches de celles de la button box. Il existe quatre types de cartes différentes par slot (fente) :

  1. Les cartes d’action
  2. Les cartes de nombre
  3. Les cartes de variable
  4. Les cartes conditionnelles

Les cartes d’action qui reprennent les actions de la button box et 3 des 4 procédures de la procedure box. le programme « bleu » semble devenu la procédure principale par défaut, mais certains passages de la note restent assez ambigus sur ce point.

Liste des cartes d’action pour la slot machine (Perlman, 1976, p.18)

Les cartes nombres, plus petites, prennent les mêmes valeurs que celles de la number box.

Liste des cartes de nombre pour la slot machine (Perlman, 1976, p.18)

Tout comme dans la button box, les cartes d’action et de nombre, symboliquement distinctes n’ont pas de réelle raison d’exister de façon indépendante lors des usages courants. Un programme s’écrit à lors de la façon suivante:

Programme implémenté dans la slot machine pour dessiner un carré (Perlman, 1976, p.18)

Le troisième jeu de cartes permet d’utiliser des variables et de les modifier lors de la réalisation du programme. Elle est constituée de 2 sous-jeux de cartes, les grandes avec lesquelles on effectue une « action » sur les variables, les petites où les variables sont utilisées pour leur valeur numérique. Quand les variables sont utilisées avant d’être déclarées, elles prennent la valeur de l’unité par défaut. PERLMAN ne considère pas ces cartes comme une catégorie spéciale, mais comme des cartes d’actions et de nombre.

Exemples de cartes de variables pour la slot machine (Perlman, 1976, p.18)

Ainsi, si l’on veut affecter la valeur 5 à la variable triangle, il faut associer la première carte de l’illustration ci-dessus (un triangle avec un trait incliné symbolisant un « crayon ») avec une carte nombre « 5 » dans une fente de la slot machine. La quatrième carte (un triangle dans une carte de la taille d’une carte nombre) vaut alors « 5 ».

Programme implémenté dans la slot machine pour dessiner une spirale avec des variables (Perlman, 1976, p.20)

Enfin, PERLMAN propose une dernière série de cartes, les cartes conditionnelles qui sont plus grandes que les cartes d’action. Les cartes impliquent que la condition soit « VRAIE », ce qui implique des carte « EST » et des cartes « N’EST PAS ».

exemples de cartes conditionnelles pour la slot machine (Perlman, 1976, p.18)

Radia PERLMAN propose une certaine progressivité dans la maitrise de la slot machine (L’influence piagétienne dans le constructionnisme peut-être). Il faut d’abord maitriser l’usage des cartes d’action et de nombre avant de passer aux variables, puis maitriser les variables pour aborder les cartes conditionnelles.

En guise de conclusion

Le premier point qui me fascine, c’est l’idée d’une programmation par « tuile » et la proximité entre cette forme de programmation sur la slot machine et Scratch. Ce n’est qu’une demi-surprise si on pense à la philosophie de programmation, puisque Radia PERLMAN et Mitchell RESNICK ont tous deux travaillé avec Seymour PAPERT et ont fréquenté, certes à des époques différentes, les mêmes institutions. En revanche, je suis admiratif du fait que dans les conditions de l’informatique des années 70, avec l’intuition que la programmation devait être accessible à tous (c’est déjà le projet du LOGO), Radia PERLMAN en arrive à imaginer des solutions qui permettent d’appréhender les bases de la programmation avec une interface « intuitive » destinée à des élèves non lecteur.

Au-delà de ce constat possiblement biaisé par une forme d’anachronisme, il est assez frustrant de ne pas retrouver de trace des résultats des expérimentations de PERLMAN sur la slot machine. Je trouve que ses hypothèses sur le travail de programmation avec de jeunes enfants sont passionnantes, mais je garde toujours un œil circonspect envers le très grand enthousiasme des constructionnistes. Sans remettre en cause le bien-fondé de leur réflexion, il existe une certaine distorsion entre leurs présentations souvent très optimistes et un certain nombre de travaux des années 80 sur le LOGO et les tortues qui le sont un peu moins.

En tous les cas, l’idée d’une programmation avec des objets conceptuels, mais tangibles parait vitale au moment où l’école se ferme aux technologies et promeut des fonctionnements magistraux mâtinés de behaviorisme, voire de psittacisme. Il semble indispensable de réouvrir des chantiers comme ceux ouverts par Radia PERLMAN et qui ont permis de faire emprunter aux enfants des voies originales, inédites. Le terme d’innovation, tellement galvaudé aujourd’hui, parait pouvoir s’appliquer sans réserve à la réflexion de PERLMAN. J’émets l’hypothèse que dans notre « monde numérique » ou l’informatique et la robotique sont très accessibles, il pourrait être facile de reconstruire une slot machine. Cette dernière permettrait sans doute de « finir » ce travail, et savoir si les intuitions de PERLMAN étaient fondées, ou à défaut d’explorer les pistes qu’elle nous a ouvertes.

Cette pensée me semble également un « bon » exemple à suivre, car au-delà de la complexité technique indéniable du dispositif, dont on se rend finalement assez peu compte dans le contexte de la « société numérique » dans laquelle nous vivons, ce qui caractérise le travail de PERLMAN sur T.O.R.T.I.S., c’est le fait qu’elle ait mis en musique, non pas un désir de technologie, mais une vision très claire de « l’informatique » qu’elle voulait faire apprendre aux jeunes enfants. Elle a, malgré les apparences, posé la question des apprentissages avant la question des techniques disponibles.

Bien entendu, vous avez le droit de ne pas être d’accord!
Bibliographie

.