5 mars 2024

LOGO pour IOS et MacOS



LOGO, un langage pédagogique, pour des élèves de tout âge.

LOGO est une des applications que je viens de rafraîchir. En effet, un utilisateur m’a écrit il y a peu, pour des coquilles dans la documentation, et pour des corrections de bugs qui sont apparus avec de nouvelles versions d'IOS et de MacOS. Je profite de l’occasion de la sortie de la version 1.21 pour vous reparler de cette application que je considère comme une des plus abouties.

LOGO est un langage informatique créé en 1960, et est issue des travaux de Jean Piaget en matière d’éducation. Mon application LOGO n'est qu'une des nombreuses versions qui existent, mais c'est une belle implémentation.

Contrairement à ce que certains disent, LOGO n’est pas un langage informatique fait pour faire de vrais programmes, mais c’est un vrai langage informatique tout de même, assez complet et qui permet l'apprentissage de concepts informatiques majeurs.

Un langage informatique, c’est un langage textuel organisé autour d’une grammaire et d’un lexique. Certains langages ont une tâche très précise et ne fonctionne qu’avec un logiciel particulier, par exemple vous avez un dérivé du basic intégré dans la suite Office de Microsoft. D’autres langages peuvent servir un peu à tout, à faire des programmes, des plugins, des services internet, etc.

Le LOGO, lui, sert à s’initier à l’informatique, dans une pédagogie active. Pour rendre le LOGO intéressant pour l’enfant et le pousser à être acteur de son apprentissage, LOGO se concentre sur le dessin. Aux débuts de LOGO, on utilisait de petits robots (ou des gros) qui dessinaient sur une surface. La mise en place des robots appelés « tortues » étant difficile à mettre en œuvre, de plus, ils étaent fragiles, et peu fiables, ils ont été remplacés par des écrans.

Ayant commencé mon apprentissage de l’informatique au centre mondial de l’informatique en 1984, j’utilisais un Goupil 3 qui venait de sortir avec deux écrans, un pour le texte, et un écran graphique avec la tortue. C’est en souvenir de ces débuts, que j’ai voulu faire un LOGO.

Le LOGO ne se limite pas à la tortue. On peut faire des calculs, avoir des réponses textuelles, faire de la récursivité, etc. Mais avouons-le, nous ne ferons ni des programmes complexes, ni des programmes avec interface utilisateur, ni des jeux avec des animations, ni des tableurs, etc.

Mais commençons un petit tour d'horizon.

Les quatre commandes de base de la tortue sont :

  • « AVANCE X », qui permet de déplacer la tortue en avant de X pas.
  • « RECULE X », qui permet de déplacer la tortue en arrière de X pas.
  • « TOURNEDROITE X » qui permet de tourner la tortue de X degrés vers la droite.
  • « TOURNEGAUCHE X » qui permet de tourner la tortue de X degrés vers la GAUCHE.

Ainsi, pour faire un carré :

On travaille avec ces seules commandes un petit moment, puis on commence à en avoir assez de taper ces longues commandes et on introduit deux autres principes, les alias et les boucles.

Les alias sont des commandes qui font exactement la même chose qu’une autre. Ainsi, on peut écrire « AV » à la place de « AVANCE », et « DROITE » à la place de « TOURNEDROITE ». Les commandes en français, si pratiques lors d’une première approche deviennent des commandes aux noms abstraits : « NT » (Nettoie Tout), « LC » (Lève le Crayon), « BC » (Baisse le Crayon), « AV », « RE », etc. On commence à avoir un vocabulaire adapté et spécifique au langage, certains mots existent dans certains contextes et pas dans d’autres. Ainsi, on pourra s’amuser à commander un élève avec un feutre au bout d’un bâton, et lui dire « Répète 4 fois, Avance de 4 pas, tourne à droite de 90 degrés », ce qui dessinera un carré sur le sol. On reviendra ensuite à LOGO pour faire la même chose en changeant de façon de dire pour s’adapter à l’outil :

Les boucles sont ainsi introduites… Le concept suivant, l’imbrication de boucle permet de faire de jolies rosaces :

On passera ensuite à la création de ses propres commandes, qui permettent d’enregistrer son travail et de le réutiliser à l’envie :

On crée ainsi la commande ROSACE qui s’ajoute à la liste des commandes du LOGO.

Le concept suivant sera celui de variable, introduit par la possibilité de mettre des arguments à une commande :

On continuera ainsi, en explorant toutes les possibilités du langage (récursivité, tableaux, données textuelles, etc.) à faire comprendre activement à l’élève ce qu’est la programmation.

Si vous êtes intéressé par LOGO, je pourrai écrire un livre de recettes progressives avec une explication approfondie des concepts en jeu. Envoyez-moi un mail si vous êtes intéressé à contact@abc-applications.com.

Emmanuel CROMBEZ