Pourquoi je suis favorable à l’enseignement de la programmation à l’école

Cliquez sur l'image

Cliquez sur l’image

C’est un débat qui revient régulièrement, et pour une fois avec une certaine symétrie des deux cotés de l’Atlantique : doit-on enseigner la programmation à l’école ?

Les arguments contre, je l’avoue, me convainquent assez peu : la programmation n’est pas vraiment une discipline au même titre que les maths ou la littérature (mais on enseigne aussi la flute à bec, la cuisine et le sport que je sache – et si la définition d’une discipline c’est d’être patiné par les ans, par définition on n’en n’aura jamais de nouvelle) ; pas tout le monde aura besoin de programmer (bin pas tout le monde aura besoin d’avoir lu Victor Hugo et de savoir calculer une dérivée) ; les profs ne sont pas formés (à nouveau, avec cet argument on n’aura par principe jamais de nouvelles matières). L’argument le plus étrange pour moi, mais qui apparemment fait mouche : c’est pas avec ça qu’on va résoudre tous nos problèmes ! (Beaucoup de discussion en suivant ce lien ; l’article lui-même me paraît poser de fausses dichotomies ; et je précise que je n’ai pas lu tous les commentaires.) Euh non, mais si on n’a rien le droit de faire si ce n’est pas la seule solution à tous nos problèmes, c’est un peu limitant (ça me rappelle certains débats sur le riz doré).

Pour être clair : le manque de profs est un problème, mais si c’est le principal problème, alors il n’y a pas d’opposition de principe, et c’est un problème auquel il est possible de chercher des solutions : formation de profs volontaires (et je ne vois vraiment pas pourquoi ça serait limité ni même davantage encouragé pour les profs de maths), embauche en temps partiel d’étudiants, flexibilité sur les diplômes si expérience professionnelle, … bon après je ne m’aventure pas dans les débats sur les statuts de fonctionnaires en France, mais ce n’est plus une question de principe donc.

Alors pourquoi suis-je favorable à l’enseignement de la programmation à l’école ?

D’abord, l’informatique me paraît une matière importante, et c’est en programmant qu’on l’appréhende le mieux. De même qu’on fait des expériences en chimie et physique, des calculs en maths, des rédactions en français, c’est en programmant qu’on comprend à la base l’informatique. Ceci n’exclut pas d’aller plus loin et plus théorique pour ceux qui le veulent, mais il me semble que la compétence de base s’acquiert vraiment au pied du mur en devenant forgeron (ou quelque chose comme ça). J’ai eu une discussion Twitter avec un collègue bioinformaticien à ce propos, où il défendait qu’apprendre à programmer était comme apprendre la mécanique automobile plutôt que la physique. Je maintiens que c’est plus comme écrire des rédactions ou des dissertations, ou résoudre des calculs. De plus, l’informatique est quand même à mon avis à la fois une science et une technologie (voir les avancées et théoriques et pratiques d’un très bon informaticien dans ce billet). (La bioinformatique aussi d’ailleurs.)

Ensuite, lorsque l’on sait programmer, je pense que même si l’on ne programme pas (ou plus) en pratique, on en retire la compréhension de deux choses importantes :

  • On comprend mieux l’intuition du programmeur, et donc on comprend mieux comment utiliser les logiciels et on comprend mieux ce que l’on peut demander ou pas à l’informatique. On comprend ce qui doit forcément être sauvé dans un fichier, sinon ça ne serait pas gardé, ce qui devrait logiquement être modifiable parce que c’est facile, et ce qui n’est pas vraiment possible. C’est facile de se moquer du maire de New York qui affirme vouloir apprendre à programmer, parce qu’en effet dans son travail il ne doit pas en avoir besoin. Mais s’il comprend mieux ce qu’il peut demander, ce qui améliorerait la vie et serait vraiment facile à faire, ce serait un sérieux progrès pour la gestion des grandes villes à mon avis. Et juste pour prendre en main un nouveau logiciel, ou un nouvel appareil (iBidule ou autre), de comprendre ce qu’est un programme et comment ça marche est un sérieux plus. Vous comprenez ce que ça veut dire, que les apps soient “sandboxés” sur un iphone ? Sans savoir programmer, cela reste forcément un peu obscur je pense.
  • On comprend au moins intuitivement plein de notions qui sont en général pertinentes à notre relation avec le monde, y compris hors informatique. C’est un bénéfice de devoir formaliser la manière de penser et d’exécuter. Ce que sont un algorithme (comment résoudre une tache), une heuristique (une solution approximative, rapide et qui marche la plupart du temps), que de mauvaises données ne donneront pas de bonne solutions (Garbage in garbage out), qu’un ordinateur ne peut pas “comprendre” au même sens qu’un humain, etc etc, sont des notions à mon avis fondamentales. Notions que l’on peut bien sur pousser pour ceux qui le choisissent, mais dont on peut donner une intuition à la plupart des gens en leur faisant utiliser.

Un bénéfice je trouve moins critique mais quand même appréciable est de pouvoir utiliser l’informatique dans la zone grise qui n’est pas vraiment de la programmation au sens strict, mais manipule les mêmes objets et concepts : éditer du HTML pour une page web ou un blog, éditer le code dans Wikipedia, utiliser un logiciel de statistiques avancé comme R, écrire des macros Excel, etc.

Débats secondaires : à quel niveau à l’école ? Dès 6 ans, 10 ans, ou seulement à 17 ans ? Et quel languages ? Il me semble qu’il faut d’abord être d’accord sur les objectifs avant de s’occuper des moyens de les réaliser. En l’état des choses, je vote 10-12 ans, programmation de robots puis Python, mais je suis très ouvert à ce niveau-là. 🙂

29 réponses à “Pourquoi je suis favorable à l’enseignement de la programmation à l’école

  1. Ping : Pourquoi je suis favorable à l’ens...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.