Coder, qu’est-ce que c’est ?

flash

Pour pouvoir fabriquer l’application Construis ta ville !, j’ai dû apprendre à coder. J’ai donc suivi un cours en ligne sur Actionscript 3, le langage qu’utilise le logiciel Flash d’Adobe, et j’ai aussi beaucoup embêté mon collègue Benjamin, qui, lui, connaît Actionscript sur le bout des doigts.

C’était pour moi comme un retour dans le temps. À 11 ans, j’ai fait des petits programmes en Basic, recopié des lignes de code pour pouvoir jouer à Snake ou voir mon nom s’écrire sur mon téléviseur. C’était magique ! J’ai retrouvé ce même plaisir en construisant Construis ta ville !

flash

On parle beaucoup d’apprentissage du codage à l’école, et j’ai rencontré en février dernier un groupe de chercheurs, développeurs, enseignants, qui réfléchit à cet avenir-là de l’éducation. En mettant leurs discussions en regard de ma pratique,  j’ai eu besoin de mettre au clair mes propres pensées. Elles feront l’objet de plusieurs articles. Voici le premier.

Tout commence par un besoin…

J’ai un besoin à satisfaire. Il peut être vital (me nourrir, me protéger,…), éducatif (faire comprendre à un enfant qu’il ne doit pas mettre ses doigts dans la prise,…), culturel (me divertir,…)  Ce besoin peut me concerner, ou concerner mes proches, mes collègues, mes voisins, mes concitoyens,…

Comment satisfaire ce besoin ?

J’analyse les façons de satisfaire ce besoin.

Certains besoins peuvent être satisfaits de façon simple, avec une solution déjà existante (trouver de la nourriture, un ustensile pour boucher les prises électriques, un jeu vidéo disponible sur ma console,…)

D’autres n’ont pas de solutions immédiates et accessibles. J’ai donc un problème.

Je dois réfléchir à la façon de procéder. Je dois me projeter dans le futur pour imaginer une façon de régler mon problème. Je vais, grâce à cette projection, éliminer certaines possibilités, et en promouvoir d’autres.

S’il se trouve qu’il est nécessaire d’inventer et mettre en oeuvre une solution qui n’existe pas encore, il me faudra mettre en place une stratégie, un schéma de construction qui correspond à mon problème, à ma façon de l’appréhender, à ma façon aussi d’envisager le monde.

 Quel rapport avec le code ? le codage ?

Le schéma qui va m’amener à régler mon problème, je le construis petit à petit. J’envisage une première solution, puis j’imagine (ou je teste quand c’est possible) ce qu’elle va avoir comme conséquences positives ou négatives. En fonction de cette première réponse, je vais moduler ma solution, lui faire prendre un autre chemin, voire la supprimer pour penser à une autre.

Chaque étape est analysée et figure une sorte de “noeud” dans mon raisonnement, comme un embranchement. Les segments se succèdent jusqu’à arriver à la solution.

Coder, c’est ce que je viens de décrire.

 Coder, cela s’apparente-t-il à l’utilisation d’une langue étrangère ?

Le code informatique est une langue, avec ses mots (dont un grand nombre est tiré de l’anglais), sa syntaxe (qu’il est primordial de respecter) et sa construction. Dans ce sens, apprendre un langage informatique ressemble à l’apprentissage d’une langue.

Ce langage permet de dialoguer avec une machine, une machine qui a été créée pour recevoir ce code. L’interaction entre celui qui “parle” cette langue, et la machine qui la reçoit est immédiate, il y a une action qui en découle (même si cette action est parfois un message d’erreur), immanquablement.

Mais coder, c’est bien davantage que maîtriser une langue.

Prenons un exemple :

Je suis dans un pays dont je ne parle pas la langue, et je suis perdue.
Mon besoin : aller à un endroit précis.
Mon problème : trouver ma route.

En analysant les solutions envisageables, je me rends compte que je n’ai pas de plan, pas de connexion internet pour en charger un, et que ma seule solution est de demander mon chemin.

La personne qui me renseigne comprend heureusement le nom du bâtiment dans lequel je dois me rendre.
Avec les signes qu’elle fait, j’associe rapidement les notions “à droite”, “à gauche”, “tout droit” aux mots correspondant dans sa langue.

Me voilà, pour peu que ma mémoire soit bonne, avec une série d’instructions que je peux suivre, et je peux les suivre parce que je sais comment diriger mes pas vers la droite, la gauche ou aller tout droit.

La résolution de mon problème a été de l’ordre du codage :

  • J’ai analysé la situation et codé ma réponse en “je dois chercher une personne, puis lui poser ma question, retenir sa réponse et reproduire les mouvements qui m’ont été indiqués dans le bon ordre.
  • La personne qui m’a aidé a résolu mon problème grâce à un code : elle m’a transmis un ensemble d’indications à suivre, dans un ordre particulier.

Je viens de décrire ma façon de comprendre le codage. Dans le prochain article, je vous dirai pourquoi je pense qu’il est important pour les enfants d’apprendre à coder (pas que pour les enfants, d’ailleurs). L’article se trouve ici : « Je code, je grandis. »

N’hésitez pas à échanger sur ce sujet en utilisant le formulaire de commentaire ci-dessous.