Devoxx4Kids CH

Edition Décembre 2015

Préambule

Cet article est une reprise de celui publié sur mon blog personnel, et mis à jour avec les nouveautés de l’édition de Devoxx4Kids CH qui se tenait à Genève chez Blue-Infinity le 12/12/2015.

Devoxx4Kids – Your kids play games, mine makes games

J’ai eu la chance d’animer l’atelier Thymio à Devoxx4Kids de Genève, qui se tenait dans les locaux de Blue-Infinity. Xavier Bourguignon a eu la gentillesse de me demander de participer à cette édition et je ne pouvais évidemment pas refuser. Transmettre ma passion et intéresser des enfants entre 4 et 15 ans à la programmation informatique, est-ce vraiment possible ?

J’avoue que j’avais quelques a priori: comprendront-ils le sens de « compiler » ? Ce qu’est une interface de programmation ? Que leurs actions auront un effet sur le robot Thymio ? Seront-ils intéressés par les activités qu’on va leur proposer ?

Mais commençons par le commencement, qu’est-ce que c’est que Thymio ?

Thymio II

frontmusic-thymio-image-700

Trapide2lightshow

Thymio est un petit robot (il tient facilement dans la main) muni de capteurs (avant, arrière, côté et en dessous), d’un microphone, d’un capteur de température, et de roues. Thymio peut donc se déplacer, éviter les obstacles, réagir aux bruits, changer de couleur etc… Il est fourni avec un logiciel : « Thymio VPL » pour Visual Programming Language.

Ce logiciel permet donc de « coder » son programme puis de le « charger » dans le robot très facilement. La partie programmation peut se faire de 2 façons différentes : avec des cases que l’on dépose dans l’ordre, ou bien avec du code (du vrai, avec des if, des while, … ).

Bien entendu nous avons utilisé les cases pour initier les enfants sans les effrayer.

L’interface nous permet de donc de choisir les « événements » (boutons, détecteurs…) dans la colonne de gauche, puis l’action à réaliser dans la colonne de droite.

vpl

 

Après ces quelques explications, nous sommes prêt pour apprendre aux enfants à programmer un Thymio.

Devoxx4Kids CH

Rendez-vous est pris dans les locaux de Blue-Infinity à 9h30, pour un petit-dej’ entre animateurs, l’installation des salles et un petit briefing. Puis accueil des enfants et démarrage de la journée.

Le premier groupe est un groupe de Teens (10-15 ans), calme, attentif, bref, idéal pour commencer.

On leur présente donc le robot et ses capteurs qui s’éclairent dès qu’ils détectent quelque chose. On leur présente ensuite le logiciel sans rentrer dans les détails puis on commence à leur faire écrire leur premier programme : changer les couleurs du robot lorsqu’on appuie sur les touches au dessus du robot.

Pour ce faire, on choisi l’icone qui représente le pavé des flèches à gauche, puis l’icône qui représente la zone des couleurs du robot (deuxième icône à droite). A cet instant, on peut observer tous les enfants appuyer sur le bouton choisi, se relever et crier « Monsieur ça marche pas » ! L’impatience de voir quelque chose d’encore magique pour eux se produire. A ce moment, on leur explique qu’il faut apprendre au robot à faire ce qu’on lui demande, et que pour cela il faut qu’ils appuient sur le  bouton avec la grosse flèche (bouton Play) tout en haut. Au fur et à mesure des cliques, les plaintes précédentes se voient remplacer par des « Ouaahhhhhh c’est trop biennnnnn ».

Voilà donc l’exercice qui en découle, mettre une couleur différente sur chaque bouton qui se trouve au-dessus du robot. A mon plus grand étonnement, tous les groupes de la journée (7-10 ans et 10-15 ans) ont terminé cet exercice en moins de 5 minutes chrono !

On continue donc nos exercices, car un robot qui change de couleurs c’est bien , mais un robot qui se déplace c’est encore mieux ! L’exercice suivant consiste à faire avancer le robot lorsqu’on appuie sur le bouton flèche haut, et à l’arrêter lorsqu’on appuie sur le bouton rond au milieu. Aussitôt dit, aussitôt fait, on commence à voir les premiers Thymio se déplacer sur les tables (sans toutefois tomber).

L’étape suivante consiste à donner de l’autonomie au robot. On va le faire avancer tout seul, et lui apprendre à ne pas tomber de la table. Comment ? Tout simplement en utilisant les capteurs optiques qui se trouvent en dessous. Nos tables sont de couleurs claires, et les bords sont noirs. Parfait pour détecter un changement de luminosité.

Voilà donc le nouvel exercice: si le robot ne voit rien devant lui il avance (deuxième icône a gauche, puis couleur blanche sur le capteur le + en haut), et s’il ne voit de lumière en dessous (vide ou bord de la table) il s’arrête (Troisième icône a gauche, capteurs en rouge). Code, compile, test, test,test … les enfants n’en reviennent pas. Ils viennent d’apprendre à un robot à s’arrêter avant de tomber. Ont-ils compris comment ? On leur demande cette fois-ci, non pas de faire avancer le robot, mais de le faire reculer (les capteurs se situent en dessous à l’avant et pas à l’arrière). Le robot se met donc à reculer, passe le bord de la table … et tombe (dans leurs mains 😉 ). Cette fois-ci, ils ont compris, les capteurs en dessous ont dit au robot de s’arrêter mais trop tard…

Toujours plus loin dans l’autonomie, on leur demande de programmer un robot affectueux. Si le robot détecte une main devant l’un de ses capteurs, il l’a suit, sinon, il ne fait rien. Les premières difficultés apparaissent… il faut réfléchir avant d’écrire le programme. On passe donc dans les groupes en leur expliquant (sans jamais faire pour eux) : « Si ma main est devant, le robot doit faire quoi ? Et si elle est derrière ? ».. 10 minutes plus tard, tous les robots suivent les enfants, peut importe où sont leurs mains: devant, derrière, sur les côtés. Et tout cela avec l’interface graphique et en 5 règles.

Le temps de la rébellion est arrivé, et nos robots doivent maintenant nous fuir plutôt que de nous suivre. Les enfants changent donc assez naturellement les règles : on recule au lieu d’avancer, et on tourne dans la direction opposé à l’obstacle. Il ne reste plus qu’une seul étape pour transformer ce méchant robot en un robot explorateur… Le faire avancer en continue tout en gardant le comportement d’évitement. Ils comprennent vite, apprennent vite, et voilà nos robots par terre en train d’explorer la salle.

Ils sont émerveillés par leurs robots qui, il y a 30 minutes changeaient seulement de couleurs et peuvent maintenant se déplacer, éviter les obstacles. Ils comprennent que le programme qu’ils ont codé définit le comportement du robot.

En effet, certains d’entre eux, on fait reculer le robot tout droit si quelque chose est devant le robot. L’effet est immédiat, le robot avance et recule en ligne droite mais n’explore plus la salle. La plupart des binômes reprennent le robot sans qu’on leur dise, corrigent le comportement et remettent Thymio à terre.

explorateur

Pour les kids (7-10 ans), l’atelier se termine sur un « tunnel humain » où on lâche les robots d’un côté, et on les récupère de l’autre.

Pour les teens (10-15 ans), on passe à un étape plus compliquée : le circuit.

Au préalable, Xavier nous a imprimé des circuits sur 9 pages A4. Le circuit est noir, et assez large pour qu’on puisse utiliser les capteurs en dessous du robot. Le programme est assez simple : tant qu’on voit du noir on avance, si on voit blanc d’un côté on tourne de l’autre. Le plus difficile, c’est le réglage : il ne faut pas aller trop vite pour ne pas sortir de la piste, mais quand même assez vite pour que le capteur reste sur la bonne ligne.

Dans le premier groupe, un seul binôme y est arrivé (en 1’10), et dans le second groupe, quasiment tous les binômes avaient le bon programme et le record est tombé à 0’33.

circuit

Et voilà, quatre groupes et 7h30 plus tard, on termine Devoxx4Kids Atelier Thymio. Les enfants sont ravis et ont probablement tous rajouté une ligne sur la liste pour le père Noël.

 

Thymio II : Atelier avancé

Le logiciel Thymio VPL permet via au bouton qui ressemble à un étudiant gradué de Harvard d’accéder aux fonctionnalités avancées. Parmi ces fonctionnalités on retrouve :

  • Utilisation du minuteur (timer)
  • Utilisation du gyroscope
  • Mise en place des états

Le 1er exercice que nous avons proposer aux enfants était l’utilisation des états. Les états s’utilisent des 2 côtés : déclencheurs et actions.

Les états sont matérialisés par le rond coupé en quartier dans l’illustration suivante.

vpl-state-example

Côté déclencheur il est possible de choisir dans quel état doit se trouver Thymio avant de pouvoir exécuter une action. Côté action cela permet de faire passer le robot dans l’état de son choix.

Retour à l’exercice où nous leur avons demandé de faire en sorte que si l’on appuie 4 fois sur la flèche haut (pavé au dessus du robot), alors le robot doit changer de couleur à chaque fois. Pour se faire, il faut que chaque action change l’état du robot et de couleur.

v14-toggle-color

Ensuite nous avons mis en avant les timers via un exercice simple au départ : faire avancer le robot uniquement au bout de 4 sec puis l’arrêter au 4sec plus tard.

timers

 

On complexifie les choses avec l’exercice du feu tricolores. Le robot doit changer de couleur avec les contraintes suivantes :

  • Au début il est vert
  • 4 secondes plus tard il devient orange pour 1 seconde
  • Puis il devient rouge pendant 4 secondes
  • Il doit enfin repasser à l’orange pour 1 seconde et recommencer le cycle

Cet exercice demande d’utiliser les 2 techniques citées précédemment pour y arriver.

Enfin, pour les groupes les plus rapides nous leur avons demandé d’utiliser le gyroscope. Derrière ce nom barbare se cache un capteur qui permet de détecter l’orientation du robot (vers le haut/bas, penché sur le côté droit/gauche).

Nous avions pour l’occasion pris des gros ballons de fitness, et tenté de faire tenir en équilibre le robot :

  • Si le ballon va de l’avant, le robot devra reculer
  • S’il va à l’arrière, alors il devra avancer
  • et ainsi de suite s’il penche.

Ci-dessous mes photos de cette dernière édition :

DSC_0977 DSC_0981 DSC_0982 DSC_0983 DSC_0984 DSC_0991 DSC_0992 DSC_0994 DSC_0996

Et sinon ?

Enfin, ils ont aussi pu découvrir les ateliers suivants tout au long de la journée : Minecraft, Arduino, Scratch et Greenfoot.

Pour l’édition de Décembre 2015 les autres atelier étaient : NAO, Minecraft, Alogoid, Arduino et Cubetto.

Par ce billet, je tiens à remercier Xavier de m’avoir permis de participer à cette édition, ainsi que les autres animateurs qui ont fait cet atelier avec moi.

Alors, on se donne rendez-vous pour la prochaine édition ?

Posted in:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *