Série Education – 5 – Devons-nous tous apprendre à coder?

Photo Serge Abiteboul / Directeur de recherche à l'INRIA, professeur à l'ENS Cachan et membre de l'Académie des Sciences / March 17th, 2015

La question se posait déjà dans les années 1980, avec l'avènement de la micro-informatique: allions-nous tous devoir apprendre à programmer? Le développement de l'industrie du logiciel semblait dans un premier temps avoir donné une réponse définitive, et négative, à cette question. Mais elle revient avec insistance. Pourquoi faut-il aujourd'hui la prendre au sérieux?

ParisTech Review – L’enseignement de l’informatique prend aujourd’hui une importance grandissante.  Quels sont ses enjeux, pour les élèves et pour nos sociétés?

Serge Abiteboul – La raison principale est que l’informatique est au cœur du monde numérique que nous sommes en train de construire. Pour comprendre, maîtriser et participer à ce monde numérique, la connaissance de l’informatique est indispensable. Et si nous voulons être compétitifs sur un plan économique, nous avons également besoin de maîtriser la science et la technique informatique. À titre de comparaison, il est aussi important de comprendre l’informatique aujourd’hui qu’il était important de connaître les mathématiques ou la physique au XIXe et au XXe siècles.

Le président américain Barack Obama le dit très bien dans cette vidéo où il appelle les jeunes Américains à apprendre à programmer. Il y a des programmes dans à peu près tous les outils que nous utilisons et tous les objets qui nous entourent. À partir de là, deux attitudes sont possibles. L’une consiste à dire : c’est nous qui allons écrire ces programmes, les maîtriser et être ainsi maîtres de notre destin. L’autre à dire : d’autres vont les écrire et décider pour nous. Il est possible de vivre comme ça, en utilisant les produits des autres. Mais d’un point de vue économique, cela signifie perdre notre compétitivité, c’est disparaître de la carte du monde de l’innovation, puisque cette innovation passe de plus en plus souvent par l’informatique.

D’un point de vue individuel, on peut également se contenter d’être passif devant tous ces objets et les laisser décider pour nous. Ou bien on peut décider de faire quelque chose qui n’est pas prévu dans le manuel. Par exemple, vous êtes en train de gérer le site web d’une association et il y a quelque chose qui ne vous plaît pas. Si vous ne comprenez pas les dix lignes de code qui déterminent cette fonction et ne savez pas écrire les deux lignes de code qui vont la modifier, vous restez un esclave des technologies.

Si l’on veut être un citoyen à part entière, si l’on veut prendre en main son destin, il faut par exemple comprendre ce que c’est que le cloud ou le vote électronique et il faut être capable de se programmer une petite application sur son téléphone et de customiser quelques lignes de code sur un site web. Et ce quelque soit son métier. C’est à la portée de tout le monde : ce n’est pas plus compliqué que d’écrire un rapport en français ou de concevoir la logistique d’une entreprise. L’enjeu est de devenir de vrais participants et de démystifier ce domaine, afin qu’il ne reste pas l’apanage du département IT de son entreprise.

Clarifions le vocabulaire : on a souvent tendance à confondre informatique et numérique.  Quelle est la différence entre ces deux termes et comment s’articulent-ils?

Il y a un monde numérique et une science informatique. Au lieu de lire un livre papier, vous lisez un livre numérique ; en classe, au lieu d’un tableau avec une craie, vous avez un tableau numérique ; votre appareil photo est devenu numérique et votre voiture est numérique. Le monde qui vous entoure est numérique. Quand on apprend aux enfants à écrire, on peut leur apprendre à se servir d’un correcteur orthographique ; quand on apprend aux enfants à compter, on peut leur apprendre à se servir d’Excel. Ce sont des outils numériques mais il s’agit toujours d’apprendre à écrire ou d’apprendre à compter. De même, on peut familiariser les gens à l’utilisation de Google ou leur apprendre les risques de Facebook mais il n’y a pas un enseignement du moteur de recherche Google ou de la confidentialité dans Facebook. Il n’y a pas un « cours de numérique ». Cela s’enseigne avec les autres matières.

Au cœur de ce monde numérique, il y a l’informatique avec la programmation. L’informatique est ce qui permet de fabriquer tous les programmes qui font vivre ce monde numérique. Là, il s’agit véritablement d’un enseignement, d’une science et d’une technique et non simplement de familiariser les gens à des outils ou des pratiques. On mélange le fait d’apprendre à se servir d’outils avec apprendre l’informatique, ce qui n’a strictement rien à voir.

Donc, l’informatique est une science qu’il faut enseigner, comme on enseigne la physique, la chimie ou les mathématiques. Mais c’est aussi une technique. Il faut aussi apprendre à fabriquer soi-même des programmes, à résoudre des problèmes avec l’informatique. Oublier cela revient à oublier l’un des aspects fondamentaux de l’informatique.

Faut-il enseigner l’informatique comme une matière à part entière ou en distiller dans chacune des autres matières, de par son caractère interdisciplinaire?

Il faut faire attention à ne pas faire de confusion. Si l’on veut habituer les gens à des outils numériques, cela dépend des différentes matières (des outils de conception de bâtiment pour un architecte, des outils de bibliothèque et de recherche pour un littéraire, des outils de calculs pour un scientifique, etc.). Mais pour ce qui est de l’informatique en tant que science, il n’y en a qu’une. Il n’y a qu’une seule pensée algorithmique. Que vous soyez en train d’écrire un programme qui calcule les occurrences de certains mots dans un texte de Proust ou qui fasse des multiplications de matrices, les opérations de base seront les mêmes (opérations de séquencement, tests, boucles, etc.). C’est dans la mise en pratique de cette science qu’on peut choisir des projets de programmation différents, en s’appuyant sur des matières spécifiques, tout comme sur les intérêts et les expériences spécifiques de chaque enfant.

Alors, que peut-on enseigner?

La science informatique a développé une nouvelle forme de pensée, la pensée algorithmique qui explique comment les choses peuvent être faites par des programmes. La notion d’algorithme est bien connue depuis longtemps. Quand on vous apprend à faire une opération, par exemple l’addition, la multiplication ou la division, on vous apprend des algorithmes. Mais nous sommes maintenant confrontés à des situations beaucoup plus complexes, avec la programmation d’outils intelligents et d’application intelligentes. Du coup, il faut maîtriser tous ces concepts de façon plus abstraite. Par exemple, il faut apprendre ce qu’est une boucle, qui permet d’itérer une certaine tâche.

Mais l’informatique est aussi très concrète. La beauté de cette science est que l’on peut tout suite mettre en pratique ce qu’on a appris en écrivant de petits programmes simples. Cela marche extrêmement bien dès l’école primaire avec des langages comme Scratch, grâce auxquels les enfants peuvent se familiariser très jeunes avec la programmation. Il s’agit donc de comprendre la pensée informatique, qui est vraiment fondamentale pour comprendre le monde qui nous entoure, et en même temps de se familiariser tout de suite avec cette pensée en écrivant des petits programmes.

coboard

On peut donc commencer dès le plus jeune âge?

Il faut commencer dès le plus jeune âge, car c’est un âge auquel les enfants sont plus réceptifs à de nouvelles idées. Il y a le slogan “apprendre à lire, écrire et compter”. On peut rajouter “et à programmer”. Cela doit être une nouvelle dimension du socle commun de l’éducation nationale car apprendre à programmer est devenu indispensable au même titre qu’il est indispensable de savoir lire, écrire et compter.

Évidemment, l’informatique ne se résume pas à la programmation, tout comme les mathématiques ne se réduisent pas à calculer ou la littérature à écrire. Mais c’est le fondement de l’informatique, qu’il faut enseigner depuis le plus jeune âge.

L’école est-elle le meilleur cadre pour cet apprentissage? Ou bien doit-il se faire grâce à des initiatives émanant de la société civile?

On découvre un peu partout des enseignants qui ont commencé à apprendre aux enfants à programmer. Cela se fait aussi énormément en dehors de l’école. Il y a des goûters, des clubs, des associations comme Magic Makers, qui proposent de super activités en dehors de l’école. Tout ce qui est fait en dehors de l’école est excellent mais il faut quand même réaliser que si l’on veut arriver à toucher tous les enfants et ne laisser personne sur le bord de la route, il faudra rapidement intégrer cet enseignement dans les programmes scolaires.

Et pour ceux qui sont déjà sortis de l’école sans avoir appris l’informatique?

Ils peuvent se former sur le tas. Il existe des associations, des formations en ligne, parfois sous forme de jeu pour la programmation. Ceux qui sont aujourd’hui dans les métiers d’ingénierie doivent le faire. Il est également indispensable de former les enseignants qui n’ont pas eu d’informatique lors de leur formation.

Une fois en mode croisière, on peut imaginer trois temps scolaires, comme nous l’avons souligné dans un rapport pour l’Académie des Sciences. Dans un premier temps, à l’école, il s’agit de familiariser aux grands concepts, apprendre les bases de la pensée informatique et algorithmique et, éventuellement sous forme ludique, commencer à toucher à des langages de programmation comme Scratch. Puis, le collègue doit véritablement être le lieu où toute la population doit apprendre les bases de l’informatique, c’est-à-dire la programmation et les bases des algorithmes, ce que c’est que l’information, comment fonctionnent les machines, etc. Il ne s’agit pas d’un enseignement approfondi mais disons d’atteindre un niveau comparable à celui que les élèves acquièrent au collège en physique ou en biologie. C’est la base qui va leur permettre plus tard, s’ils en ont besoin, de se spécialiser et d’acquérir des compétences supplémentaires.

Quand on passe au lycée, on peut imaginer des enseignements informatiques adaptés aux orientations de chacun. L’élève qui va entrer en section scientifique sera plus intéressé par les applications mathématiques de l’informatique tandis que celui qui sera en section littéraire se penchera plus sur d’autres aspects de cette science, comme l’indexation de texte, la linguistique, etc. Dans les lycées professionnels, les jeunes font déjà pas mal d’informatique, plus qu’ailleurs car il y a une conscience plus développée du caractère indispensable de l’enseignement de l’informatique.

Concrètement, quelles sont les initiatives en matière d’enseignement de l’informatique qui ont déjà vu le jour dans le monde, et dont la France et d’autres pays en retard pourraient s’inspirer?

C’est clair que la France est en retard par rapport à d’autres pays qui ont pris le problème à bras le corps. Dans l’ensemble, les pays développés sont plutôt en avance. L’Angleterre a notamment décidé d’introduire l’enseignement de l’informatique en mettant un examen d’informatique à la fin du lycée. En Allemagne, où c’est de la compétence des régions, la Bavière a mené une réflexion très en amont, en s’appuyant sur les doubles compétences pour recruter des enseignants d’informatique avant même que l’informatique ne soit enseignée. Certains pays émergents s’y sont déjà lancés également, comme Israël ou la Corée du Sud. La tendance que l’on observe aujourd’hui est que l’enseignement de l’informatique se répand dans le monde, dans les pays développés comme dans les pays émergents, et de plus en plus tôt.

La France se situe plutôt parmi les mauvais élèves, en partie parce que nous avons plutôt investi sur l’enseignement des outils et des pratiques du numérique sans véritable volonté d’enseigner l’informatique. Mais les choses bougent dans l’Éducation nationale. Je veux être optimiste.

More on paristech review

By the author

  • Série Education – 5 – Devons-nous tous apprendre à coder?on March 17th, 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