septembre 10, 2014

Lire, écrire, compter, coder

(petits compléments à découvrir et liens cités dans l’émission Quoi2Neuf sur Tébéo du 10 septembre 2014)

Pour cette première rubrique numérique de la rentrée 2014 sur Tébéo, j’ai choisi de parler de l’enseignement du code à l’école. Ou, disons plutôt, de l’intérêt de proposer à des enfants des activités où ils vont apprendre à coder. Parce que si on y réfléchit deux minutes, c’est un des apprentissages qui manque le plus aujourd’hui alors que nous sommes en plein début d’ère numérique. Et dès qu’on en parle, il y a toujours quelqu’un (au hasard, ci-dessous, parce que c’est tombé aujourd’hui) qui tente de vous balayer d’un « non, mais vous n’y pensez pas mon brave, il y a déjà les savoirs fondamentaux à maîtriser. »

(à ce propos, comme je ne vais pas traiter du tweet du philosophe ci-dessus, je vous invite sur le billet de Rue89 qui l’a très bien fait)

Vous savez lire, écrire, compter, et vous ne savez pas programmer ?

Vous ne savez pas programmer votre ordinateur pour qu’il aille vous chercher le bulletin météo de votre ville, ou une liste de disques qui corresponde à votre humeur ? Vous avez bien raison, car comme on dit, il y a une application pour ça. Et votre mobile ou votre machine est plein d’applications qui vont faire le boulot pour vous, c’est bien pratique. Alors pourquoi aller voir sous le capot ?

Sous le capot, il y a des algorithmes, et ces algorithmes finissent par prendre des décisions pour vous. Mais c’est quoi un algorithme ? Réflexe wikipedia :

Un algorithme est une suite finie et non ambigüe d’opérations ou d’instructions permettant de résoudre un problème.

Le mot algorithme vient du nom latinisé du mathématicien perse Al-Khawarizmi, écrivant en langue arabe, surnommé « le père de l’algèbre ». Le domaine qui étudie les algorithmes est appelé l’algorithmique.

Bon, prenons une analogie qui vaut ce qu’elle vaut. Un algorithme, c’est un peu comme une recette de cuisine. Il y a des entrées (les ingrédients), des sorties (un cupcake ou du rôti de veau Orloff), et une série d’instructions pour aller des premières aux dernières (avec un vocabulaire spécifique, genre « déglacer », « réduire », « réserver » qui fait un peu jargon au début). Vous savez lire les recettes, écrire la liste des courses, et compter le nombre d’œufs ? Alors vous êtes prêts à faire la cuisine. Comment ? Vous ne savez pas cuisiner ? Vous achetez toujours tout fait, réchauffez des surgelés, et vous vous laissez guider par les goûts des autres ? Tsss tsss. Sûr qu’à un moment donné vous avez regardé une recette de plus près, et fait la pâte à crêpes pour le goûter. C’est bien plus amusant, on s’en met partout, on renverse un peu la farine et on apprend comment récupérer une coquille d’œuf au milieu du reste, mais au bout du compte, on se régale, on est content de soi, et on a hâte s’attaquer à la fondue de poireaux. Alors pourquoi pas apprendre à programmer ?

Car pendant ce temps, les algorithmes continuent de tourner pour vous. Sur Facebook ne s’affiche qu’une infime partie des messages de vos amis, et ce qui s’affiche correspond à ce que vous avez aimé dans le passé, les statuts de vos amis, les pages que vous aimez, ce que vous avez écrit, voire peut-être ce que vous faites pendant que Facebook est encore ouvert. En fait on n’en sait rien, car l’algo de Facebook n’est bien sûr pas public. Ce qu’on sait en revanche, c’est que si on pousse à bout le système, par exemple en likant systématiquement tout ce qu’on voit, on se retrouve avec une page Facebook complètement étrange, et par effet de bord vos amis voient leur expérience Facebook complètement modifiée, comme cela a été démontré récemment (l’expérience inverse est intéressante aussi). Et ce qui est vrai pour Facebook, l’est aussi pour tous les autres sites de recommandations, comme par exemple le site où vous allez choisir vos séries préférées. Ou le programme qu’utilise votre assureur pour vous proposer une solution d’assurance (et des tarifs) qui correspond à ce que l’on sait de vous…

D’où l’intérêt de comprendre comment les algorithmes finissent par organiser le monde autour de nous, et être capable éventuellement d’agir sur eux, voire d’en créer de nouveaux.

Soit ils programmeront, soit ils seront programmés

C’est ce que disait la ministre Fleur Pellerin en début d’année, parlant de nos enfants, alors qu’elle était en charge du numérique au Gouvernement, rapportait Les Echos fin avril dernier. Et l’article de préciser :

Certains pays ont passé depuis longtemps la vitesse supérieure. En Chine, au Japon et en Corée du Sud, l’informatique est enseignée sur un mode obligatoire dès l’âge de 8-10 ans et jusqu’à l’équivalent du bac. Même chose en Inde. Plus près de nous, la Bavière est le Land le plus à la pointe de l’Allemagne fédérale : l’informatique y est enseignée de façon continue tout au long de la scolarité depuis une quinzaine d’années. Sans doute Barack Obama avait-il tous ces exemples en tête lorsqu’il a enregistré un petit film, visible sur Internet, dans lequel il exhorte les jeunes Américains à concevoir des applications pour smartphones plutôt que les télécharger, à programmer plutôt qu’à consommer.
Alors, pourquoi pas en France ? Oh, cela a été tenté plusieurs fois, car ce ne sont pas les rapports sur les TIC, puis les NTIC, puis le numérique qui manquent en France. Mais il y a toujours un problème pour généraliser, on manque de professeurs formés à l’informatique, les collèges ne sont pas tous en haut-débit, on peut pas équiper tous les enfants d’une tablette, c’est la porte ouverte aux produits de Microsoft et à Google à tous les étages, on a déjà tenté avec le TO7, qu’est-ce qu’on s’est marré, mais surtout, surtout, si déjà nos enfants savaient lire, écrire et compter, ma bonne dame.
On pourrait donner mille raisons sur notre retard français en la matière, et en particulier généraliser à notre manière bien française de voir l’éducation, mais ce serait aujourd’hui perdre notre temps, car les autres pays avancent et forment des citoyens qui seront adaptés au monde d’aujourd’hui et de demain. Il faut qu’on y aille, d’une manière ou d’une autre, on ne peut plus tergiverser.

Maîtriser les literacies de l’ère numérique

Car l’enjeu derrière tout ça, c’est d’apprendre à maîtriser les nouvelles literacies à l’ère numérique, c’est à-dire les compétences qui vous permettent de vous adapter au XXIe siècle, comme par exemple savoir s’en sortir avec les grandes masses d’informations qui nous submergent. Apprendre à coder pour savoir décoder le monde. Savoir aussi décoder les images et les données. Maîtriser l’internet des objets. Et demain maîtriser les intelligences artificielles qui seront dans nos objets.

Est-ce que cela s’apprend à l’école d’ailleurs ? Pas seulement. Beaucoup d’acteurs le proposent dans les activités extra-scolaires, comme par exemple à Brest les Petits Hackers, ou ici et là ce qu’on appelle les Coding Goûters (la Cantine numérique de Toulouse en propose régulièrement), et on pourrait multiplier les liens.

Et est-ce que seuls les enfants sont concernés ? Pas du tout. Apprendre à coder peut être une occasion pour les adultes de se créer une nouvelle voie professionnelle, et même ceux qui ont déjà une activité s’y mettent. Un exemple parmi d’autres (je ne peux pas être exhaustif) la proposition de Le Wagon pour deux semaines au vert pour apprendre le surf (le vrai, celui dans l’eau) et le code, que vous soyez débutant ou pas.

En réalité, on n’a pas le temps d’attendre une génération, le temps que 20 classes d’âge soient formées. Il faut que tous ensemble, enfin disons un très grand nombre d’entre nous, apprenions à maîtriser le code. Programmer ou être programmés.

L’idée n’est pas que tout le monde devienne développeur à plein temps, bien sûr. Quand on vous apprend à écrire, l’idée n’est pas que vous deveniez écrivain (si ?). L’idée est que vous soyez mieux à même de comprendre l’ère numérique, le monde qui est autour de vous, que vous allez d’ailleurs contribuer à construire. Coder peut vous apprendre à penser ! Et accessoirement, en s’attaquant à des problèmes concrets, coder permet aussi d’apprendre à lire (dans d’autres langues), à écrire (de la documentation, des sites web), et à compter.

Trop dur pour moi ?

C’est ce que tout le monde pense aussi en faisant ses premières crêpes. Et pourtant il n’y a rien de compliqué, vous diront celles et ceux qui se sont lancés. D’autant plus qu’aujourd’hui il est possible de découvrir les principes du code directement sur Internet, via tout un paquet de tutoriaux et de logiciels très bien faits, par exemple Scratch (regardez cet exemple, et essayez le bouton « See inside »), qui vous guident pas à pas, visualisent immédiatement vos résultats, et vous donnent tout de suite satisfaction.

(vidéo extraite de http://www.worrydream.com/LearnableProgramming/)

Allez, tentez de relever un défi, inscrivez-vous sur le cours de Python proposé par OpenClassRooms qui débute le 7 octobre prochain, et on en reparle ?

See you next week

La semaine prochaine je vous parlerai de télépathie et tenterai de méditer avec l’aide d’une sonde neurale que j’ai reçue cet été…

Les commentaires sont fermés.