Tous les enfants peuvent apprendre à coder. Et dans un monde de plus en plus numérique, il est bon que les citoyens aient un minimum de bagage pour comprendre comment fonctionne leur environnement. Mais l'École est-elle le lieu le plus approprié?

ParisTech Review – Commençons par le commencement. Qu’est-ce que le code?

Nicolas Danet – Il y a plusieurs façons de le définir. Premièrement, le code est ce qui fait tourner les machines. Nous possédons des outils, des ordinateurs, des téléphones qui seraient inertes sans code pour les animer. Le code est donc un peu comme l’âme de la machine. C’est ce qui nous permet de lui donner les utilisations et les usages requis. Le code est une syntaxe qui permet d’automatiser des tâches grâce à des algorithmes. C’est sa première définition.

Mais le code peut aussi se définir comme un langage. Parce qu’il est fondé sur les algorithmes, on a tendance à dire que c’est seulement une affaire de matheux et d’ingénieurs. En réalité, il y a beaucoup de littéraires qui se sont intéressés au code et qui ont inventé des langages de programmation. Il y a même des gens qui font de la poésie avec du code ! Des étudiants de Stanford University ont créé un club mélangeant poésie et programmation. On peut donc tout à fait considérer le code comme une manière de parler et d’exprimer des choses.

On pourrait ainsi rapprocher l’apprentissage de la programmation de celui d’une langue étrangère: les premiers moments sont difficiles, mais on comprend peu à peu la logique de la langue, et tout le monde en est capable car le langage est une capacité universelle.

Nous pouvons donc tous apprendre à coder. Mais le devons-nous tous ?

C’est juste, tout le monde peut apprendre à coder, notamment les enfants. Lorsqu’on leur propose des interfaces de programmation adaptées, ils y arrivent sans aucun problème. Nul besoin d’être un génie du code ni d’avoir un doctorat en la matière pour commencer à faire de la programmation. Pour filer la métaphore de la langue étrangère, il est possible de se débrouiller en anglais sans pour autant être Shakespeare. C’est pareil pour le code ! Ce n’est pas très compliqué d’arriver à faire les premiers pas dans un langage de code ni de déchiffrer de la programmation. D’ailleurs, la plupart des gens côtoient tous les jours, sur leur navigateur internet, quelques lignes de codes qu’ils déchiffrent sans aucun souci : les URL des sites. Dans un navigateur, c’est le seul endroit où du texte lié à de la programmation est encore visible, tout le reste étant de l’interface graphique. Tout le monde sait qu’en enlevant toute la partie après le .com, on revient à la première page. Comprendre cela, c’est commencer à comprendre la programmation.

Selon Douglas Rushkoff, l’une des figures majeures de la cyberculture aux États-Unis, il faut « programmer ou être programmé ». C’est un peu excessif car il n’est pas nécessaire que nous devenions tous programmeurs de téléphones portables juste parce que nous en possédons tous un. Il y aura toujours des outils que nous utiliserons sans pouvoir être capables de les reproduire. Toutefois, si nous voulons être en mesure d’interagir avec un environnement qui est de plus en plus fait de code et de ne pas être complètement passifs dans cet environnement, il est important de comprendre la logique du code et de ne pas laisser cette capacité à une caste ou à une élite.

Il est essentiel, au contraire, que les citoyens aient un minimum de bagage, et c’est ici qu’une sensibilisation à la programmation a du sens.  De la même façon qu’on apprend en même temps à lire et à écrire, il est bon de s’être frotté à l’écriture du code pour apprendre à « lire » le monde numérique qui nous entoure.

À mon sens, c’est presque comme l’instruction civique. Sans apprentissage du fonctionnement de la démocratie, un citoyen aura du mal à trouver sa place dans la société. De la même façon, si nous ne comprenons pas la logique de la programmation, nous serons des citoyens moins libres dans un monde fait de code. Prenons l’exemple du moteur de recherche Google, que tout le monde utilise plusieurs fois par jour. Si l’on ne comprend pas comment il fonctionne, comment l’information est indexée, d’où elle vient, pourquoi telle requête renvoie tant de résultats, etc., on peut facilement être piégé par cet outil. Il ne faut pas en arriver à penser que les résultats donnés par ce moteur de recherche sont une sorte de vérité et que si un résultat n’apparaît pas dans les premières lignes, il n’est pas pertinent.

En somme, ce qui vous semble important est de donner aux élèves une culture numérique, de les sensibiliser au code. Cela entre bien sûr en phase avec la mission civique de l’École. Mais est-elle le meilleur endroit pour cet enseignement ?

Le débat sur l’enseignement du code à l’École a émergé ces dernières années un peu près partout dans les pays occidentaux, où des annonces ont été faites en sa faveur. En réalité, il est difficile de changer tout un programme scolaire et l’on n’a pas assez de professeurs d’informatique pour faire du code une des deux ou trois matières centrales, comme les maths ou le français. De la même façon, quand la France a introduit en 2010 de l’algorithmique dans les programmes de lycée, cela a posé des problèmes aux professeurs, qui n’étaient pas formés.

coderapprendre

On peut se demander aussi pourquoi faire du code une discipline spécifique : si coder c’est comme écrire, alors toutes les disciplines sont concernées.

Je poserais le problème autrement. Il me semble moins important de se concentrer sur l’objectif d’intégrer impérativement le code aux cursus scolaires que de se placer du point de vue de l’élève et de ce qui lui sera le plus bénéfique.

Souvent, on se plaint que les enfants passent trop d’heures devant les écrans et c’est sans doute juste. Mais il faut surtout s’assurer qu’une fois face à l’écran, ils ne sont pas uniquement dans une position passive face à cet outil. C’est là que le code peut être utile. S’ils commencent à le pratiquer, grâce à des interfaces adaptées, ils vont rapidement voir qu’ils peuvent s’amuser en programmant. Dès lors, ils auront une utilisation complètement différente des outils informatiques.

C’est là que se pose la question du modèle d’apprentissage : est-ce qu’il vaut mieux commencer par la théorie ou bien plutôt par la pratique et l’expérimentation ? Personnellement, je ne pense pas que l’on puisse comprendre le code sans mettre les mains dans le cambouis. À mon avis, il est donc préférable de commencer par la pratique plutôt que par la lecture de livres de théorie de code. C’est exactement la manière dont j’ai commencé à apprendre à faire des lignes de codes quand j’étais gamin. Je faisais de mauvaises lignes de codes mais ce n’était pas grave. L’important était de comprendre le cadre et la logique dans laquelle s’insérer. La pensée algorithmique s’apprend bien mieux avec les mains dans le cambouis qu’avec des livres de théorie.

L’école est-elle alors le lieu le plus adapté?

Pas forcément. Ce type d’apprentissage peut se faire en marge de l’école, dans les temps périscolaires, comme le font actuellement en France plusieurs initiatives (Coding Goûters, Magic Makers, Devoxx4kids, Tralalère, Kids Coding Club, etc.). Car il faut bien voir que la culture du code et de l’informatique est différente de celle de l’École. À l’école, il y a des hiérarchies, un maître, des élèves, des niveaux. À l’inverse, dans l’univers du code, il y a surtout des autodidactes et des logiques d’entraide. C’est en tout cas la manière dont cela s’est développé. Ce serait dommage de ne pas intégrer ces idéaux d’horizontalité et de collaboration dans l’apprentissage du code, pour en faire un enseignement un peu différent des matières scolaires traditionnelles. Dans un second temps, ces initiatives à la marge de l’école pourraient être mobilisées et labellisées pour qu’elles se développent davantage. C’est du reste une logique très « numérique » de tester puis d’intégrer la nouveauté par la marge.

Cette approche permettrait en outre de répondre en partie à la question des moyens humains, c’est-à-dire des recrutements massifs d’enseignants ou de l’effort de formation tout aussi massif que signifierait une arrivée immédiate du code dans les programmes du primaire ou du secondaire. Si l’on vous suit, néanmoins, à moyen terme l’institution scolaire aurait vocation à intégrer ces initiatives périscolaires. On peut imaginer alors que, si le numérique doit changer l’école, le code peut être un cheval de Troie pour initier le changement, en permettant le développement d’une culture d’apprentissage différente. Comment voyez-vous l’École du futur?

Idéalement, elle beaucoup plus fondée sur la collaboration qu’elle ne l’est actuellement. Il s’agit d’apprendre par l’interaction avec ses pairs. C’est une très bonne façon de fixer les connaissances : si un élève doit expliquer la moindre chose à son ou ses camarades, il doit la maîtriser et ses connaissances en deviendront plus solides. Dans un tel contexte, la posture du professeur face aux élèves changera. Ce dernier sera plus une sorte de catalyseur qu’un sachant qui transfère ses savoirs. Idéalement, cette dimension collaborative pourra être étendue à des échanges avec des classes d’autres pays, comme un Erasmus au niveau de l’éducation primaire et secondaire.

L’École du futur devra aussi mettre l’accent sur la créativité. Or c’est là qu’on retrouve le code, notamment intégré dans un apprentissage par l’expérience, qui cherche par exemple à apporter des solutions à des problèmes du quotidien : faire un site internet, lancer un petit logiciel pour faire des choses automatiquement, programmer des objets connectés, s’amuser avec un capteur de lumière etc. Ainsi pratiqué, le code se rapproche d’un enseignement créatif, comme les arts plastiques ou la musique : en matière de programmation, à un problème donné il existe de nombreuses solutions, plus ou moins élégantes et efficaces. Apprendre à coder, in fine, c’est découvrir et approfondir son style, et développer sa créativité.

References

BOOKS

More on paristech review

By the author

  • Série Education – 6 – Où apprendrons-nous la grammaire du numérique?on April 21st, 2015

www.paristechreview.com

This content is licensed under a Creative Commons Attribution 3.0 License
You are free to share, copy, distribute and transmit this content

Logo creative commons

5 quai Voltaire 75007 Paris, France - Email : contact@paristechreview.com / Landline : +33 1 44 50 32 89