Utiliser Linux pour apprendre aux enfants comment programmer, 10 ans plus tard (Première Partie)

Gazette Linux n°166 — Septembre 2009

Khoa Nghiem

Adaptation française 

Prénom Nom du relecteur

Relecture de la version française  

Article paru dans le n°166 de la Gazette Linux de septembre 2009.

Cet article est publié selon les termes de la Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.


Table des matières

Installation :
Les bases :
Le mois prochain :

Il y a exactement dix ans, j'écrivais mon tout premier article pour la Linux Gazette. En 1999, j'étais étudiant à l'université; j'avais un certain intérêt pour l'enseignement et étais depuis peu utilisateur de Linux. Ce court article parlait de ma propre expérience avec le langage de programmation Logo. J'y écrivais :

Aujourd'hui, j'ai 21 ans et j'aime toujours m'amuser avec Logo. Et je vais l'utiliser pour apprendre à mon fils un petit peu de programmation et des concepts de mathématiques discrètes.

Et bien, nous sommes maintenant en 2009 et j'ai 31 ans. J'ai trois enfants, et je leur enseigne certaines notions de base en programmation, géométrie, et mathématiques discrètes avec Logo. Durant ces dix dernières années, beaucoup de choses ont changé. Linux a mûri au point où même Microsoft participe en ajoutant du code à son noyau, et pourtant, Logo n'a pas vraiment changé. Dans l'article original, j'avais dû compiler l'interpréteur à partir des sources, et je ne pouvais même pas le faire fonctionner sous certaines version de Red Hat Linux. Je vais à nouveau utiliser UCBLogo dans cet article, mais la différence c'est que maintenant UCBLogo est sous la forme d'un paquet et est disponible pour la plupart des grandes distributions Linux.

Installation :

Sous Fedora :

> yum install ucblogo

Sous Ubuntu :

> apt-get install ucblogo

Les bases :

Pour démarrer l'interpréteur, il suffit d'ouvrir un terminal et le lancer :

> logo

L'invite de commande de l'interpréteur devrait ressembler à cela :

Welcome to Berkeley logo version 5.6

?

Maintenant, UCBLogo dispose d'un curseur "programmable" qui dessine sur l'écran tout ce que vous lui demandez . Ce curseur est connu sous le nom de "la tortue"; dans certaines autres versions de Logo, il est effectivement représenté par une tortue à la place d'un curseur triangulaire. C'est avec notre tortue que j'essaye de captiver l'imagination de mes enfants. Ce qui suit représente les commandes de base qui permettront à vos enfant de "dire" à la tortue ce quelle doit faire et, en même temps, d'apprendre des notions en programmation, en géométrie et en logique Booléenne entre autres.

Dites à la tortue d'avancer de 100 pixels avec :

? fd 100

Dites à la tortue de reculer de 50 pixels avec :

? bk 50

Vous pouvez dire à la tortue de tourner :

? left 50

ou encore :

? right 270

Où 90 et 270 représentent en degrés la rotation que la tortue doit effectuer, en fonction de la commande right ou left. Vous voyez où je veux en venir : l'introduction aux angles. De mon côté, j'ai essayé d'illustrer la notion d'angle à mes enfants en utilisant une chose qui leur est familière : le roller. Ils savaient ce qu'est un "360" quand on fait du roller, mais je ne pense pas qu'il savaient ce que ce nombre signifiait. Par conséquent, j'ai utilisé la tortue de Logo pour leur expliquer la notion d'angle.

Figure 1. 


Ces quatre commandes de base permettront à vos enfants de dessiner pas mal de petites choses, mais il manquera quelque chose. Ce serait bien si vos enfants pouvaient utiliser des couleurs afin de rendre leurs dessins plus sympathiques, et aussi dire à la tortue comment "marcher" sans dessiner. Voici comment il faut faire :

Il faut désactiver l'option dessin de la tortue afin de pouvoir la faire bouger dans la zone de dessin sans qu'elle ne laisse de trace derrière elle :

? penup

Maintenant, on peut aller vers l'avant et vers l'arrière sans tracer. Une fois le déplacement terminé, on peut réactiver l'option avec :

? pendown

Dans UCBLogo, du moins sur Fedora, vous aurez 16 couleurs différentes avec lesquelles vous amuser. Vous pouvez changer la couleur du fond ainsi que la couleur du stylo de la tortue. Les couleurs sont identifiées par un nombre situé entre 0 et 15.

Pour changer la couleur du fond :

? setbg 2

Pour changer la couleur du stylo de la tortue :

? setpencolor 15

Quand on a tout fini, on peut effacer le canevas de la tortue avec :

? cs

Dans Logo, on peut toujours utiliser la commande d'aide « help » pour voir quelles commandes sont disponibles pour l'interpréteur, et trouver de la documentation pour chacune d'elles. Le résultat de la commande d'aide ressemble à cela :

? help
Help is available on the following:
*               cursor          keyp            poall           setlibloc
+               define          label           pon             setmargins
-               definedp        labelsize       pons            setpalette
.defmacro       dequeue         last            pop             setpen
.eq             difference      left            popl            setpencolor
.macro          do.until        lessequalp      popls           setpenpattern
.maybeoutput    do.while        lessp           pops            setpensize
--- more ---

Et pour obtenir de l'aide sur une commande spécifique, on utilisera :

? help "left
LEFT degrees
LT degrees

 turns the turtle counter clockwise by the specified angle, measured
 in degrees (1/360 of a circle).

Remarque : Vous devrez utiliser les guillemets (") au début de chaque commande pour laquelle vous souhaitez obtenir de l'aide.

Une autre ressource utile pour vous préparer à utiliser Logo pour enseigner à vos enfants est le manuel officiel qu'il me paraît très utile de consulter de temps à autre lorsque je trouve des idées de problèmes que mes enfants m'aideront à résoudre.

Le mois prochain :

Le titre de cet article était un peu long, et vous n'avez donc peut-être pas remarqué le « première partie » que j'ai ajouté à la fin de la chaîne. Le mois prochain, je compte écrire la seconde (et dernière) partie. Je vous indiquerai comment enseigner à la tortue de nouveaux mots (par exemple écrire vos propres fonctions/procédures), comment déclarer des conditions, des boucles, la gestion du code pour sauvegarder votre travail, et même de la récursion.

Enfin, je vais en terminer en disant que vos enfants ne comprendront peut-être pas tout de suite certaines notions que vous essayez de leur montrer, mais avec l'âge ces notions commenceront à rentrer. Et, espérons-le, en grandissant ils en viendront à apprécier la programmation et peut-être même voudront-ils devenir eux-même programmeurs.

Anderson Silva Anderson Silva est Ingénieur de version chez Red Hat. Il est titulaire d'une Licence en Informatique de la Liberty University et d'une Maitrise en Informatique de l'Université du Maine. Il est Ingénieur Certifié Red Hat, en vue de devenir Architecte Certifié Red Hat, et écrit des articles en lien avec Linux dans des parutions telles que la Gazette Linux, Revista do Linux et Red Hat Magazine. Anderson est marié depuis 11 ans avec son amour de jeunesse, Joanna, qui l'aide à la rédaction de ses articles et avec qui il a 3 enfants. Quand il ne travaille pas ou n'écrit pas, il fait de la photographie, passe du temps avec sa famille, se balade à vélo, regarde des courses de Formule 1 ou d'Indycar ou fait du karting avec ses fils.

Biographie traduite par Éric Deschamps

Adaptation française de la Gazette Linux

L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux.

Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linux.

Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.