LOGO: Qu'est ce qui se développe ?

Patrick Mendelsohn, TECFA - FPSE - Université de Genève
Conférence donnée dans le cadre du
COLLOQUE LOGO ET APPRENTISSAGES
Université de Fribourg : 3-6 octobre 1990

Résumé

Quel rapport y a-t-il entre l'apprentissage de LOGO et l'étude du développement cognitif ? Alors que le point de départ de LOGO était une tentative pour "implémenter" un modèle du développement cognitif d'inspiration cognitiviste, il semble que les acquisitions liées à cet environnement n'aient jamais fait l'objet d'une étude génétique alors que cela se justifie pleinement du point de vue théorique. L'objectif de cet exposé est de voir s'il est possible de réparer cette lacune, manière comme une autre de revenir aux sources de LOGO dont la conception relève du mariage entre l'intelligence artificielle et le constructivisme génétique. Une chose est certaine, les activités LOGO ne sont pas un simple jeu d'assemblage de "cubes" élémentaires de connaissances. Très vite, l'apprenti-programmeur est confronté à des techniques de programmation sophistiquées qui n'ont plus rien à voir avec la simple juxtaposition de primitives ou la réunion sous un seul terme d'un ensemble de commandes. C'est donc à un travail d'analyse et de clarification que je voudrais vous convier en partant d'un exemple de progression LOGO sur la programmation du tracé d'une même figure simple. Cet exemple me sera utile dans un deuxième temps pour proposer un cadre d'analyse des différentes composantes développementales impliquées dans les activités de programmation de ce type. Je terminerai cet exposé par un aperçu des implications didactiques de ce modèle.

Table des Matières

1. LOGO est-il un bon modèle pour l'étude du développement cognitif?
2. Un exemple: la construction d'un quadrillage sur l'écran LOGO
3. Un modèle pour aborder les activités LOGO d'un point de vue développemental.
4. Quels objectifs pédagogiques est-il possible d'assigner à LOGO dans un curriculum:
Références Bibliographiques

Logo est à l'origine d'une littérature abondante dans les domaines de la recherche en éducation (apport de LOGO à l'enseignement des disciplines) et de la psychologie cognitive (influences de LOGO sur le fonctionnement cognitif, transfert d'apprentissage). Il n'est pas dans mon propos de faire ici une revue de question ex-haustive de cette littérature (on peut se reporter à plusieurs articles de synthèse sur ce sujet: Mendelsohn, 1988; Mayer, 1988) mais plutôt d'examiner une question qui me paraît pourtant essentielle dans le contexte de ce symposium et qui, à ma connaissance, est peu traitée par les psychologues: quel rapport y a-t-il entre l'apprentissage de LOGO et l'étude du développement cognitif ?

1. LOGO est-il un bon modèle pour l'étude du développement cognitif?

Il ne faut pas oublier en effet que le point de départ de LOGO est, si l'on en croit un des textes fondateurs de cette entreprise (Papert, 1980), une tentative pour "implémenter" un modèle du développement cognitif d'inspiration constructiviste. L'idée originale était de proposer aux enfants un "micro-monde" de commandes informatiques qui se laisserait organiser comme les schèmes "piagétiens". Dans cet univers constructiviste, toute connaissance est conçu comme une composition plus ou moins complexe d'unités élémentaires de savoirs et de savoir-faire. Les plus élémentaires d'entre elles faisant l'objet d'une "programmation" cachée plus contraignante. C'est le sujet actif, par son activité assimilatrice, qui est alors le seul bâtisseur de ses structures cognitives par le jeu des adaptations progressives de ses schèmes aux buts qu'il se fixe.

Il semble qu'une étude génétique des acquisitions liées à LOGO n'ait jamais été réellement tentée par les psychologues alors qu'elle se justifie pleinement d'un point de vue théorique. L'objectif de cet exposé est de voir s'il est possible de réparer cette lacune; manière comme une autre de revenir aux sources de LOGO qui était considéré, à l'époque de sa conception, comme un des enfants né du mariage entre l'intelligence artificielle et le constructivisme génétique.

Si l'on s'en tient à cette position de principe, que peut-on dire de LOGO comme "métaphore" du développement cognitif ? Kurland et Pea (1984) avait déjà constaté que très peu de travaux étaient consacrés à cet aspect du problème. La proposition qu'ils faisaient de distinguer des niveaux d'expertise dans la pratique de la programmation était d'une inspiration plus "résolution de problème" que "développementaliste". Je n'avais trouvé, à l'époque qu'une seule entreprise de cette nature (Mc Keough, 1985) dont l'inspiration théorique était nettement néo-piagétienne. Cet auteur se proposait de considérer la programmation graphique avec la "tortue" comme la transformation d'une représentation analogique en une représentation propositionnelle avec quantification. Son modèle l'amène à distinguer, suivant un principe analogue à celui de Case (1985), quatre niveaux pour décrire cette évolution dans des tâches de reproduction de tracés graphiques:

A ma connaissance ces travaux n'ont pas eu de suite. Les raisons de cette absence d'intérêt pour les aspects développementaux tiennent peut être pour une part à l'épuisement du paradigme des stades en psychologie cognitive mais elles sont aussi dues aux difficultés introduites par l'intrication des différents domaines de compétence en jeu dans toute activité de programmation. Une chose est certaine, les activités LOGO ne sont pas un simple jeu d'assemblage de "cubes" élémentaires de connaissances. Très vite, l'apprenti-programmeur est confronté à des techniques de programmation sophistiquées qui n'ont plus rien à voir avec la simple juxtaposition de primitives ou la réunion sous un seul terme d'un ensemble de commandes (modularité simple). L'itération, la modularité complexe ou encore la récursivité pose des problèmes d'expertise qui semblent très éloignés des analyses traditionnelles de la psychologie du développement.

Est-ce une raison suffisante pour renoncer à toute tentative d'utiliser LOGO comme un modèle du développement cognitif ? Si j'ai pu le penser à un certain moment, je suis maintenant convaincu que nous nous sommes découragés un peu vite, attirés par d'autres chimères (en particulier le problème du transfert). C'est donc à un travail d'analyse et de clarification que je voudrais maintenant vous convier en partant d'un exemple de progression LOGO sur la programmation du tracé d'une même figure simple . Cet exemple me sera utile dans un deuxième temps pour proposer un cadre d'analyse des différentes composantes développementales impliquées dans les activités de programmation de ce type. Je terminerai cet exposé par un aperçu des implications didactiques de ce modèle.

2. Un exemple: la construction d'un quadrillage sur l'écran LOGO

Considérons dans un premier temps, un exemple de progression très simple qui illustre une démarche de type "constructiviste" et que j'ai exposé il y a déjà quelques temps à l'occasion de la "Second European Conference on Developmental Psychology" (Mendelsohn, 1986). L'enfant doit représenter sur l'écran un quadrillage de 5X5 carrés (figure 1) en utilisant seulement un ensemble limité de commandes LOGO (AV n; RE n; TD n; TG n; LC; BC) et une grammaire simplifiée: séquentialité, répétition, modularité. Une analyse en niveaux, relativement au type d'objets que contrôle le sujet, nous permet de proposer la progression suivante:

En résumé, gardons à l'esprit, pour la suite de notre propos, que l'enfant construit ses procédures à partir 1) d'une représentation spatiale plus ou moins élaborée du modèle (en déplacements, lignes ou ensemble de lignes), 2) d'une représentation propositionnelle de ces mêmes objets (dénomination en référence à des objets, des actions), 3) d'un traitement logique associé à l'organisation temporelle des commandes (modularité, itération...) et enfin 4) du traitement des aspects dimensionnels de la figure (variables, paramètres...)

3. Un modèle pour aborder les activités LOGO d'un point de vue développemental.

Ce court exemple nous a donc permis de distinguer au moins quatre progressions parallèles qui semblent impliquées à des degrés divers dans le développement des compétences de l'apprenti-programmeur: les deux premières reprennent la proposition de Mc Keough (1985), qui considère LOGO graphique comme une transposition d'une représentation analogique en une représentation propositionnelle. Mais il faudrait cependant souligner, ce que ne fait pas Mc Keough, que cette transposition peut concerner soit des relations logiques (par exemple les relations invariantes entre les éléments d'une figure), soit des dimensions (par exemple la variation des valeurs affectées aux côtés d'une figure). Cette nouvelle distinction nous amène à proposer une représentation schématique de ce développement sous la forme de cercles concentriques s'élargissant sur au moins quatre dimensions complémentaires Figure 2 . L'analyse que nous pouvons faire maintenant de notre exemple sur la construction du quadrillage fait ressortir toute la richesse - et aussi la complexité - d'une analyse développementale des acquisitions liées à LOGO:

En résumé, il semble que LOGO n'a pas encore livré toutes ses richesses comme modèle d'étude du développement cognitif. On a peut être prématurément pensé qu'avant tout l'apprentissage de LOGO est affaire d'expertise. La grande majorité des auteurs - dont je fais partie - ont aussi trop vite délaissé les aspect développementaux pour ne s'intéresser qu'aux effets de la programmation sur ce même développement comme si la programmation n'en faisait pas partie. Peut être que les langages informatiques sont un formidable moyen pour étudier les effets d'interactions entre toutes les composantes du développement cognitif! Nous avons vu que l'environnement LOGO se prête parfaitement à la manipulation des paramètres qui constituent la complexité d'une opération mentale (espace, temps, nombre, logique, sémantique...). LOGO retrouve ainsi sa première vocation qui est d'être un micro-monde, pas seulement pour l'enfant qui apprend, mais aussi pour le psychologue qui s'intéresse au développement.

4. Conséquences de cette analyse sur les objectifs pédagogiques qu'il est possible d'assigner à LOGO dans un curriculum:

Une alternative à la proposition "apprendre à programmer ou programmer pour apprendre" que j'ai moi même souvent défendue (Mendelsohn et al., 1990) consiste à proposer un projet que semble confirmer l'évolution actuelle des langages informatiques destinés à l'enseignement. Pourquoi ne pas considérer les environnements LOGO actuellement disponibles comme des systèmes qui favorisent l'approche de logiciels informatiques plus élaborés associés aux langages fondamentaux conventionnels (écrire, calculer, dessiner, organiser)? Cette voie est clairement celle qu'ont choisie les concepteurs de Logowriter (1). Au micro-monde des "tortues" programmables, ils ont associé le micro-monde du curseur et de la manipulation des mots, permettant par la même d'explorer l'univers des traitements de textes et de l'édition. C'est aussi celle de LEGO-LOGO qui relie le monde des actions réelles à celui de leur description propositionnelle ou encore de LOGO BASE pour la gestion et l'organisation des informations.

Cette proposition consiste à considérer l'apprentissage des langages de programmation et de leurs environnements comme une approche intégrée de logiciels d'aide à la conception. Si l'on se réfère aux systèmes de représentation les plus conventionnels et non aux connaissances thématiques, les apprentissages scolaires portent essentiellement sur la lecture et l'écriture, sur les différentes formes de représentation graphique, sur le système numérique et les opérations arithmétiques, et enfin sur la logique et le raisonnement. Ces systèmes de représentation sont présents dans toute activité symbolique et ils sont plus ou moins radicalement transformés par le support informatique (figure 3).

Les éditeurs de textes.

L'écriture est une activité présente dans tout travail d'édition de programmes. Un éditeur n'est rien d'autre qu'un traitement de texte, espace bien délimité avec ses fonctionnalités propres où l'on peut manipuler des mots, les déplacer ou encore les corriger. L'évolution récente des environnements de programmation (Logowriter, Smalltalk...) rend tout à fait compatible l'apprentissage des commandes d'un éditeur avec celles des traitements de texte professionnels. Le transfert de compétence est ici tout à fait réel et mérite d'autant plus d'être souligné que la possibilité de programmer des macro-actions sur ces logiciels est une activité similaire au micro-monde du curseur dans Logowriter.

Les éditeurs graphiques.

Les langages de programmation destinés à l'enseignement sont souvent réduits, par l'usage qui en est fait, à certains de leurs sous-ensembles graphiques. Le micro-monde de la tortue Logo, par exemple, permet d'aborder facilement tous les formalismes graphiques: point, ligne, orientation, déplacement, formes paramétrisables, systèmes de coordonnées. Ces formalismes sont présents, sous des représentations variées, dans tous les éditeurs graphiques proposés sur le marché qu'ils soient associés à la représentation de grandeurs numériques, à la construction de schéma ou encore à l'illustration de texte. Là encore l'évolution des pratiques pédagogiques observées et des environnements de programmation existant tend à rapprocher l'utilisation des langages classiques des logiciels spécialisés (bibliothèques de formes graphiques élémentaires paramétrisables, fonctions de remplissage, fonctions de réduction et d'agrandissement).

Le calcul numérique.

Tout programme nécessite la manipulation de dimensions, de fonctions numériques et de variables. Leur expression dans les langages de programmation classiques diffèrent peu de celles qu'on retrouvent sur une calculette programmable, un tableur ou une base de données. La programmation d'un tableur peut ainsi devenir un objectif réaliste pour l'enseignant qui utilise Logo et proposer une représentation intermédiaire à mis chemin entre les langages procéduraux classiques et les langages déclaratifs. En effet, chaque cellule du tableau contient soit une procédure, soit une valeur, sans que soit préciser l'ordre d'exécution du programme (voir aussi Orzech et Shelton, 1986).

Le raisonnement logique.

Dernière composante, le traitement des relations logiques est aussi une donnée première de la programmation. Que ce soit la logique des prédicats proprement dite (opérateurs logiques), ou l'organisation du flux temporel du programme (raisonnement conditionnel, emboîtement des procédures), on retrouve ce traitement comme ossature de tous les programmes. On peut raisonnablement considère la programmation structurée comme une sensibilisation à la manipulation des structures arborescentes qui sont elles mêmes au coeur de tous les systèmes de base de données, comme des systèmes experts.

Ces différents champs conceptuels peuvent être considérés comme des modules autonomes mais sont en général associés deux à deux pour former des unités plus larges spécialisées dans un domaine particulier de l'aide à la conception. Ainsi, l'association du traitement de texte et du calculateur programmable va générer le tableur qui permet de manipuler, sur la même structure de données, du texte et des calculs numériques. L'association du traitement de texte et de la logique (à travers la structure arborescente) engendre le gestionnaire de fichier qui n'est, tout compte fait, qu'une manière d'introduire des relations logiques sur des fragments de texte. La représentation graphique de données numériques (histogrammes, camemberts, courbes de fonctions...) associe les dimensions spatiales (angles, longueurs ou surfaces) à des valeurs numériques de référence; l'organigramme et le schéma par contre assimilent relations logiques avec des relations spatiales (proximité, emboîtements, partition...).

L'univers des pratiques pédagogiques et des langages de programmation pour l'école est en pleine mutation. Plus proches des systèmes professionnels qui ont fait leur preuve, plus conviviaux dans leurs environnements, ces derniers sont en train de devenir ce qu'ils auraient toujours dû être: des préfigurations intégrées de logiciels professionnels. La programmation éducative conserve ainsi son seul objectif légitime, proposer une sensibilisation aux différents concepts informatiques dans le but de préparer les enfants d'aujourd'hui à la culture informatique de demain.

Références Bibliographiques

(1) Logowriter est une marque déposée de Logo LCSI