Faut-il enseigner la programmation à l’école et au collège ? L’idée a souvent été évoquée dans l’actualité de ces derniers mois. En tant qu’universitaire enseignant-chercheur en informatique, je me sens évidemment concerné par cette question.
Je tiens tout d’abord à préciser que le codage (néologisme synonyme de programmation) n’est que la partie technique de la réalisation d’une application. Avant d’arriver à cette étape, il faut avoir une idée, puis créer, à partir de cette idée, une spécification de ce que va réaliser l’application et de la manière dont les utilisateurs vont interagir avec elle. L’utilité, l’attrait et l’utilisabilité d’une application dépendent essentiellement de cette phase de conception qui n’a rien à voir avec le codage. Ce n’est donc pas parce qu’une personne sait coder qu’elle sera capable de réaliser des applications à la fois attractives ou utiles et faciles à utiliser, de la même manière qu’une personne sachant coudre ne sera pas nécessairement douée pour dessiner de nouveaux modèles de robes ou de manteaux, ou qu’un très bon musicien de sera pas nécessairement capable de composer une œuvre musicale à succès.
D’autre part, même si tout un chacun était capable de réaliser ses propres vêtements, très peu de gens utiliseraient effectivement cette compétence. La plupart d’entre eux renouvelleraient leurs garde-robes en allant dans les magasins, et ceci pour une raison très simple : concevoir et fabriquer des vêtements prend énormément de temps. De la même manière, même les gens qui maîtrisent la programmation achètent la plupart des applications dont ils ont besoin car la réalisation d’une application représente souvent des milliers d’heures de travail. Nous vivons dans une société où la plupart des biens de consommation, y compris dans le domaine de l’informatique, sont conçus et fabriqués par des professionnels spécialisés. La grande majorité des gens ne construisent pas leur voiture ni leur maison, ne fabriquent pas eux-mêmes leurs vêtements ni leurs meubles, et n’ont pas plus vocation à réaliser eux-mêmes les logiciels dont ils ont besoin, quand bien même ils auraient les compétences pour le faire.
Comme tout le monde n’a pas vocation à devenir informaticien développeur, il n’est pas nécessaire d’imposer à chacun de savoir coder.
Par contre, expliquer en classe comment fonctionne un ordinateur, ce qu’est un logiciel, comment il est conçu et réalisé, me parait être une très bonne chose, au même titre qu’expliquer le principe de fonctionnement d’une voiture hybride ou d’un congélateur. Nous vivons dans une société technologique dans laquelle avoir une culture scientifique et technique est un atout. Et puis l’école devrait être un lieu où chaque enfant progresse à son rythme, au mieux de ses possibilités, découvre et développe ses talents. Il me parait donc souhaitable que les enfants doués pour la conception technique, l’ingénierie, ou la programmation par exemple, puissent s’initier à ces domaines dans le cadre scolaire.