L'enseignement très spécialisé est-il un modèle ?
Par David Monniaux le samedi, novembre 11 2017, 13:50 - Enseignement - Lien permanent
Mon billet sur la publicité dont jouit l’école 42 et les remarques méprisantes que certains commentateurs font à l’égard de l’enseignement universitaire a suscité des réactions. Une intéressante discussion a pris place dans ses commentaires, et j’aimerais rebondir sur certaines réactions, notamment celles de Laurent Bloch et de Loys Bonod.
Dominique Seux remarquait
« Alors, évidemment,
si on était caustique, on s’étonnerait que les milliers
d’enseignants-chercheurs de nos grandes universités scientifiques
n’aient pas eu l’idée de lancer des formations en développement
informatique. »
Cette remarque, nous l’avons vu, est absurde, vu que justement il existe de telles formations au sein des universités. Toutefois, il est possible de la modifier pour lui donner du sens :
« Alors, évidemment,
si on était caustique, on s’étonnerait que les milliers
d’enseignants-chercheurs de nos grandes universités scientifiques
n’aient pas eu l’idée de lancer des formations en développement
informatique, centrées uniquement sur la programmation, à
l’exclusion de toutes les autres questions informatiques, des
autres disciplines scientifiques et de toute formation générale. »
En effet, il ne me semble pas qu’il existe dans les universités de formation ne comprenant que de la programmation, ni même, au moins au niveau de la première ou deuxième année après le baccalauréat, que de l’informatique.
Relevons tout d’abord que pareille hyperspécialisation irait à l’encontre de la politique annoncée par l’actuelle ministre de l’enseignement supérieur, qui prône des licences pluridisciplinaires avec spécialisation progressive (ce qui est d’ailleurs déjà le cas en sciences à Grenoble, par exemple).
Par ailleurs, rappelons que l’État réglemente les diplômes à validité nationale (licence, master…), que pour les diplômes universitaires de technologie il y a un programme national, que les universités traversent une mauvaise période financière, avec de grandes difficultés à assurer leurs fonctions de base, et que donc la liberté que les « milliers d’enseignants-chercheurs de nos grandes universités scientifiques » auraient de lancer de nouvelles formations atypiques est très limitée ; ce n’est pas simplement une question d’en avoir l’idée.
Laurent Bloch relève, à juste titre, que les formations d’informatique, au moins au début, sont souvent couplées avec des enseignements de mathématique et/ou de physique, qui peuvent rebuter les étudiants. Il souligne notamment qu’une grande partie des élèves sortent de l’enseignement secondaire en difficulté en mathématiques.
L’enseignement secondaire français, même lorsqu’il y a des filières, comprend un très large enseignement « général », allant du sport à la philosophie. Cet enseignement est obligatoire, quels que soient les goûts et aspirations des élèves, et l’utilité, éventuellement nulle, des disciplines enseignées pour leurs choix de carrière et la vie qu’ils envisagent. Il est courant que certaines de ces disciplines rebutent les élèves, qui ensuite en conçoivent un dégoût marqué et ne veulent plus les retrouver dans l’enseignement supérieur. C’est donc une question qui dépasse largement les mathématiques et la formation des « développeurs ».
Voyons toutefois le cas particulier de l’enseignement de l’informatique. Il est possible de se focaliser sur la programmation (éventuellement en se spécialisant sur tel ou tel langage, telle ou telle technologie Web, etc.) et d’ignorer tout le reste. L’inconvénient d’une telle formation est qu’elle mentionnerait des outils sans pour autant expliquer comment ceux-ci fonctionnent, alors que souvent, en informatique, il faut avoir une certaine connaissance (non détaillée) du fonctionnement interne des outils pour les utiliser efficacement. Par exemple (je m’excuse d’avance pour mes lecteurs non informaticiens si je deviens technique), les bibliothèques standard des langages de programmation modernes proposent des implantations efficaces des notions d’ensemble et de fonction à support fini, par arbres binaires, par tables de hachage, voire par liste ou tableau d’association. Chacun de ces cas correspond à certains usages, mais il est impossible de le savoir si on les utilise comme des « boîtes noires » sans chercher à comprendre leur fonctionnement. La conséquence probable d’une utilisation aveugle et « bricolée » sera un logiciel qui fonctionnera bien sur de petits jeux de données mais dont les performances se dégraderont très vite lorsque les données seront plus grandes. Il en est de même de la conception d’une base de données sans comprendre un peu le fonctionnement interne d’un moteur de bases de données.
En raison de cela, les formations classiques en informatique comprennent non seulement de la programmation, mais aussi de l’algorithmique et d’autres matières. Traditionnellement, l’enseignement de l’algorithmique s’appuie sur des démonstrations mathématiques, notamment des preuves par récurrence. De telles démonstrations passent au-dessus de la tête de bon nombre d’étudiants actuellement en informatique à l’université, et on leur substitue donc souvent des explications « avec les mains » (par exemple, on peut montrer la complexité en n log n du tri fusion par un petit dessin). De même, on peut expliquer les bases de données relationnelles avec des raisonnements ensemblistes, mais il est sans doute possible de limiter l’usage du vocabulaire mathématique. Il y a toutefois des limites qu’on ne peut pas dépasser en matière d’incompréhension mathématique sans entraîner l’incompréhension informatique.
On le voit, la question posée par 42 n’est pas seulement celle de l’école sans enseignant (il existe depuis longtemps des méthodes de langues, de musique etc. destinées à l’apprentissage sans enseignant, et personne ne s’en émeut). Elle est plutôt celle d’un apprentissage très étroit, produisant en quelque sorte des ouvriers du tertiaire avec peu de recul sur leur activité. Or, tandis que certains la couvrent de lauriers dans les médias, d’autres (voire parfois les mêmes) déplorent le « cloisonnement » des disciplines universitaires et des formations ; clairement les universitaires subissent des injonctions contradictoires !
Commentaires
C'est amusant, au début de la lecture de ce post, je me suis dit « ben si ça existe, dans notre licence les enseignements sont vraiment orientés développement, avec l'idée de tout apprendre en partant de la pratique, et de faire faire aux étudiant·e·s beaucoup de projets. ».
Mais en fait, ma définition de développement est beaucoup plus large que celle utilisée ici : dans ma vision des choses, l'algorithmique, le génie logiciel, etc. font partie intégrante d'une formation en développement, et pas seulement la programmation pure.
Une spécificité de notre licence reste quand même qu'en dehors des cours d'informatique, les seuls cours obligatoires sont deux cours de math au premier semestre de L1. Après ça, il est tout à fait possible de ne faire plus que de l'informatique. Et effectivement la formation est pas mal centrée sur le développement, mais plutôt comme approche que comme finalité.
Ça a effectivement l'avantage de motiver des étudiant·e·s qui viennent du lycée avec un sale a priori sur les maths, et de permettre à celleux qui n'ont pas fait un bac S ou ES (donc L et bac pro et techno) d'avoir de meilleurs chances de s'en sortir correctement.
Le résultat, c'est des étudiant·e·s qui sont plutôt bons en développement à la sortie de notre licence. Certain·e·s vont faire leur stage de L3 en entreprise, et celles-ci sont généralement agréablement surprises par les compétences en développement de nos étudiant·e·s. Je vois aussi une différence énorme en M1 par rapports à celleux qui arrivent de l'extérieur, ou même en L3 entre celleux qui ont fait L1 et L2 chez nous, et celleux qui arrivent de l'extérieur. En revanche, la majorités restent assez allergiques aux maths.
C'est un peu ça la contrepartie : on se rend compte que quand parfois il serait plus simple de modéliser un problème avec un peu de maths, une bonne partie de nos étudiant·e·s, les mêmes qui n'aimaient pas les maths et à qui on a jamais donné l'occasion de revenir sur cette idée, font un blocage par principe. C'est assez rarement gênant en pratique, mais ça peut arriver.
Tout ça ne répond pas vraiment à la question posée par le titre du post, parce que notre formation est à des lieux d'être aussi spécialisée que celles proposées dans les écoles comme 42 ou l'Epitech (sur laquelle 42 a copié son modèle), mais j'espère que mon retour d'expérience sur une formation à mi-chemin entre ça et les L1 sciences "troncs communs" proposées dans certaines universités peut quand même contribuer à la réflexion :).
Nous avons toujours eu des formations professionnalisantes, il n'y a aucune raison que l'informatique y échappe. Toutes ces formations sont destinées à l'apprentissage de l'utilisation d'outils et résolution de problèmes standards. C'est l'équivalent d'un conducteur de train, d'un pilote d'avion ou autres métiers de ce type. Et bien sur, un certain nombre de ces informaticiens va se retrouver au chômage quand la technologie évoluera et qu'ils ne réussiront pas à suivre.
Pour moi des écoles de type 42 sont une réponse adaptée au besoin de techniciens en informatique qui ont échoué en mathématiques / sciences. Et ce n'est pas vraiment nouveau, il y avait déjà l'Epita et l'Epitech qui proposent des niveaux de spécialisation variés.
Le problème est en fait inverse : notre enseignement de l'informatique "générale" n'est pas assez mathématisé et notre enseignement des mathématiques n'est pas assez informatisé. Gilles Dowek avait proposé un programme d'enseignement de l'informatique au lycée qui explorait le calcul effectif d'objets mathématiques (http://www.lsv.fr/~dowek/Enseigneme...), il a finalement été remplacé par un enseignement de boucles for et conditionnelles if-then-else. En Python.
Notre enseignement de l'informatique ressemble à une formation de technicien supérieur, plein de "recettes magiques". Les étudiants retiennent les tableaux, les arbres binaires et les tables de hachage. Tu leur demande de mettre en équations et résoudre un problème de logistique, d'exhiber des invariants pour prouver la correction de leur code, d'exhiber l'arbre des calculs d'une expression puis de le "compresser" par recherche de sous-expressions communes pour le transformer en graphe acyclique, ils ne comprennent même pas de quoi tu parles.
La plupart de nos étudiants en informatique "générale" sont incapables de faire grand chose d'autre que des sites web.
Le programme de 42 est-il "centré uniquement sur la programmation" ?:
https://web.archive.org/web/2016031...
Vous évoquez à juste titre la difficulté du passage à de grands jeux de données en l'absence de solides connaissances mathématiques.
Or, nous avons vu ces dernières années l'émergence de logiciels qui ont largement failli à leur mission, jusqu'à être abandonnés (je pense par exemple au logiciel Louvois de gestion des paie des militaires, mais il y en a d'autres).
Afin de ne pas reproduire les mêmes erreurs Il me semble qu'il faudrait rechercher les causes de ces faillites. Parmi les paramètres à examiner, comme la recherche de défauts organisationnels, ou encore de biais idéologiques entraînant de mauvais choix, figure l'éventualité de concepteurs insuffisamment formés. Malheureusement, nous sommes en France et il est peu probable qu'une tel effort soit mené...
Voir aussi l'article "They Write the Right Stuff" sur le développement logiciel à la NASA (facile à trouver sur internet).
<<On le voit, la question posée par 42 n’est pas seulement celle de l’école sans enseignant (il existe depuis longtemps des méthodes de langues, de musique etc. destinées à l’apprentissage sans enseignant, et personne ne s’en émeut). >>
Arf, excellent exemple que la musique (je suis moins compétent en langue), je pense que beaucoup de gens s'en émeuvent, (écoles de musique, conservatoires, fac de musicologie) : apprendre un instrument est une chose, savoir déchiffrer une partition une autre et comprendre l'intention de l'auteur voire entendre les références musicale une troisième. On pourrait s'émouvoir que ces méthodes "sans enseignant" passent à côté de beaucoup de choses.
Mais la musique étant un domaine "moins générateur de valeur", pour le dire pudiquement, l'émotion est largement contrôlée.
Sans remettre en cause les bienfaits des mathématiques et ce qu'elles peuvent apporter à l'informatique, il faut aussi envisager que les différents métiers de l'informatique et circumvoisins vont être dans les années qui viennent les principaux domaines où trouver des emplois. D'autre part, il n'y a pas que d'excellents élèves, et même les élèves médiocres, voire mauvais, ont le droit de vivre et de trouver du travail. C'est pourquoi il me semble légitime de concevoir des cursus adaptés à leurs connaissances et compétences, même s'ils sont moins satisfaisants scientifiquement.
Pour ce qui est de Louvois et autres, j'ai assez travaillé dans ce genre de domaines pour pouvoir dire que les causes d'échec ne se trouvent pas dans les lacunes en mathématiques, hélas, s'il n'y avait que cela ce serait un moindre mal, et relativement facile à guérir. Je me permets de renvoyer à ce que j'ai écrit à ce sujet :
https://laurentbloch.net/MySpip3/Ma...
Eternel débat des fondamentalistes contre les praticiens... on n'en sort pas. Quand j'étais en PCEM1 en 1984-85 nous avions un professeur de biochimie qui prédisait à ceux qui seraient praticiens qu'ils ne seraient que des infirmiers de première classe! Remarquez bien qu'il était pharmacien de formation...
"clairement les universitaires subissent des injonctions contradictoires"
Disons que, jusqu'à un niveau Licence, on attend pas que la personne ait un un qq recul sur ce qu'il va faire. S'il sait déjà faire qqch d'utile immédiatement (et non rien) c'est déjà bien.
Je sais bien que ce n'est pas l'université mais prenons le cas d'un élève ingé pendant son stage de seconde année. Il est assez rare que la personne ait du recul sur quoique ce soit (et qu'on ne me parle pas des écoles d'élite, j'ai dit "assez rare").
Ce qui est illusoire, c'est de vouloir faire la même formation immédiatement après le bac à un panel de personnes n'ayant pas les mêmes objectifs. Le nœud du pb est là.
Dans ce contexte, 42 répond à un besoin de techniciens codeurs. Je ne pense pas que ce soit à la fac ""généraliste"" de le faire. Il y a les IUT pour ça non? On voit de bon codeurs purs sortir d'IUT. Ce sont souvent des geeks à des niveaux divers et ils n'auront que peu de problème à se former à une autre techno quand leur machintrucchéri4.0 sera totalement obsolète. 42 c'est en gros ça mais en intensif.
Ce n'est bien sûr pas en sortant des phrases vides de sens que les politiques vont combler un manque dans l'offre de formation.
Au collège j'utilise LOGO depuis plus de 30 ans
L'an passé
le "codage" (dit comme cela) est arrivé
et nous a été imposé SCRATCH
(présenté comme un "langage de programmation")
ainsi
nos élèves sont devenu des manipulateurs de routines carénées (comme des pièces de LEGO) dont ils ne connaissent rien si ce n'est
qu'elle font avancer le lutin en l'animant, qu'elles assurent le "rebond" contre une paroi
etc.
Il ne s'agit pas d'un apprentissage pour lui-même
(là on pourrait comprendre le "court-circuit" de la compréhension)
mais d'un enseignement fondamental destiné à ouvrir l'esprit à la programmation.
J'ai refusé d'utiliser scratch
et ait continué à utiliser logo
(y compris humain avec mouvement et instruction dans la cours du collège).
Au brevet des collèges
les élèves qui avaient vu scratch sur l'ordinateur
ont pour beaucoup, moins bien réussi l'épreuve (papier) que ceux qui ne l'avaient pas vu du tout
(aux quels ont avait appris à éliminer les instructions parasites en rapport avec le décorum)
Il me semble que c'est à l'école primaire et au collège qu'il faut tout de suite réagir pour éviter
...
un truc du genre
les maths modernes au collège
(années 60)
la pensée LEGO (algorithmes à emboiter*)
https://goo.gl/ixiZvn
Ho un dinosaure :) Il en restera toujours.
SCRATCH est très bien et ce n'est pas son coté """virtuel""" (hé oui il n'y a pas de demi sphère en plexiglas qui bouge) ne perturbe en rien la génération qui est née avec.
Bonjour à votre époque,mon cher dinosaure herbivore (ça je suppose que vous êtes bien placide).
ps : les maths modernes n'avaient rien à voir avec tout cela. L'idée était de faire des maths depuis le CP au lieu de commencer à en faire à l'université. C'était bien sûr totalement inadapté pour 99.99% de la population (statistique au doigt mouillé).
pps : faites gaffe aux météorites et aux trapps de Sibérie.