mardi 19 juin 2012

Enjeux de l'enseignement de l'informatique

Article rédigé avec Maurice Nivat et destiné au numéro 113 de la revue Terminal.

*     *

Il y a toujours eu dans l'enseignement une « discipline reine ». Ce fut le latin jusqu'au XIXe siècle, aujourd'hui ce sont les mathématiques.

Certes, tout homme cultivé dira qu'il n'existe pas de discipline reine car il veut les avoir toutes dans sa boîte à outils intellectuels. Cependant la société attend d'une certaine discipline, plus que des autres, qu'elle procure une structure aux élèves, qu'elle les instruise. Cette discipline fournira alors, fût-ce au prix d'une dénaturation, la pierre de touche pour des classements et sélections : les mathématiques servent ainsi, en première année de médecine, de critère pour l'application d'un numerus clausus.

Platon fit graver une inscription célèbre à l'entrée des jardins d'Academos : « Ἀγεωμέτρητος μηδείς εἰσίτω μου τήν στέγνην », « que nul n'entre ici s'il n'est pas mathématicien ». Sa conception de la pensée était en effet celle que cultivent les mathématiques. Mais d'autres conceptions sont possibles : la science expérimentale soumet la pensée au joug de l'expérience, l'action la confronte à la complexité illimitée et aux phénomènes imprévisibles que présente le monde de la nature (physique, sociale et humaine).

Cette conception active de la pensée s'épanouit dans l'informatique, science et art de la manipulation de l’information qu'il s'agit de collecter, diffuser, stocker et retrouver quand besoin est pour outiller le processus de l'action, que celui-ci soit mental ou mécanique, industriel ou social.

Selon Abelson et Sussman la démarche de l'informatique diffère radicalement de celle des mathématiques : « In mathematics we are usually concerned with declarative (what is) descriptions, whereas in computer science we are usually concerned with imperative (how to) descriptions » [1] : alors que les mathématiques explorent le monde de la pensée sous la seule contrainte du principe de non-contradiction, car le mathématicien est libre de choisir une batterie quelconque d'axiomes non-contradictoires, l'informatique répond à une question pratique et sert notre action dans le monde de la nature.

Les mathématiciens croient avoir l'exclusivité de l'abstraction mais toute connaissance est abstraction : le bambin qui comprend qu'un verre est un récipient fait pour que l'on puisse boire, et aussi que le verre est un matériau transparent et fragile, fait deux abstractions semblables, dans leur principe, à celles que nécessite l’acquisition des notions de nombre ou de carré.

*     *

Avons-nous convenablement pris, en France, la mesure du changement qu’introduit l’émergence de l’informatique ?

Depuis toujours, certes, les êtres humains s’assurent qu'ils disposent de l’information nécessaire avant d’entreprendre une action. Une chasse au mammouth se programmait : il fallait savoir où était le mammouth, connaître ses réactions, disposer d’un nombre suffisant de chasseurs convenablement armés, et un chef organisait le rôle de chacun dans l’approche et l’attaque.

On pourrait donc dire que l’informatique n’apporte rien de nouveau puisque toutes les actions humaines intentionnelles sont programmées. Mais l'extension que l'informatique procure à l'action humaine nous a fait franchir un seuil qualitatif. On compare souvent la découverte de l'informatique à celle de l'imprimerie qui a permis la diffusion du savoir ; il faudrait plutôt la comparer celle de la gravitation, qui a permis à Newton d'expliquer le mouvement des planètes que d'autres avaient observé sans le comprendre. L'informatique nous permet en effet de comprendre le fonctionnement des processus, puis de les améliorer et ainsi de refaçonner notre monde.

Les ordinateurs accaparent notre attention mais ils n'utilisent qu'une petite partie des puces électroniques, car elles entrent dans la composition des machines les plus diverses. On trouve désormais plus d'informaticiens que de mécaniciens dans l'industrie dont les produits sont truffés de puces qui améliorent leur performance, leur fiabilité et exécutent des tâches minuscules ou essentielles avec une efficacité, une rapidité, que ne sauraient atteindre aucun opérateur humain ni aucune machine purement mécanique. La conception de ces produits fait elle aussi appel à l'informatique, leur production est robotisée : dans les usines, on ne rencontre pratiquement plus que des informaticiens chargés de la supervision et de la maintenance des robots.

L'industrie d'aujourd'hui n'a plus rien à voir avec celle des « trente glorieuses » et les secteurs de la santé, du BTP, de l'énergie et de l'agriculture s'informatisent eux aussi. Les systèmes d'information, que l'on qualifie de « système nerveux de l'entreprise », captent les données et les traitent pour irriguer les postes de travail depuis celui du PDG jusqu'à celui de l'agent opérationnel : quand ils sont bien conçus, ce systèmes procurent à l'entreprise une réactivité face à l'imprévu et une souplesse stratégique.

L'informatique est ainsi devenue une science qui comme toutes les autres possède des concepts, des règles et des méthodes. Elle n'a cependant pas encore droit de cité dans l'enseignement secondaire et elle est mal traitée dans les écoles d'ingénieurs. Ne serait-il pas pourtant normal qu'elle y occupe une place comparable à celle qu'elle tient dans le système productif – et aussi dans la vie de tous les jours ?

*     *

Examinons ce qui se passe lorsqu'on informatise une institution. Le choix des êtres dont le système d'information enregistre l'existence, puis le choix des attributs observés sur ces êtres, impliquent de faire abstraction des êtres et attributs qui ne seront pas observés : cela suppose une pratique de l'abstraction, l'informaticien produit des abstractions à finalité pratique. Il se peut que le mathématicien, épris d'une pureté qui le tienne loin des « applications », dédaigne une pensée qui condescende à s'appliquer ainsi au réel. Si c'est le cas il a tort, car l'affaire est d'une richesse intellectuelle qui mérite respect et attention.

Les choix que requiert l'observation du monde de la nature doivent en effet être pertinents en regard des exigences de l'action ; l'action elle-même doit être juste, au sens de « justesse », en regard de l'intention que concrétise une orientation stratégique ; l'orientation et l'intention elles-mêmes doivent être correctes en regard de la mission de l'institution, c'est-à-dire de valeurs qui s'apprécient à leur tour en termes de cohérence et de qualité éthique. La pratique de l'abstraction culmine ainsi, lorsqu'on pousse l'évaluation à son terme, dans la métaphysique des valeurs.

On ne peut certes pas prétendre que les informaticiens accèdent tous et quotidiennement à une telle élévation de la pensée. Il n'en reste pas moins que leur activité soulève les questions que nous venons d'énumérer, fût-ce implicitement et, peut-on dire, de façon souterraine. Comme ces questions outrepassent la sphère technique que l'on croit seule légitime pour l'informatique, l'informatisation rencontre des obstacles et provoque souvent des conflits dans l'institution.

Le λόγος donne en fait naissance non pas à une, mais à deux logiques. L'une déploie librement des axiomatiques dans le monde de la pensée : on ne devra pas s'étonner de retrouver dans le monde de la nature les propriétés qui en découlent car la complexité de celui-ci, étant illimitée, n'a pas d'autre borne que la non-contradiction. L'autre s'affronte par l'action avec le monde de la nature pour y incarner des valeurs.

Ces logiques correspondant chacune à un moment différent du destin humain, aucune ne peut prétendre être plus « pure » ni plus « utile » que l'autre : les revendications que peuvent émettre les professions concernées sont donc futiles [2].

*     *

Pour comprendre ce qui se passe il faut concevoir que si le cerveau est le lieu de naissance des idées nouvelles, leur réalisation effective passe nécessairement par une action collective dont le lieu est l'institution : ainsi le texte d'un écrivain, création éminemment individuelle, ne devient une œuvre que quand il aura été publié par un éditeur ou, à tout le moins, diffusé sur le Web.

Parmi les institutions l'entreprise est le lieu naturel de l'action productive industrielle, en prenant le mot « industrie » par la racine étymologique, « ingéniosité de l'action », que l'on retrouve dans l'adjectif « industrieux ».

Au début du XIXe siècle la façon la plus ingénieuse de produire était d'utiliser des machines : le mot « industrialisation », accaparé par la mécanisation, a bientôt été entouré d'images d'engrenages et de cheminées d'usine. Le système productif qui s'est alors déployé a mis en scène l'alliage, la symbiose de la « main d’œuvre » et de la machine. Il en est résulté une cascade de conséquences anthropologiques : naissance de la classe ouvrière, croissance des villes, accès de la bourgeoisie aux responsabilités politiques et stratégiques, changement des modes de vie, impérialisme et colonialisme, guerres enfin utilisant les armes fournies par l'industrie. La machine, insensible, infatigable et impitoyable, a servi d'exemple de comportement à l'« homme nouveau » unbarmherzig que des régimes totalitaires ont ambitionné de faire naître.

Depuis le milieu des années 1970 le système productif a été transformé par une nouvelle symbiose : celle qui se produit entre le « cerveau d’œuvre » et l'automate programmable ubiquitaire que forme un système d'information s'appuyant sur un réseau d'ordinateurs. Les tâches répétitives étant automatisées, les ouvriers disparaissent des usines. Dans les bureaux les agents partagent leur temps entre des réunions et un écran-clavier, fenêtre sur l'espace mental du système d'information.

La puissance et la rapidité de l'ordinateur ouvrent un monde de possibilités et de dangers également inédits : la crise financière s'explique pour partie par l'impression fallacieuse de sécurité qu'apporte l'informatique et par les déficiences de sa supervision. Des tentations enfin se font jour : l'ordinateur, exécutant implacable d'un programme, est après la machine érigé lui aussi en exemple pour le comportement humain [3].

Lorsque les tâches répétitives sont automatisées et que l'ordinateur a été programmé pour traiter automatiquement l'essentiel de ce qui est prévisible (fonctionnement en régime dégradé, reprise automatique en cas d'incident etc.), le travail humain se concentre sur ce qui ne peut pas être entièrement prévu : le rapport à la nature avec la R&D et l'organisation de la production, la supervision de l'automate (toujours sujet à des pannes et incidents) et des comportements humains, la maintenance et la réparation des équipements, enfin la relation avec le monde extérieur des clients, fournisseurs et partenaires dont le langage et les préoccupations ne sont a priori pas ceux de l'entreprise.

Le passage de la machine à l'ordinateur, de la main d’œuvre au cerveau d’œuvre, d'une symbiose « main-machine » à la symbiose « cerveau-automate », a une apparence technique qui peut masquer sa dimension anthropologique. Rappelons-nous la cascade des conséquences de la mécanisation évoquée ci-dessus : on peut, on doit anticiper que l'informatisation aura des conséquences de nature différente sans aucun doute, mais d'ampleur comparable. La mécanisation a provoqué des sacrifices humains dont nous concevons après coup qu'ils auraient pu être évités : ne devons-nous pas tout faire pour anticiper et éviter ceux que l'informatisation risque d'entraîner ?

*     *

Récapitulons : l'ordinateur en réseau a transformé le socle physique de l'action productive. Alors que jusque vers 1975 la mécanique, la chimie et l'énergie fournissaient à cette action ses techniques fondamentales, celles-ci ont été détrônées par la microélectronique, le logiciel et l'Internet. Les tâches répétitives, mentales ou physiques, ont été automatisées ou tendent irrésistiblement à l'être [4]. Le champ du possible offert à l'action s'est démesurément élargi. Il en résulte des conséquences dont certaines sont positives, d'autres néfastes.

L'ubiquité qu'apporte l'Internet a unifié le marché mondial, ce qui a facilité la mondialisation et la financiarisation de l'économie. Les prédateurs étant vigilants et agiles, le crime organisé a su s'emparer de l'informatique pour blanchir ses revenus et déployer une cybercriminalité. La guerre, enfin, se conduit déjà dans le cyberespace.

Dans les institutions, et en particulier dans les entreprises, l'informatisation suscite une cascade de phénomènes anthropologiques (économiques, psychologiques, sociologiques, philosophiques etc.) :
- économie : la production étant automatisée, l'emploi quitte l'usine pour se concentrer dans la conception des produits et dans leur composante « service » ; l'économie étant ultra-capitalistique, la concurrence sur le marché mondial est ultra-violente [5] ;
- psychologie : le « cerveau d’œuvre » qui remplace la « main d’œuvre » opère dans l'espace mental balisé par un système d'information, or celui-ci peut comporter des défauts ou servir des buts pervers. Dans ces deux cas le cerveau est mis à la torture – d'où l'épidémie de stress dont on a de nombreux témoignages ;
- sociologie : la délégation de responsabilités au cerveau d’œuvre doit s'accompagner d'une délégation de légitimité, et par ailleurs le déploiement des réseaux sociaux (messagerie, Intranet, forums) favorise la communication horizontale. Les hiérarchies installées résistent à ces évolutions, ce qui contribue encore au stress que subit le cerveau ;
- philosophie : la pratique de l'abstraction qu'impliquent l'ingénierie sémantique, l'ingénierie des processus, l'ingénierie du contrôle et l'ingénierie d'affaires entraîne un développement des techniques de la pensée ;
- valeurs : l'informatisation touche enfin aux orientations et priorités de l'entreprise car la modélisation des processus, ayant naturellement pour critères la qualité du produit et l'efficacité de sa production, milite pour que l'on considère l'entreprise comme l'interface entre le monde de la nature et la société.

Les priorités qu'induit l'informatisation peuvent se trouver en conflit avec d'autres priorités : « création de valeur pour l'actionnaire », « optimisation fiscale », « stock-options des dirigeants » etc. Cela explique les résistances qu'elle rencontre et les défauts que l'on constate souvent dans les systèmes d'information : sémantique fallacieuse ; partage défectueux des responsabilités entre le cerveau humain et les automatismes ; supervision négligée, mal orientée ou perverse etc.

*     *

Alors que le paysage a été bouleversé par l'informatisation notre enseignement public n’a pas beaucoup changé depuis la Libération : l’informatique en tant que science n’a pas droit de cité dans l'enseignement secondaire et elle est fort mal traitée dans la plupart des écoles d’ingénieurs. N'est-ce pas aberrant ?

Les marchands de matériels et de logiciels ont tout fait pour nous faire croire qu'il suffisait d'apprendre à utiliser l'ordinateur et que c'était très facile. Les sociétés de service en informatique, qui vendent à prix d’or la rédaction de programmes à la demande, ont aggravé la situation en faisant croire que si chacun peut apprendre à se servir de l'ordinateur en trois jours, la production de logiciels professionnels relève de mystérieuses techniques qu'elles sont seules à maîtriser.

Or programmer est une des activités essentielles du cerveau humain. Elle n’a rien de mystérieux mais elle ne s’apprend pas en un jour ni en un an : elle s'enseigne sans le dire car il ne s'agit pas d'une matière officiellement répertoriée. Les instituteurs apprennent aux enfants à tenir un cahier, à organiser leur travail, à ranger les documents qu'ils leur ont fournis : c’est un enseignement de base sans lequel tous les autres seraient vains. Les professeurs d’université apprennent à leurs étudiants à prendre des notes et à s’y retrouver dans une documentation.

Programmer, c’est d'abord examiner un processus pour en comprendre le fonctionnement, puis le modéliser pour pouvoir l’améliorer. L’informatique fournit un langage et des concepts pour analyser, comprendre, concevoir, mettre en œuvre, mettre au point les processus biologiques, mentaux, sociologiques aussi bien que les processus mécaniques.

L'outillage mental qu'elle procure est à vrai dire plus important que l'outillage électronique sur lequel s'appuie la réalisation effective d'un programme et c'est cet outillage mental qu'il faut donner aux jeunes : « savoir programmer » est à mettre avec « savoir lire », « savoir écrire » et « savoir compter » au rang des enseignements fondamentaux.

*     *

Le système éducatif français actuel a été conçu vers la fin du XIXe siècle, à l'époque de la « deuxième révolution industrielle » : l'électrification et le moteur à combustion interne, transformant la géographie et l'organisation du système productif, suscitaient l'émergence d'entreprises de grande taille et elles avaient besoin d'un personnel qualifié.

Tandis que le diplômé sans fortune avait jusqu'alors connu la misère [6], les grandes entreprises ouvrirent alors les avenues de la carrière aux ingénieurs et administrateurs. L'ascenseur social par les études s'amorça, renforcé par un système éducatif qui recrutait lui aussi en nombre des instituteurs et des professeurs.

Ce système ne répondait pas seulement aux besoins de l'économie : il ambitionnait de servir les valeurs de la République. Les « hussards noirs » de l'école publique entendaient ouvrir au peuple les portes du monde de la pensée. Ils lui donnaient la « leçon de choses » qui procure le discernement devant la diversité du réel, l'instruction qui donne à l'esprit sa structure, la formation qui s'appuie sur cette structure pour fournir une capacité d'action, l'éducation enfin qui conduit l'enfant vers la maturité personnelle et civique.

Mais pour fonctionner toute institution a besoin d'une organisation et celle-ci pose des conventions, définit des procédures et engendre des habitudes qui, dans certains esprits, se substitueront à une mission qu'elles leur feront oublier. Le système éducatif, devenu par sa taille l'administration la plus importante de l’État, ne pouvait pas échapper à cette fatalité.

Il en est résulté que sous prétexte de « pureté » l'enseignement des sciences s'est souvent écarté de la science : ses résultats ont été enseignés en tournant le dos à la démarche expérimentale, à laquelle n'a été laissée que la place modeste des « travaux pratiques ». Les « problèmes » n'étant que d'ingénieuses questions de cours, l'exploration du monde de la pensée par les mathématiques a été délaissée au bénéfice d'un apprentissage des techniques du raisonnement et du résultat des explorations passées : la recherche ne se pratiquant qu'à l'étape tardive du doctorat, on peut aller jusqu'à l'agrégation de mathématiques sans avoir dû inventer une démarche ni des outils.

Rien n'interdit évidemment à un « prof de maths » d'être un mathématicien qui fasse entrevoir à ses élèves la passion, les tourments et les plaisirs de la recherche, qui les leur fasse même partager sans excéder le niveau de leurs connaissances : il existe de tels professeurs mais ils sont très exceptionnels et le système éducatif ne favorise pas leur éclosion.

Il n'est pourtant pas nécessaire d'être un savant ni de se poser des problèmes sublimes pour être, fût-ce à un tout petit niveau, un authentique chercheur : la recherche est le fait d'une tournure d'esprit plus que d'une accumulation de connaissances. Voici le témoignage de quelqu'un qui a fait pendant l'occupation ses études secondaires au Collège cévenol du Chambon-sur-Lignon [7] :

« Je passais pas mal de mon temps, même pendant les leçons (chut... ), à faire des problèmes de maths. Bientôt ceux qui se trouvaient dans le livre ne me suffisaient plus (…), c’étaient les problèmes du livre, et pas mes problèmes. Pourtant, les questions vraiment naturelles ne manquaient pas. Ainsi, quand les longueurs a, b, c des trois côtés d’un triangle sont connues, ce triangle est connu (abstraction faite de sa position), donc il doit y avoir une "formule" explicite pour exprimer, par exemple, l’aire du triangle comme fonction de a, b, c. Pareil pour un tétraèdre dont on connaît la longueur des six arêtes - quel est le volume ? Ce coup-là je crois que j’ai dû peiner, mais j’ai dû finir par y arriver, à force. De toutes façons, quand une chose me "tenait", je ne comptais pas les heures ni les jours que j’y passais, quitte à oublier tout le reste ! ».

Du culte idéaliste de la pensée « pure » découle par ailleurs une répugnance, voire une hostilité envers l'entreprise considérée non comme le lieu de l'action productive mais comme le lieu « impur » du profit et de l'exploitation de la force de travail. La « théorie » enfin a plus de prestige que la « pratique » : « certains sont faits pour recevoir un enseignement abstrait au sein de filières vouées au savoir théorique et désintéressé (...), pendant que d'autres sont faits pour recevoir un enseignement avant tout pratique [8] » - et l'enseignement professionnel est dévalorisé.

Tel quel, ce système éducatif a cependant convenu aux besoins de l'industrie mécanisée : il lui a fourni une main d’œuvre nombreuse, les ingénieurs et administrateurs qui l'encadraient, et aussi un petit nombre de chercheurs, concepteurs et organisateurs qui ont suffi pour concevoir de nouveaux produits et de nouveaux procédés. La perspective de la carrière aiguillonnant les ambitions, l'ascenseur social par les études a convenablement fonctionné en dehors des épisodes de crise économique.

Mais il n'est pas certain que ce système puisse convenir au monde nouveau que l'informatisation nous fait pénétrer. Il ne s'agit plus en effet de former une armée d'exécutants vivant dans le monde artificiel que balisent les consignes données par une petite élite de concepteurs et organisateurs qui, seuls, auraient un rapport légitime avec le monde de la nature, car le cerveau d’œuvre travaille sur ce qui est extérieur à l'institution qu'il s'agisse de R&D, de design, d'ingénierie, de relation avec les partenaires, de services rendus aux clients.

Il ne peut donc plus se contenter d'une formation qui prépare à l'assimilation docile des consignes et méthodes : il lui faut avoir acquis le « coup d’œil » qui procure rapidement la synthèse d'une situation nouvelle, la démarche heuristique qui permet de trouver la réponse face à un imprévu, enfin cet alliage de rigueur et de sens pratique que l'on qualifie de « bon sens » et que certains, sottement, croient devoir dédaigner.

Cela implique de donner à la mission du système éducatif une orientation fidèle à l'esprit de la recherche et à la science expérimentale. Pour une institution de grande taille un tel virage n'est pas aisé et ne peut pas être rapide, mais on peut l'amorcer par l'enseignement de l'informatique.

*     *

Dans un article remarquable [9] John Naughton a esquissé le contenu d'un tel enseignement dès l'école primaire. Cette formation est nécessaire, dit-il, car sans elle nos enfants seront « intellectuellement handicapés »  :

« The biggest justification for change is not economic but moral: our children live in a world that is shaped by physics, chemistry, biology and history, and we want them to understand these things. But their world will be also shaped and configured by networked computing and if they don't have a deeper understanding of this stuff they will be intellectually crippled: they will grow up as passive consumers of closed devices and services, leading lives that are circumscribed by technologies created by elites working for huge corporations such as Google, Facebook and the like ».

Il énumère ainsi les connaissances que les enfants doivent selon lui acquérir :

« algorithms (the mathematical recipes that make up programs);
« cryptography (how confidential information is protected on the net);
« machine intelligence (how services such as YouTube, NetFlix, Google and Amazon predict your preferences);
« computational biology (how the genetic code works);
« search (how we find needles in a billion haystacks);
« recursion (a method where the solution to a problem depends on solutions to smaller instances of the same problem);
« heuristics (experience-based techniques for problem-solving, learning, and discovery). »


On peut certes discuter cette liste, s'interroger sur l'ordre dans lequel la pédagogie doit aborder ses éléments et les distribuer entre les années scolaires, mais l'idée qui sous-tend la proposition de Naughton nous semble judicieuse.

On anticipe aisément les objections que formuleront des adultes qui, n'ayant jamais rien compris à l'informatique, la croient hors de la portée des enfants. Mais ceux-ci apprennent à lire, écrire et calculer, tous apprentissages qui seraient pénibles ou même impossibles pour un adulte : on sait aussi que les petits enfants, quand ils se trouvent parmi des personnes qui parlent une langue étrangère, l'assimilent plus facilement que ne le ferait un adulte. Des opérations comme dénombrer et classer, que l'on fait « à la main » à l'école, supposent des raisonnements qui sont d'ailleurs ceux de l'informatique.

Les enfants aimant à jouer, le pédagogue peut leur faire aborder la programmation comme un jeu – ce qu'elle est d'ailleurs à certains égards. L'enseignement primaire pourrait s'inspirer de Karel the robot [10], excellent petit livre qui forme à l'esprit de la programmation sans que l'on n'ait à manipuler un ordinateur.

*     *

Il est peut-être utile d'indiquer maintenant ce que doit être selon nous la formation à l'informatique que dispenserait le système éducatif. Nous le ferons sans indiquer de chronologie ni préciser le découpage entre primaire et secondaire : le contenu du récent manuel pour l'enseignement de spécialité optionnel en Terminale S [11] pourrait être, nous semble-t-il, réparti sur quelques années scolaires et complété par une approche des systèmes d'information.

Si l'on veut instruire, former et éduquer, il faut d'abord que l'élève sache programmer en quelques langages : C est puissant mais lourd et son utilisation comporte des risques, mais la plupart des langages qui lui ont succédé (C++, Java, PHP, Python etc.) ont repris ses notations et conventions et l'élève les retiendra plus facilement s'il les apprend à la source.

Lisp, ou l'un de ses dialectes comme Scheme, permet de satisfaire le goût que certains peuvent avoir pour l'élégance et la logique : la programmation dans ce langage aura des vertus pédagogiques analogues à celles des mathématiques.

Une fois acquis les éléments indispensables, l'essentiel du temps en cours d'informatique doit être consacré à la production de programmes par les élèves.

Après avoir vérifié que le programme marche effectivement, le professeur évaluera l'efficacité des algorithmes puis l'élégance de l'écriture, la clarté des commentaires et donc, de façon générale, la qualité du programme en regard des exigences de sa réutilisation ou de son éventuelle maintenance.

Il sera utile aussi, dans le secondaire, d'examiner le code source de quelques logiciels libres. Si certains élèves motivés peuvent lui apporter une contribution utile, ce sera comme si la classe avait remporté une coupe dans une compétition sportive.

Pour que l'élève puisse comprendre comment un programme fonctionne effectivement il faut qu'il se familiarise avec les systèmes d'exploitation : Unix et Linux sont sans doute ceux qui conviennent le mieux à la pédagogie.

Il faudra inclure dans le cours de physique des leçons sur la physique de l'informatique et des automatismes : processeur, mémoire, réseaux, aussi sans doute moniteur transactionnel et SGBD.

Enfin il faut que l'élève comprenne à quoi sert l'informatique, et qu'il soit pour cela invité à programmer le système d'information d'une institution.

On peut prendre par exemple comme institution la classe ou l'établissement scolaire, et informatiser la gestion d'une bibliothèque, des cours, des devoirs, des notes et classements ainsi qu'un système d’auto-contrôle. L'élève pourra ainsi découvrir la modélisation des « objets » (élèves, professeurs, parents, ouvrages de la bibliothèque, salles de classe, cours, devoirs etc.), la modélisation des processus, l'administration du réseau, la gestion des identifiants, mots de passe et habilitations, et il pourra utiliser « en vraie grandeur » quelques algorithmes d'usage courant (classement et tri, chiffrement etc.).

*     *

Pour bien nous représenter ce qu'apporte de spécifique un tel enseignement, comparons l'écriture d'un programme à celle d'une dissertation puis à celle de la solution d'un problème de mathématiques.

Une dissertation s'écrit dans un langage naturel qui entoure chaque mot de connotations : la qualité littéraire d'un texte s'évalue, une fois acquise la correction de la syntaxe et la justesse des termes, selon sa puissance suggestive.

Le vocabulaire des mathématiques est plus pauvre que celui du langage naturel mais il est dépourvu de connotations : le texte d'une démonstration doit être explicite et non suggestif. Il exige cependant, comme le dit Bourbaki, de ces « abus de langage ou de notation sans lesquels tout texte mathématique risque de devenir pédantesque et même illisible [12] ». Il suffit donc, pour qu'une démonstration soit achevée, que l'auteur et le lecteur puissent tomber d'accord sur la possibilité d'une vérification formelle qu'aucun des deux n'accomplit : on reste dans le monde de la pensée.

Un programme informatique n'est pas, quoique l'on ait pu dire, destiné à être lu par un être humain mais à être exécuté par un automate dont la physique relève du monde de la nature. « Ça marche ou ça ne marche pas », tel est le premier critère, et il faut pour que « ça marche » que le langage et les notations soient rigoureusement exacts. Un mathématicien estimera avoir terminé son travail une fois conçue la logique du programme, mais le programmeur doit dépasser cette étape pour réaliser un programme qui marche effectivement : quiconque a fait cette expérience sait que la réalisation fait découvrir des obstacles que le raisonnement n'avait pas anticipés.

La conception d'un système d'information, fût-il modeste comme celui d'une classe, apporte d'autres exigences car le programmeur y rencontre, outre la nature physique de l'automate, la nature humaine et sociale de l'institution. Il faut savoir anticiper les comportements que les utilisateurs auront face à l'automate.

*     *

En mathématiques, et quel que soit le niveau de ses connaissances, l'élève se transforme en chercheur lorsqu'il se confronte à un vrai problème. La rencontre avec le monde de la nature de la programmation une recherche car elle pose des problèmes naturels et non des questions de cours.

L'enseignement de l'informatique, s'il est bien conçu et convenablement dispensé, milite donc implicitement pour une restauration de l'esprit de recherche dans le système éducatif en lieu et place de l'assimilation scolaire de résultats des recherches passées – résultats respectables, mais que le dogmatisme de leur présentation coupe de la démarche dont ils furent l'aboutissement.

L'enjeu n'est donc pas seulement de former nos enfants à l'informatique pour répondre aux besoins du système productif, ni même de leur donner la formation qui leur permettra, devenus des citoyens, de comprendre le monde dans lequel ils vivent.

Il s'agit aussi de restaurer la place de la démarche scientifique, qui est création et activité et non contemplation passive d'un Vrai intemporel. Cela va de pair avec une conception active de la pensée, avec une évaluation de la pertinence de celle-ci en regard des exigences de l'action : c'est une leçon que la pratique de l'informatique propose à la sagacité des philosophes.
______
[1] Harold Abelson et Gerald Jay Sussman, Structure and Interpretation of Computer Programs, MIT Press, 1996, p. 22.
[2] Donald Knuth, « Computer Science and its Relation to Mathematics », American Scientist, vol. 61, n° 6, novembre-décembre 1973.
[3] Le tueur à gages, personnage récurrent du cinéma contemporain, n'est-il pas programmé comme un ordinateur et, comme lui, aussi impitoyable qu'infatigable ?
[4] Bertrand Gille, Histoire des techniques, Gallimard, 1978 ; Benjamin Coriat, L'atelier et le robot, Christian Bourgois, 1990.
[5] Michel Volle, e-conomie, Economica, 2000.
[6] Jules Vallès, Le bachelier, 1881.
[7] Alexandre Grothendieck, Récoltes et semailles, p. 33.
[8] Philippe d'Iribarne, L'étrangeté française, Seuil, 2006, p. 204.
[9] John Naughton, « Why all our kids should be taught how to code », The Guardian, 31 mars 2012.
[10] Richard E. Pattis, Karel the Robot, Wiley, 1995.
[11] Gilles Dowek, Jean-Pierre Archambault, Emmanuel Baccelli, Claudio Cimelli, Albert Cohen, Christine Eisenbeis, Thierry Viéville et Benjamin Wack, Informatique et Sciences du numérique, Eyrolles, 2012, téléchargeable en cliquant sur le lien.
[12] N. Bourbaki, Théorie des ensembles, Springer, 1970.

3 commentaires:

  1. "Cette discipline fournira alors, fût-ce au prix d'une dénaturation, la pierre de touche pour des classements et sélections : les mathématiques servent ainsi, en première année de médecine, de critère pour l'application d'un numerus clausus."

    C'est inexact.
    En PCEM, il y a une épreuve de statistiques avec un petit coefficient (les statistiques étant utilisables en épidémiologie), et une épreuve de physique (mécanique des fluides : par exemple, qu'est-ce que la pression sanguine ?).
    Le reste, ce sont des épreuves de différentes sous-disciplines de la biologie humaine ou de la biochimie, et une épreuve de lettres (éthique médicale).

    "« algorithms (the mathematical recipes that make up programs);
    « cryptography (how confidential information is protected on the net);
    « machine intelligence (how services such as YouTube, NetFlix, Google and Amazon predict your preferences);
    « computational biology (how the genetic code works);
    « search (how we find needles in a billion haystacks);
    « recursion (a method where the solution to a problem depends on solutions to smaller instances of the same problem);
    « heuristics (experience-based techniques for problem-solving, learning, and discovery). »"

    Les quatre premières sont des mathématiques, la cinquième à un niveau sérieux aussi, la sixième est très proche de la récurrence, qui s'enseigne...en terminale.

    Sur l'argument selon lequel l'informatique serait plus proche de la recherche que les mathématiques :
    lorsqu'un élève programme un tri à bulle, il ne découvre pas quelque chose. Mais résoudre les difficultés lui fait mieux comprendre le problème. C'est la même chose avec un exercice de mathématiques.
    Il est donc inexact de dire qu'il y aurait plus de recherche dans l'enseignement de l'informatique que dans celui de l'informatique.

    L'informatique, absente de l'enseignement scolaire : dans les années 90, il y avait une option informatique dans les classes de lycée général. On y programmait en Pascal, 2h par semaine. C'était utile, mais il semble que cette épreuve a été supprimée pour élitisme par la gauche et transformée en partie algorithmique dans le cours de mathématiques. La rétablir serait sans doute utile.
    Le Royaume-Uni, d'après un article du Figaro, avait suivi le même chemin, allant jusqu'à remplacer la programmation par l'utilisation de Word et Powerpoint sous l'influence des vendeurs de matériels. Il a dû revenir en arrière il y a peu.

    Sur votre programme : le problème, c'est qu'on a l'impression que les lycéens actuels sortiraient au niveau bac en ayant vu autant de sujets que les ingénieurs informatique actuels, à bac + 5. Etes-vous sûr que ce soit possible ? Est-ce qu'il ne vaudrait mieux pas regarder un petit nombre de sujets stratégiques pour la suite ?

    Les besoins informatique / reste des sciences :
    - les sujets de thèse du CEA :
    http://www-instn.cea.fr/-Sujets-par-thematique-.html
    (les sujets 'informatique' sont listés dans les sciences de l'ingénieur)
    - d'autres sujets de thèse :
    http://www.intelliagence.fr/Page/Offer/SearchOffer.aspx

    Pour conclure, beaucoup de gens pensent que l'enseignement secondaire actuel a perdu en qualité parce que des pédagogues auto proclamés ont imposé des choix qui se sont avérés néfastes.
    S'il est toujours souhaitable de regarder comment améliorer les choses dans le domaine de l'enseignement de l'informatique, il faut faire attention à ne pas répéter le même type d'erreurs...car le système médiatico-politique actuel semble assez vulnérable aux erreurs, et peu capable de les corriger ensuite.

    RépondreSupprimer
  2. Plutôt que C, où la gestion de la mémoire et de l'initialisation des variables est une horreur, je conseillerais un langage objet plus facile, comme C# ou Java, ou encore ActionScript (le langage de Flash).
    Comme projets, je fais des petits jeux avec mes enfants. Outre Flash, je conseille UNITY, un système de création de jeux 3D qui est gratuit, facile à prendre en main, et qui se scripte en C# ou en Javascript.

    Gaël GRÉGOIRE

    RépondreSupprimer
  3. Sur la convergence entre les mathématiques et l'informatique, un ouvrage génial de Gilles DOWEK : "les métamorphoses du calcul".

    Gaël GRÉGOIRE

    RépondreSupprimer