Maintenant tu le sais (ou si tu viens pour la première fois sur ce site avec cet article, bah tu le découvres), en venant ici, tu as affaire à un Papa Geek ! Qui dit Geek, dit programmation (bon, le raccourci est un peu facile). Mais là c’est pas moi qui vais programmer, je vais tester Scratch, un langage informatique et un outil gratuit dédiés à l’éducation, à partir de 8 ans, et développé par le MIT.
Voyons voir d’ailleurs ce qu’ils nous disent :
Scratch est un langage de programmation et une communauté en ligne où les enfants peuvent programmer et partager, avec des gens de partout dans le monde, des médias interactifs comme des histoires, des jeux et des animations. Quand les enfants créent avec Scratch, ils apprennent à penser de façon créative, à travailler en collaboration, à raisonner systématiquement. Scratch est conçu et animé par le groupe Lifelong Kindergarten au MIT Media Lab.
Ok, c’est un peu vague, on va détailler un peu…
Mettre les enfants devant le PC ? Et volontairement en plus ?
Oui, il s’agit bien de ça ! Mettre les enfants devant le PC, et leur apprendre à programmer. Dit comme ça ça fait pas forcément rêver, mais on est dans la même veine que les Lego Technics. Si pour certains, programmer n’est qu’un métier, pour les enfants, ça peut être source d’amusement et de créativité.
Je pourrais écrire un article sur ce que ce que peut apporter d’apprendre la programmation (ou d’une manière plus générale de donner une certaine culture informatique/numérique) aux enfants, mais en gros :
- Apprendre à programmer permet d’acquérir et de faire travailler une certaine logique, qui peut être utile dans toutes sortes de situations. Programmer ce n’est rien d’autre que réfléchir et écrire la solution à une problématique 🙂
- Je pense que ça ne t’aura pas échappé, les ordinateurs (ou plus généralement tout ce qui est électronique) sont partout. Il y a bien les tablettes, les PC, mais aussi tout ce qui peut nécessiter une configuration, Appareil Photo, TV, etc. Être à l’aise avec le numérique permet de s’y retrouver rapidement, et de s’adapter aussi rapidement aux nouvelles technologies.
Personnellement, je n’érige pas les écrans (certains écrans du moins) en mal absolu. Déjà parce que mettre un petit dessin animé de temps en temps pour être tranquille ça fait du bien ! Et ensuite parce que je préfère un usage accompagné, qu’une interdiction.
Bon, je suis bien conscient que c’est facile de dire ça alors que mes enfants ne sont pas encore ados 🙂 Mais pour l’instant c’est ce que je pense, et au moins ça me permet pour une fois de tester quelque chose qui ne s’adresse pas qu’aux plus petits 🙂
Programmer, c’est difficile ?
Programmer, c’est comme parler une langue. Il y a la logique (qui pourrait s’apparenter à la grammaire), et la syntaxe (qui serait le vocabulaire). Il existe un tas de langages de programmation différents, tous avec leurs logiques et leurs syntaxes à eux (et comme pour les langues, certains se ressemblent beaucoup et dans ce cas il est plus facile de passer de l’un à l’autre).
L’avantage de Scratch, c’est qu’on ne s’attarde que sur la logique. Le vocabulaire est présent et visuel puisque tous les éléments du langage sont sous forme de briques à assembler, comme des Lego.
Voilà pour ce qui est de comment se présente Scratch. Si on entre dans le vif du sujet, la programmation se passe comme ça :
- Un programme est lié à un « lutin » (un personnage) : c’est dans la capture ci-dessus le chat, mais il y en a des tonnes de disponibles sur le site et il y a également la possibilité d’en créer soi-même. Toutes les instructions de mouvement et autres seront donc appliquées à ce lutin
- En général, le programme commence par
qui signifie qu’on lance le programme en cliquant sur le drapeau vert
Concernant la programmation, ce qu’on va apprendre avec Scratch (je te la fais courte hein, mais c’est quasiment tout ce qu’il y a à savoir sur la programmation pour bien commencer) :
- Les variables : ça permet au programme de retenir une information, par exemple on lui dit que le « prénom » du joueur c’est PapaTeste
- Les conditions : ça permet de dire « Si ceci Alors cela Sinon ça », exemple : Si le sexe est masculin Alors le chat doit dire « Bonjour Monsieur » Sinon il doit dire « Bonjour Madame »
- Les boucles : ça permet de dire « Fais ça X fois » ou « Fais ça tant que X », exemple : Tant que je n’ai pas répondu oui le chat doit me demander si je vais bien (oui, il est un peu lourdeau le chat :P)
Et en gros, après avoir trouvé les bons blocs à assembler, un petit programme donne ça :
Tu peux essayer de deviner ce que fait ce petit programme 🙂 Et tu peux même aller l’essayer en cliquant ici ! Oui, car parmi les forces de Scratch, il y a celle de pouvoir partager ton programme avec la communauté, et aussi de voir les programmes (parfois vraiment bluffants) créés par les autres, ce qui permet de disséquer et de comprendre comment ils sont faits !
A chaque couleur correspond un type d’instruction, il faut fouiller 🙂 L’avantage c’est que c’est en français, donc l’enfant pourra fouiller et chercher de l’aide, ce que fait beaucoup dans la vie professionnelle un programmeur. Chercher fait partie de l’apprentissage, et c’est assez « intuitif » (je mets les guillemets parce que bon hein… ça reste un truc de geek) pour pouvoir trouver tout seul quand on cherche à faire des programmes simples.
Bon, et on fait quoi avec Scratch ?
Globalement, il y a 2 types de programmes qu’on peut faire avec Scratch :
Des petites histoires animées : on déplace les personnages, on les fait causer, faire de la musique (oui car il y a aussi des sons qu’on peut manipuler, comme « jouer du tambour », etc.). On peut rendre les histoires interactives également, en demandant le prénom de celui qui regarde, et posant des questions, etc.
- Des jeux : Les jeux demandent un peu plus de maîtrise pour programmer, mais donnent des résultats parfois bluffants. N’hésite pas à aller voir dans la galerie des programmes existants
On commence ?
Voilà pour ce petit tour d’horizon sur ce qu’est Scratch, le petit geek que j’étais aurait été plus que ravi d’avoir ça à disposition à mon adolescence 🙂 Cet outil peut éveiller la curiosité et pourquoi pas la créativité ! Je le montrerai certainement aux p’tits gars quand ils seront plus grands, au moins pour qu’ils sachent que ça existe…
Pour bien commencer avec Scratch, il existe une documentation sous forme de cartes simples montrant des bouts de code pour effectuer les opérations les plus courantes avec l’outil.
Concernant l’apprentissage de la programmation, il existe aussi des alternatives, un peu moins connues, mais aussi sympa, comme learn.code.org disponible en Français (en partie seulement malheureusement) et donnant les bases de la programmation dans la même veine que Scratch.
Et si le sujet t’intéresse vraiment et que tu veux approfondir, il existe quelques (trop rares) évènements en France dédiés à la programmation pour les enfants, notammant le Devoxx 4 Kids (une déclinaison pour enfants du Devoxx qui est un évènement majeur de la programmation). Ces évènements étant rares, ils faut être aux aguets pour s’inscrire, mais j’essayerai de relayer sur Twitter les évènements du genre 😉
Et si tu veux essayer Scratch bien sûr, c’est par là !
Et toi, est-ce que tu as essayé la programmation étant jeune ? Est-ce que des outils comme Scratch t’intéressent ? N’hésite pas à me le dire en commentaire !
Ça me rappelle mes premières commandes en BASIC :-)
Le plus dur, ça va être d'attendre qu'ils sachent lire, mes twins ne sont qu'en grande section...
Pour les plus petits, j'avais vu aussi ce projet : http://www.vincentabry.com/voici-primo-un-jeu-robot-pour-apprendre-la-programmation-aux-4-a-7-ans-29259
Je vais surveiller tout ça sur Twitter :-)
Merci d'être passée :)
Ensuite en tant que maman geek, j'ai toujours été de ton avis, c'est à dire ne pas diaboliser les écrans, prévenir, informer plutôt que d'interdire. Les logiciels de contrôle parental m'ont toujours semblé inutile, j'ai préféré leur parler en direct de tous les dangers du net. Bon, cela dit, je comprends que certains adultes (de ma génération :p) pour qui tout cela n'est pas familier soient largués.
Merci pour ton commentaire ;)
Je suis papa également et j'avais réfléchi il y a quelques années à un langage de programmation pour les enfants.
J'avais opté pour une interface simple car j'ai commencé ainsi au début sur mon Amstrad CPC avec son langage BASIC.
Pas de drag n drop. On tape le texte.
Avantages :
- pas cher, on achète rien, on télécharge et c'est gratuit,
- ça force le jeune programmeur à être rigoureux dans la syntaxe car il tape le programme,
- il doit mémoriser les commandes,
- c'est en français
Le langage est le suivant ( http://langagelinotte.free.fr )
Je poste ce commentaire car j'hésite à ajouter une interface comme Scrath (ou Algobox) pour faciliter la programmation.
Mais est-ce vraiment facilitateur ? Et est-ce que l'enfant va y gagner : ne va-t-il pas s'habituer à une interface trop facile ?
Ronan
Je vais jeter un oeil au langage Linotte alors.
Concernant les interfaces comme Scratch, "hyper simplifiées" permettent un apprentissage en se concentrant sur l'aspect logique et non syntaxique de la programmation. Pour des enfants à partir de 8 ans, je pense que c'est pas plus mal.
Après avoir eu en tête la logique, on peut s'attaquer à la syntaxe (c'est comme la langue française, on apprend comment la parler avant d'apprendre à l'écrire :))
Quant au fait de s'habituer à une interface trop simple, je ne pense pas que ce soit un problème. Les programmeurs passent bien d'un IDE à un autre, et ont des niveaux de "simplicité" très différents, mais pourtant on s'adapte :) S'adapter fait partie de l'apprentissage, enfin c'est mon avis ;)