============================================================================== Point sur le programme de l'option informatique en classe MPSI (premiere annee) Compte rendu du debat de Luminy (28/4/97) par Denis Monasse Generalites L'ensemble des participants trouve que le programme tient dans le temps imparti, mais qu'il ne faut rien y ajouter. La partie theorique du programme est traitee sans probleme majeur avec 1 heure de cours et 1 heure de travaux diriges hebdomadaires de janvier a juin. La partie programmation est reportee dans l'heure d'interrogation d'informatique hebdomadaire, qui sert en fait de seance de travaux pratiques (apprentissage et pratique du langage de programmation retenu). Cette heure hebdomadaire consacree a l'apprentissage du langage est tout juste suffisante, ce qui pose evidemment des problemes si une partie des interrogations d'informatique devait etre consacree au logiciel de calcul formel. Neanmoins, dans la mesure ou dans la premiere periode (de septembre a decembre) ces heures d'interrogations sont consacrees exclusivement au calcul formel, on peut considerer comme raisonnable de les consacrer presque exclusivement au langage de l'option informatique dans la deuxieme periode (de janvier a juin). Beaucoup de participants de province soulignent la difficulte a recruter des interrogateurs competents (en particulier en Caml); or l'enseignement de l'option informatique constitue une surcharge horaire importante pour les enseignants, puisque pour une quarantaine d'eleves dans l'option, il faut compter par semaine 1 heure de cours, 2 heures de travaux diriges, 4 heures d'interrogations et 2 heures de TIPE. Le langage tres majoritairement retenu est Caml. Seuls trois participants ont retenu Pascal et ils soulignent les difficultes rencontrees par les etudiants avec les pointeurs; une solution possible serait d'utiliser des bibliotheques logicielles pour contourner ces difficultes, mais celles-ci seraient necessairement non standard et donc non utilisables aux concours; on retrouvertait les problemes rencontrees avec la bibliotheque Modulog. Les utilisateurs de Caml se montrent par contre tout a fais satisfaits de leur choix, meme s'ils regrettent que le programme ne delimite en rien la partie du langage a connaitre (quid des flux?). Plusieurs participants soulignent cependant l'interet de maintenir le choix de plusieurs langages de programmation pour les epreuves de concours: cela evite des epreuves pointues de programmation qui prendraient trop en compte les specificites de tel ou tel langage. Etude du programme. Recursivite et iteration Un debat a lieu sur les preuves de programmes recursifs: certains preferent des preuves par induction structurelle car celle-ci est plus naturelle en rapport avec les structures de donnees (on definit a la fois la structure de donnees et le moyen de preuve sur cette structure), d'autres preferent proceder par recurrence en attachant aux structures de donnees (qui sont toujours finies) des invariants numeriques entiers car ce mode de raisonnement est plus proche de la pratique des etudiants en mathematiques. Diviser pour regner. Le cas du produit matriciel a ete peu traite, car juge trop complexe, surtout du point de vue de son implementation effective; sa suppression du programme pourrait etre envisagee. En ce qui concerne les methodes de tris, on souligne l'ambiguite du programme qui ne dit pas clairement si l'on travaille sur des listes ou sur des vecteurs ou sur les deux. Peu d'autres exemples de la methode "diviser pour regner" ont ete traites, et essentiellement en geometrie algorithmique; soulignons quand meme le probleme de l'enveloppe convexe (mais il est juge trop complexe par beaucoup), celui de la recherche des deux points les plus proches ou d'un chemin simple passant par un certain nombre de points. Complexite Plusieurs participants insistent sur la distinction entre complexite mathematique et complexite temporelle. C'est bien entendu de la premiere qu'il s'agit dans le programme, la seconde etant trop liee a des facteurs non maitrises au niveau de la machine. Le fait que la resolution des recurrences de complexite soit necessaire en premiere annee alors qu'elle n'est facilement faisable qu'en deuxieme annee est souligne. Listes et piles En ce qui concerne la notation post fixee, faute de pouvoir faire construire facilement un analyseur syntaxique, les enseignants ont pris des piles deja constituees et en ont fait verifier le caractere syntaxiquement correct en les evaluant, tout en soulignant que pour ce type d'expression, evaluable equivaut a correcte. Beaucoup critiquent la definition des listes en pseudo-langage donnee par le programme. Quelques enseignants ont parle de files d'attente a leurs etudiants. Logique Le calcul propositionnel a souvent donne lieu a des resolutions de petits problemes logiques a caractere plus ou moins ludique, en quatre etapes: formulation, formule logique, forme normale disjonctive, solution. A cet effet, des participants ont utilise la bibliotheque de logique de Maple qui permet a peu de frais de construire l'arbre d'une formule puis sa forme normale disjonctive. Quelques participants critiquent la presence des circuits logiques dans le programme, mais ils semblent assez minoritaires, la majorite soulignant son interet pour l'interdisciplinarite et pour le principe de realite. Dans certaines classes, on a effectivement fait realiser de vrais circuits logiques avec des composants standards du marche, d'autres ont prefere des simulations logicielles (des sharewares existent aussi bien sur Mac que sur PC). Conclusion L'ensemble des participants se declare satisfait du programme actuel, a condition de disposer de la totalite de l'horaire imparti. Ils soulignent cependant la necessite de mieux delimiter ce programme sur quelques points (methodes de tri, langage de programmation). ***************************** Denis Monasse monasse@cicrp.jussieu.fr *****************************