Kids ROUMICS Code Day !

Mots-clés

, , , , , ,

20140913_152516

Le 18 novembre, les ROUMICS (Rencontres OUvertes du Multimédia et de l’Internet Citoyen et Solidaire) constituent l’événement à ne pas rater en cette fin d’année. Autour des biens communs, des conférences, des débats, des ateliers, de nombreux événements dont un Repair Café qui aura lieu à la MRES le soir-même.

Pour ma part, j’ai le plaisir d’animer un Kids Code qui aura lieu au Mutualab de 14h à 18h le mercredi 19 novembre. Plus d’infos sur le programme des ROUMICS (page de l’événement sur Facebook). Welcome nombreux !

En guise d’amuse-bouche, retour en images sur un petit Kids Code réalisé à l’école de la Croisée des Chemins à Dijon !

Faire une rosace avec Scratch (et un peu de maths)

Mots-clés

,

Rosace sur Scratch

Exercice de la semaine au collège Albert Samain de Roubaix avec des sixièmes : dessiner avec Scratch et quelques opérations mathématiques simples. J’avoue qu’ils m’ont étonné car, là où sincèrement je m’attendais à quelques traits en vrac, nous avons eu droit à des rosaces toutes plus jolies les unes que les autres, voire des ensembles de rosaces à l’aide de clones. Nous avons synthétisé le projet en un fichier de base qui pourra servir à de multiples variations. Les opérations demandées étaient assez simples : il s’agissait de calculer de diverses manières pour aboutir à la valeur de 150.

Le code est bien évidemment disponible sur la plateforme Scratch en cliquant sur l’image ci-dessus. Bon code ! N’hésitez pas à partager vos remixs et créations.

[Edit : la Version 2 se trouve sur cette page. Plus élaborée et un peu plus complète.]

Le code à l’école, de quoi parle-t-on vraiment ?

Mots-clés

, , ,

Code à l’école… Y’aura ?

Y’aura ? Y’aura pas ?

Y’aura ? Y’aura pas ?

Suite à l’annonce de la ministre de l’Education, Najat Vallaud-Belkacem, et de la secrétaire d’Etat chargée du numérique, Axelle Lemaire, lors de la Code Week, y’aura !

Le débat a fait rage. Tant de questions se posant en effet. D’ailleurs, qu’est-ce que le code ? De quel code parle-t-on ? Le flou artistique dans lequel on se trouve ne pouvait qu’alimenter le débat et échauffer les esprits. J’avoue que je suis sciemment resté loin de toutes ces questions mais le Do It Yourself Day à Châlon sur Saone m’a permis lors de l’échange avec le public de poser le cadre dans lequel je me situe (ce pourquoi je tiens à remercier Monsieur Christian de Thy et Nicéphore Cité). La question posée était en effet pourquoi apprendre à programmer ?

Pourquoi apprendre à programmer ??? On pourrait se contenter de répondre de manière logique : « pour savoir programmer ». Certes… C’est une chose. Mais C’est en fait tout ce qui gravite autour qui pose véritablement l’intérêt du code.

Tentez d’inscrire un enfant à un sport de combat (judo, karaté, lutte, boxe…) et aucun entraîneur ne vous dira que l’objectif est de permettre d’exploser tout agresseur potentiel. On vous parlera confiance en soi, maîtrise de soi, respect, connaissance de son corps… À la fin de la formation, l’enfant sera en effet en mesure de se défendre mais il aura appris bien plus que cela. C’est exactement la même chose pour le code.

Julien Dorra évoquait à table lors du Do It Yourself Day un nouveau langage, un nouveau mode d’expression et je le rejoins tout à fait sur ce point.

Apprendre à programmer, à coder, c’est bel et bien apprendre un outil, un langage. D’ailleurs, le premier exercice que l’on fait dans n’importe quel langage de programmation, tout comme pour une langue, n’est-il pas d’apprendre à dire bonjour ? Une page Wikipedia recense d’ailleurs toutes les manières de dire « Hello World » dans plusieurs dizaines de langages informatiques.

C’est là où l’on voit bien toute la difficulté de définir ce qu’est le code. De quel code parle-t-on ? Scratch, PHP, Python, Processing, Perl, Ruby, Cobol, Rebol, Pascal, Basic, Brainfuck…? Le choix du langage est extrêmement varié et je l’ai avoué sincèrement lorsqu’une personne du public m’a posé la question : effectivement, lorsque l’on me dit « code », j’ai plus en tête l’image de mon terminal, d’un éditeur de texte et de lignes de commandes que toute autre chose. Je pense sincèrement que dans la tête d’une grande majorité de personnes c’est la même chose. Le terme « code » est austère et cache trop bien sa magie. Cette image n’a été que trop alimentée par des films prétendant mettre en scène des « hackers » ou par des reporters en mal de sensations fortes pour le journal de 13h ou les grandes enquêtes « inédites » du soir.

C’est cette même image qui trop souvent fait dire que Scratch c’est pour les enfants et uniquement pour les enfants. Ok… Je mets au défi n’importe quel adulte ayant un niveau de débutant de faire un programme comme celui-ci ou celui-là en quelques heures d’apprentissage. Non, Scratch n’est pas que pour les enfants car, s’il simplifie énormément la phase de conception, il n’en rend pas moins bien réelle la phase de conceptualisation et l’algorithmie.

Premier point positif donc de l’apprentissage du code : savoir conceptualiser, réfléchir à un ensemble d’actions qui, mises bout à bout, vont devenir un réel programme. Ce n’est pas rien et il ne s’agit pas d’apprendre pour apprendre. Hier, nous dessinions des rosaces en utilisant un peu de maths, un peu de géométrie, un peu de mouvement et un soupçon de hasard au collège Albert Samain de Roubaix. Je vous laisse imaginer mon sourire quand j’entends « M’sieur ! Venez voir ! C’est trop bien ce que j’ai fait ». « C’est trop bien »… Apprendre en s’amusant. Apprendre sans se rendre compte que l’on apprend.

Bruno Rives me déclarait récemment sur Facebook que l’Apple II l’avait sauvé lorsque je faisais moi-même mon « coming-out numérique » en avouant que l’Amstrad CPC 6128, sa communauté et plus tard le réseau m’avaient sauvé. J’apprenais sans apprendre. Ce que l’on m’apprenait, je le faisais vivre à l’écran. J’écrivais à l’aide mon clavier, je dialoguais en anglais avec mon ordinateur (print, gosub, goto…), je réalisais les notions les plus diverses sous forme de petits programmes, j’avais un objectif… Je me souviens de ce dialogue épique entre mon professeur de mathématiques et moi-même en première littéraire à propos des suites. Au bout de la quatrième explication sans compréhension, j’osais poser la question : « est-ce que cela va me servir à quelque chose dans la vie ? » – « Non, pas vraiment. » – « Ok, désolé. je préfère qu’on s’arrête là. » Je ne comprenais rien de rien au niveau 0 des suites et pourtant je me suis rendu compte quelques années plus tard que je faisais des suites sans le savoir en niveau 10 environ en réalisant de petits programmes de cryptographie.

Je pourrais en raconter plein des anecdotes de ce type, ne serait-ce qu’avec les enfants, les collégiens avec lesquels je collabore tout au long de l’année mais c’est cela que je voudrais mettre en avant. Programmer pour apprendre à programmer, NON ! Programmer pour apprendre à programmer, comprendre la transversalité, se réapproprier la technologie, gagner en confiance, développer de nouvelles capacités, apprendre à vivre ensemble, à partager ses connaissances… OUI !

J’espère, je croise fortement les doigts pour que l’on n’enferme pas le code dans un programme classique genre leçon 1, leçon 2… Ce n’est pas du code cela. Je ne pense pas élaborer un cliché en déclarant que la plupart de ceux qui ont appris à coder, quel que soit le langage, sont partis d’un besoin, d’une envie et ont appris les petits bouts qui leur étaient nécessaires, un peu comme si l’on apprenait dans un dictionnaire le vocabulaire de base, puis que l’on étendait au reste des mots en fonction de nos besoins. Imaginez vous commencer le dictionnaire à la lettre A et ne pouvoir découvrir qui se cache derrière Zarathoustra, où se trouve Zanzibar ou ce qu’est un zèbre qu’une fois après avoir avalé l’ensemble des autres lettres. Il y a de quoi avoir peur. Ne transformons pas le code en cela.

De même, souvenons-nous des origines, ce ne sont que des 0 et des 1, On – Off, des interrupteurs qui nous renvoient à l’électronique. N’enfermons pas le code dans le code. Entourons-le de cartes Makey Makey, de Littlebits en mode Do It Yourself (j’y reviendrai), de cartes Arduino. Ne résumons pas le code à un écran. La diversité de ce Do It Yourself Day à Chalon sur Saone en atteste…