Hackathon, Kidzathon… Une boîte à idées pour Scratch

Mots-clés

, , , , ,

20140913_152516

Les 12-13-14 septembre avaient lieu à la Plaine Images les Happy Hacking Days, un hackathon dédié à la création d’une application mobile. Dans la foulée était organisé un hackathon kids sous forme d’initiation à Scratch que j’ai eu le plaisir d’animer.

A ce sujet, tous mes remerciements vont à Frédérique Grigolato, initiatrice de l’événement, la ville de Roubaix, la Communauté Urbaine de Lille, en particulier Jean-Paul Leroy, pour le soutien logistique, et Florette Eymenier de Simplon.co pour y avoir apporté son énergie.

Mais comment fait-on un hackathon Scratch ? Cela a été l’occasion de me créer une sorte de boîte à idées dans laquelle les enfants pouvaient piocher. Vous avez un groupe d’enfants qui trépignent devant vous, une dizaine d’ordinateurs et aucune idée en tête ? Lisez ci-dessous !

Crée un programme avec 10 blocs !

A réserver peut-être aux plus chevronné(e)s. Quoique… Comment faire un programme avec seulement 10 blocs ? La question ne manquera pas de fuser : « pourquoi seulement 10 blocs ? », l’occasion de faire un peu de culture informatique, de montrer des exemples dans divers langages où la tradition des « one line code » est ancienne et bien ancrée. Parlez leur de défi, de recherche d’efficacité, d’élégance…

Crée une application sonore !

Du son, du son et encore du son. Peu importe que le programme soit un instrument de musique, joue avec le volume ou utilise juste une myriade de sons, laissez agir la sensibilité des oreilles.

Utilise la caméra !

Ils utilisent la webcam dès que vous avez le dos tourné. Ok ! Encouragez-les mais en Scratch cette fois. Utilisez la webcam comme capteur de mouvement pour un jeu, une animation, un instrument de musique…

Dessine avec le crayon !

C’est ce que l’on nous a appris avec le Logo et que Scratch permet. Choisissez une forme, un thême et explorez les fonctions de dessin.

Ecris un poème !

Comment faire parler le chat ? C’est bien souvent la première question que les enfants me posent. Faisons-le parler certes, mais encore plus dire de la poésie.

Dessine et anime ton personnage !

Certains enfants sont vite attirés par le coté « design » de Scratch et la possibilité de dessiner. Exploitez leur talent et proposez leur de créer leur propre personnage. Ils peuvent aussi utiliser la webcam afin d’utiliser leur visage.

Raconte tes vacances !

Je me souviens des premiers jours d’école et chaque année la sempiternelle rédaction avec pour thème les vacances. Modernisons-la, scratchons-la !

Raconte ton rêve !

La rédaction sur le thème des vacances ne prend pas. Pourquoi pas les rêves ? Certains sont parfois intarissables.

Utilise un rond rouge et un carré bleu !

Quelques formes géométriques ou un sprite en particulier… Définissez les conditions et en route pour l’aventure.

Crée un orchestre avec tes ami(e)s !

Un ordinateur comme piano, un autre pour les percussions, un troisième pour le beat box, un quatrième pour l’instrument de votre choix, un cinquième…, un sixième…, un septième…, etc. Programmez les claviers, les Makey Makey, la souris… Disposez les ordinateurs en cercle et jouez !

Crée un jeu vidéo !

Motivés ? Avec d’ores et déjà une grande idée en tête ? Ou l’inverse avec juste l’envie de jouer ? Ok. Laissez les choisir leur jeu préféré, demandez leur de l’analyser et ensuite créons !

Utilise la souris !

Utiliser la souris pour dessiner, jouer, se déplacer. Toutes les interactions avec Scratch se feront au travers de cette dernière.

Crée un jeu d’aventure !

Un petit scénario, quelques décors et c’est le moyen d’apprendre à utiliser les interactions, les messages et la gestion des personnages et décors à l’écran (basculer sur, cacher, montrer…).

C’est l’heure d’Arkanoid !

Voila l’occasion de faire un peu d’histoire du jeu vidéo, de montrer quelques exemples de projets sur Arkanoid dont le fabuleux Mario Arkanoid et de proposer aux enfants de partit soit de zéro, soit de remixer un des projets existants.

C’est l’heure de Pong !

Même chose avec l’inimitable Pong. Montrez leur la version d’origine puis quelques remixes particulièrement bien faits. Les exemples livrés avec Scratch 1.4 contiennent un projet Pong qui peut servir de base.

Remixe un jeu ou un projet Scratch !

Arkanoid, bof… Pong, pas mieux… Faites-leur plaisir. Laissez-les choisir leur jeu préféré et proposez d’en faire un remix.

Crée un jeu de devinettes !

Devinettes ou questions-réponses ? A vous de choisir ! Poser une question, vérifier la réponse, créer une base de données pour permettre de varier les questions, un petit programme rapidement réalisable et faisant intervenir des connaissances de base.

Fais deviner un nombre !

Deviner un nombre est souvent l’un des premiers exemples de code que l’on propose lorsque l’on apprend un nouveau langage. Générer un chiffre au hasard entre tant et tant, récupérer l’information entrée par l’utilisateur, comparer avec le chiffre à deviner, autant de notions qui s’apprennent rapidement avec ce petit programme.

Fais du beatbox avec Scratch !

La plupart des enfants connaissent le beatbox sinon le web regorge de vidéos d’exemple. Chacun enregistre un son dans Scratch qui peut ensuite être retravaillé puis déclenché à l’aide du clavier voire d’une Makey Makey. Une variante tout aussi sympa : chaque enfant dit et enregistre son prénom. Les enregistrements sont alors découpés en toutes petites parties pour composer un piano vocal original. Une manière de les initier à l’art du sampling.

Fais tourner un carré !

C’est facile, rapide mais n’est que le prémisse d’animations graphiques beaucoup plus poussées. Il suffit de dessiner un sprite carré et d’utiliser ensuite une boucle et les fonctions de rotation. Libre aux enfants d’agrémenter leur animation par des couleurs, des sons, des mouvements supplémentaires. Montrez leur quelques exemples de démo comme on en faisait lors des « temps glorieux » et laissez leur imagination vagabonder.

Crée un dé !

Facile ! Un nombre aléatoire et puis… Et puis pourquoi pas afficher le chiffre avec des sprites par exemple ? Pourquoi ne pas dessiner un dé et afficher la face désirée en fonction du résultat ?

Joue avec l’heure !

Scratch possède des capteurs permettant de récupérer l’heure, les minutes et les secondes. Idéal pour créer un chronomètre, une horloge, une animation variant en fonction de ces paramètres, un jeu où les nerfs sont mis à rude épreuve à cause du temps…

Crée une mélodie !

En utilisant des boucles, Scratch peut jouer des mélodies ou des rythmes. A chaque boucle, on assigne en effet le nombre d’instructions voulues telles que « jouer la note », « jouer du tambour » ou « faire une pause ». Ainsi, par exemple, pour une mesure de 16 notes (4 temps), on placera 16 instructions dans la boucle.

Code Day au Mutualab !

Lille Makerspace

Le 15 octobre, on fête la Code Week au Mutualab (19, rue Nicolas Leblanc à Lille).

Explorer – Coder

Explorer son univers, le patrimoine local au travers du code et de l’art.

Venez vous initier au code et découvrir / redécouvrir Lille Métropole par le numérique.

Créez vos expériences sonores et visuelles, développez des interfaces interactives, des instruments de musique originaux, des jeux, des récits. Utilisez le patrimoine local (audio, photo, vidéo) pour enrichir vos réalisations.

Scratch, Processing, Rêver, Pure Data, Tâtonner, Arduino, Design, Chercher, Découvrir, Makey Makey, Interactivité, Trouver…

Le mercredi 15 octobre au Mutualab, 19 rue Nicolas Leblanc à Lille, de 10h à 20h. Apéro créatif avec les instruments créés de 18h à 20h. Gratuit.

Retrouvez l’événement sur Facebook

Pour enfants de 7 à 77 ans.

Comment débuguer un programme en Scratch

Mots-clés

, ,

Syntax Error

Scratch a cet avantage de ne pas confronter l’utilisateur à l’erreur de syntaxe mais a contrario, et cela constitue le revers de la médaille, les bugs sont alors plus vicieux, plus difficiles à débusquer. Il ne reste que le bug bête et méchant, l’erreur de conception qui fait que votre cercle savamment codé ressemble à l’écran à tout sauf à un cercle. Dans ce cas, deux solutions : le code est faux et un simple coup d’oeil vous suffit pour constater « où ça ne tourne pas rond » ; votre code semble a priori correct et il s’agit de traquer une erreur encore plus pernicieuse qui se cache le plus souvent dans une valeur erronée.

Débuguer son code dans Scratch est parfois assez subtil surtout quand votre programme a pris de l’ampleur, que les lutins se comptent par dizaines et les blocs d’instruction par centaines.

Première habitude et non des moindres à prendre : sauvegardez l’évolution de votre programme sous des versions différentes et en autant de fichiers que nécessaire, à savoir par exemple « moncode_v1″, « moncode_v2″, « moncode_v3″, etc.

Si le fichier « moncode_v2″ fonctionnait parfaitement et que « moncode_v3″ pédale dans la semoule (ou dans la choucroute en fonction des goûts), inutile de s’arracher les cheveux, c’est tout simplement que l’erreur se situe dans les modifications situées entre deux. Le fait de sauvegarder vos programmes de cette manière permet de conserver des versions saines sur lesquelles vous pouvez revenir régulièrement en cas de gros soucis.

La liste des erreurs classiques en Scratch est heureusement assez courte (liste cependant non exhaustive – n’hésitez pas à compléter si quelque chose m’a échappé).

Mauvaise valeur : une de vos variables ne possède pas la valeur attendue suite à un mauvais calcul ou à une mauvaise initialisation. Vérifiez chaque valeur une à une.

Mauvais positionnement : le fait que la position x = 0 et y = 0 soit en plein centre de l’écran est parfois cause d’erreurs quand on a l’habitude d’avoir celle-ci soit en bas à gauche ou en haut à gauche.

Oubli d’arrêter un script : un script censé s’arrêter continue son action, il lui manque alors sûrement une instruction « stop ».

Oubli d’effacer : un peu de ménage sur l’écran au niveau des dessins ou des effets graphiques n’a jamais fait de mal à personne…

Oubli de réinitialiser des variables ou des listes : il est conseillé dès le démarrage de vos scripts de tout initialiser, tout effacer et mettre aux bonnes valeurs afin d’éviter des résultats aléatoires. Placez vos lutins aux bons emplacements, donnez à vos variables la valeur souhaitée, videz vos listes… Votre code ne s’en portera que mieux.

Bout rond du stylo : cela peut paraître bête mais le stylo possède un bout rond et non carré, ce qui donne parfois des dessins bizarres quand on agrandit la taille du stylo. Pensez-y sous peine de voir des blancs disgracieux là où vous vous attendiez à un trait plein.

Enfin, pour débuguer quelques méthodes qui ont fait leurs preuves dans tous les types de langage.

Isoler des bouts de code : si votre code marche seul, c’est qu’il n’est pas en cause. Testez alors les différents éléments et valeurs un par un.

Ralentir le script : parfois l’erreur est flagrante mais la rapidité ne permet pas de saisir ce qui se passe à l’écran. Ajoutez quelques blocs « attendre x secondes » afin de temporiser et de surveiller l’affichage ou l’action.

Afficher les valeurs : souvent indispensable. Cela permet de voir que là où théoriquement par exemple x doit être supérieur à 120, il plafonne pour on ne sait quelle raison à 30. Il ne reste plus qu’à débusquer la mauvaise valeur ou l’erreur de calcul.

Utiliser des sliders pour les valeurs : cela ne marche pas avec une valeur de 30, peut-être avec 50 ou 100 ? Plutôt que de changer sans cesse dans le code la valeur d’une variable, transformez celle-ci en slider. Les changements seront beaucoup plus accessibles et pratiques.

Bon code !