Top piège du sujet
Dichotomie buggée, le grand classique
Statistiques jury
Comment les candidats s'en sont sortis
Notes brutes officielles publiées par le jury — non harmonisées.
Moyenne
10.29
Médiane
10.3
Écart-type
3.61
Q1 (25%)
7.5
Q3 (75%)
12.9
Candidats présents
1 573
sur 1 659 inscrits · 5.2% d'absents
Comparaison
Comment ce sujet se compare aux autres
Moyenne stable par rapport à 2017 (10.29 vs 10.21). Écart-type stable (σ=3.61). Difficulté globale comparable à la session précédente. Effectif +5% (1498 → 1573 présents).
Calculateur
Où je me situe sur ce sujet ?
Entrez votre note brute. Le percentile et la position se mettent à jour en temps réel.
Analyse
Ce qu'a observé le jury
Synthèse Hadamard du rapport officiel — citations, chiffres et conseils du jury.
Présentation du sujet
Le sujet 2018 de l'option informatique s'intéresse à une résolution du jeu de société Ricochet Robots, en Caml. La mise en œuvre demande la manipulation de vecteurs, de listes et de structures construites. Une étude sur le parcours en largeur et quelques questions de complexité complètent le sujet. Le problème est découpé en quatre parties relativement indépendantes.
Structure de l'épreuve
- Partie I — I, Dichotomie et mouvements élémentaires(Q1-Q6)Niveau attendu
Première question : écriture d'une dichotomie. « A binary search program is notoriously hard to get right », toujours vrai. Calcul de complexité Q6 doit prendre en compte la dichotomie. Difficulté principale : compréhension du sujet (mouvement jusqu'à un obstacle, signatures imposées).
- Partie II — II, Fonctions classiques sur listesAbordable
Écriture de fonctions très classiques. Une majorité a traité ces questions de façon satisfaisante. Pièges : tri par accumulateur (pire des cas = liste croissante), typage strict (insertion x q ≠ insertion (x, q)), différence entre x::q et q@[x].
- Partie III — III, Tables de hachageNiveau attendu
Erreurs de fond sur l'intérêt des tables de hachage : confusions entre clé et élément. Beaucoup de candidats renoncent à utiliser les fonctions déjà écrites et aboutissent à des codes inutilement lourds. Signatures de type unit non respectées.
- Partie IV — IV, Parcours en largeur d'un grapheDifficile
Résolution du jeu via parcours en largeur. Questions proches de celles de 2017, mêmes difficultés observées. Au lieu d'être démontrés, des éléments sont qualifiés d'« évidents » ou de résultats de cours, ce qui ne suffit pas à convaincre le jury.
Analyse globale du jury
« Le sujet a été globalement compris. Les meilleurs candidats ont pu traiter le problème en entier. Les critiques générales sont malheureusement les mêmes d'année en année. Les signatures des fonctions Caml étaient imposées, les réponses doivent correspondre. La syntaxe Caml est parfois peu respectée. L'intérêt et le bon usage des références n'est pas toujours compris. La notion de variable globale ou locale dans une fonction n'est pas maîtrisée. Le filtrage est mal utilisé : certains candidats filtrent sur le nom de la variable cherchée au lieu de tester la valeur de l'expression filtrée. L'analyse de complexité n'est pas souvent justifiée, et n'est pas toujours conforme au code effectivement écrit. »
Top pièges sanctionnés
Dichotomie buggée, le grand classique-2 pts
« La première question du problème est l'écriture d'une dichotomie. Jon Bentley signalait dans Programming Pearls que « A binary search program is notoriously hard to get right ». Nous avons constaté que c'est toujours vrai. »
Signatures Caml non respectées-1 pts
« Les signatures des fonctions Caml étaient imposées, les réponses doivent correspondre. Le typage en Caml est strict : insertion x q et insertion (x, q) sont de signatures différentes et si x est de type 'a et q une liste alors [x]::q est de type 'a list list. »
Multiplication inutile des fonctions auxiliaires-1 pts
« Beaucoup de candidats réécrivent plusieurs fois les mêmes fonctions, ce qui leur fait perdre du temps et complique la lecture. Le jury ne comprend pas l'intérêt des structures du type : let f x y = let aux x y = ... in aux x y ;; »
Affirmer « évident » ou « résultat de cours » sans démontrer-2 pts
« Au lieu d'être démontrés, des éléments sont affirmés ou qualifiés d'« évidents » ou encore de résultats de cours, ce dont le jury ne doute pas, mais qui ne peut suffire à le convaincre que la notion est assimilée par le candidat. »
Tri par accumulateur sans précaution sur le pire des cas-1 pts
« Attention par exemple aux temps de calcul quand on a écrit le tri en passant par un accumulateur : le pire des cas est alors la liste croissante. »
Chapitres clés à maîtriser
Bosse chaque chapitre sur d'autres sujets de concours qui le couvrent.
Source : Rapport du jury Centrale-Supélec · Info MP, session 2018 · PDF officiel ↗
Contexte
L'épreuve en quelques chiffres
L'épreuve Option Informatique Centrale-Supélec MP 2018 s'est déroulée fin avril 2018, en 4 heures, coefficient 10. 1573 candidats présents pour 1659 inscrits (5.2 % d'absents). C'est l'épreuve d'option pour les candidats ayant choisi info plutôt que S2I.
Sujet en Caml sur la résolution du jeu de société Ricochet Robots, en quatre parties relativement indépendantes : dichotomie et mouvements élémentaires, fonctions classiques sur listes, tables de hachage, parcours en largeur d'un graphe. Le choix d'un texte de longueur raisonnable permet aux meilleurs candidats d'aborder l'ensemble du problème.
La moyenne brute s'est établie à 10.29/20, écart-type 3.61. Médiane 10.3, premier quartile 7.5, troisième quartile 12.9. Note moyenne strictement identique à l'option S2I (10.29), le concours assure une équité statistique entre les deux options.
Accompagnement personnalisé
Travaillez ce sujet avec un prof de l'équipe
Nos professeurs anciens taupins (Polytechnique, ENS, Centrale) reprennent ce sujet avec toi en cours particulier — corrigé ligne par ligne, méthode, pièges évités.
Trouvez le prof qu'il vous faut
Échangez avec notre équipe pour trouver le professeur idéal selon vos besoins.
Stratégie
Notre approche pour ce sujet
Le jury rappelle que l'épreuve « est corrigée par des humains » : un code clair compte plus qu'un code court qui empile cinq ou six fonctions auxiliaires. Stratégie clé : soigner la dichotomie en Q1 (avec le calcul de complexité Q6 qui en dépend), respecter les signatures imposées en Caml, et justifier les complexités conformément au code écrit.
Si tu vises 10-12/20 (médiane à top 25%)
Concentre-toi sur la partie I (dichotomie correcte) et la partie II (fonctions classiques sur listes, majoritairement bien traitée). Respecte strictement les signatures imposées. Vérifie chaque appel à tr/tc et utilise x::q plutôt que q@[x] en récursion terminale.
Si tu vises 14+ (top 10%)
Il faut traiter la partie III (tables de hachage) en distinguant clé et élément, et la partie IV (parcours en largeur) en démontrant les invariants au lieu d'invoquer « évident » ou « résultat de cours ». Une analyse de complexité justifiée et conforme au code écrit fait la différence.
Gestion des 4h : 1h sur la partie I (dichotomie + mouvements élémentaires), 1h sur la partie II (fonctions sur listes, tris), 1h sur la partie III (tables de hachage), 50 min sur la partie IV (parcours en largeur), 10 min de relecture des signatures et complexités. Pas de fonction auxiliaire inutile : le jury sanctionne les codes alourdis par cinq ou six fonctions auxiliaires sur plusieurs pages.
Conseils du jury
Cinq conseils transversaux
- La dichotomie est le piège classique. « A binary search program is notoriously hard to get right » (Jon Bentley), toujours vrai en 2018. Travaille les invariants de boucle.
- Respecter les signatures imposées. Le typage en Caml est strict :
insertion x q≠insertion (x, q). Les fonctions de typeunitne renvoient pas une liste. - Démontrer plutôt qu'affirmer. « Au lieu d'être démontrés, des éléments sont affirmés ou qualifiés d'évidents ou encore de résultats de cours », ce qui ne suffit pas à convaincre le jury.
- Pratiquer sur machine. « Il faut absolument pratiquer sur machine pour acquérir les bons réflexes. Or l'horaire ne prévoit pas de travaux pratiques et les conséquences sont visibles pour certains qui n'ont sans doute programmé que sur papier. »
- Code clair plutôt que court. Bons changements de page, indentations cohérentes, commentaires pertinents pour expliquer la complexité ou les fonctions auxiliaires. Un correcteur lit le code, ne le compile pas.
Ressources
Téléchargements
Sujet officiel, corrigé Hadamard et rapport jury — tout en un endroit.
FAQ