Top piège du sujet
Filtrage implicite à la place d'un when nécessaire
Statistiques jury
Comment les candidats s'en sont sortis
Notes brutes officielles publiées par le jury — non harmonisées.
Moyenne
9.00
Médiane
8.8
Écart-type
4.18
Q1 (25%)
6.0
Q3 (75%)
12.1
Candidats présents
1 723
sur 1 844 inscrits · 6.6% d'absents
Comparaison
Comment ce sujet se compare aux autres
Moyenne en baisse de -1.79 par rapport à 2020 (9 vs 10.79). Écart-type stable (σ=4.18). Sujet plus exigeant que la session précédente.
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 propose une méthode permettant de créer un pavage aléatoire d'un échiquier par des dominos en faisant le lien avec des arbres couvrants de graphes particuliers. Le sujet, en Caml, est très long : peu de candidats ont pu aborder les quatrième et cinquième parties. Néanmoins, certains rares candidats ont réussi à traiter correctement l'intégralité de l'épreuve.
Structure de l'épreuve
- Partie I — Fonctions générales sur les graphes(Q1-Q5)Abordable
Q1-Q5 environ : fonctions de base, manipulation Caml. Q4-Q5 attendaient une fonction en temps constant utilisant la division euclidienne par p ou q-1.
- Partie II — Propriétés des arbres(Q6-Q12)Niveau attendu
Q6-Q11 : implications à prouver pour caractériser les arbres. Q8 : ne pas oublier que la condition non vide est indispensable. Q9-Q10 : rigueur attendue pour chacune des implications prouvées.
- Partie III — Génération aléatoire d'un arbre couvrant(Q12-Q18)Difficile
Q12-Q18 : bien lire le sujet (les arguments sont déjà des représentants, hauteur de l'arbre à modifier le cas échéant). Q15 : un parcours de graphe était satisfaisant, même sans utiliser la structure introduite.
- Partie IV — Lien entre pavage et arbre couvrant(Q19-Q27)Difficile
Bijection entre pavages d'échiquier et arbres couvrants de graphes. Partie peu abordée, le sujet est très long.
- Partie V — Graphe dual et bijection(Q28-fin)Très difficile
Q28-Q29 : un argument géométrique suffisait. Concrétisation de la bijection précédente via le graphe dual. Réservée aux toutes meilleures copies.
Analyse globale du jury
« Le jury constate cette année que la programmation en Caml est globalement acquise pour une majorité de candidats, malgré une maitrise parfois superficielle de certains éléments de syntaxe. Toutefois, les raisonnements théoriques ont souvent été incomplets et des éléments de preuve importants sont passés sous silence ou jugés évidents. Même si le jury constate cette année plus de difficultés liées à la programmation et aux raisonnements théoriques, il est parfaitement conscient que les conditions d'apprentissage perturbées liées à la situation sanitaire en sont une cause majeure. »
Top pièges sanctionnés
Filtrage implicite à la place d'un when nécessaire-1 pts
« L'utilisation de filtrage implicite alors que la présence d'un when est nécessaire. Par exemple, le code `match x with | y - 1 -> ...` renverra systématiquement une erreur. »
Listes traitées comme mutables (oubli du !, :=, <- au lieu de :=)-2 pts
« L'utilisation maladroite des références, voire leur oubli total. Le jury constate une absence régulière du !, ou l'utilisation de = ou <- au lieu de :=. Il à ce sujet qu'une liste est un objet non modifiable. »
Oubli des parenthèses dans les appels de fonction-2 pts
« L'oubli quasi-systématique des parenthèses, tant autour des arguments d'une fonction que lors de l'écriture de plusieurs instructions. Par exemple, f n - 1 ne fait pas du tout le même calcul que f (n - 1). »
Preuves bâclées avec « on voit que » sans formalisation-2 pts
« Concernant les questions théoriques, le jury a constaté cette année un grand nombre de preuves rédigées de manière très superficielle, avec des explications comme « on voit que », « de proche en proche », etc. Par exemple, justifier qu'un graphe connexe d'ordre n contient au moins n-1 arêtes ne peut pas se faire en affirmant uniquement « il faut au moins une arête par sommet ». »
Code sans présentation (pavé sans sauts de ligne ni indentation)-1 pts
« En termes de présentation, il est rappelé que même si Caml n'impose pas l'utilisation de sauts de lignes et d'indentation comme Python, il est fortement recommandé de présenter sa copie en utilisant de manière pertinente ces sauts de lignes et indentations afin de faciliter la lecture du code. De nombreuses copies produisent des pavés de code où les retours à la ligne sont faits uniquement quand il n'y a plus de place pour écrire. »
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 2021 · PDF officiel ↗
Contexte
L'épreuve en quelques chiffres
L'épreuve Option informatique Centrale-Supélec MP 2021 s'est déroulée fin avril 2021, en 4 heures, coefficient 10. Sujet en Caml (l'option Info MP est historiquement en Caml, là où l'épreuve commune Informatique de tronc commun est en Python).
Le sujet propose une méthode de génération de pavage aléatoire d'un échiquier par dominos via une bijection avec les arbres couvrants de graphes particuliers. Cinq parties : fonctions générales sur les graphes (I), propriétés des arbres (II), génération aléatoire (III), lien pavage/arbre couvrant (IV), graphe dual et concrétisation de la bijection (V). Le jury qualifie le sujet de « très long ».
La moyenne brute s'établit à 9.00/20, écart-type 4.18. Médiane 8.8, premier quartile 6.0, troisième quartile 12.1. Sur 1 844 inscrits, 1 723 candidats présents (6.6 % d'absents). L'option Info MP rassemble environ 1 candidat sur 3, la majorité (~3 215) optant pour S2I.
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 2021 est explicite : « peu de candidats ont pu aborder les parties IV et V ». Stratégie clé : capitaliser sur les parties I-III avec un code Caml propre, indenté, parenthésé. La rigueur sur les preuves de graphes (Q6-Q11) compte autant que le code. Le jury rappelle que des points transversaux sont attribués en fin de correction pour la concision, la clarté du code, les commentaires et la richesse syntaxique.
Si tu vises 9-12/20 (médiane à top 25%)
Concentre-toi sur la partie I (Q1-Q5, fonctions de base, Q4-Q5 attendaient une fonction en temps constant via division euclidienne) et la partie II (Q6-Q12, propriétés des arbres). Soigne le parenthésage : f n - 1 ≠ f (n - 1). Utilise List.length, List.rev, Array.init, pas la peine de les redéfinir.
Si tu vises 14+ (top 10%)
Il faut traiter la partie III (Q12-Q18, génération aléatoire d'arbre couvrant, Q15 acceptait un parcours de graphe sans utiliser la structure introduite) et entrer dans la partie IV (bijection pavage/arbre). Les rares candidats à 14+ ont parenthésé rigoureusement, utilisé les références correctement (!, :=) et formalisé toutes les preuves de graphes.
Gestion des 4h : 50 min sur la partie I (Caml de base + graphes), 1h sur la partie II (preuves d'arbres rigoureuses), 1h15 sur la partie III, 50 min sur la partie IV uniquement si les précédentes sont propres, 5 min de relecture. Indispensable : indentation et sauts de ligne, le jury a valorisé les copies dont le code était bien présenté et a appliqué un malus sur les copies les moins soignées. Une réponse de plus d'une dizaine de lignes a rarement plus de la moitié des points.
Conseils du jury
Cinq conseils transversaux
- Programmer régulièrement sur ordinateur. Le jury recommande explicitement un entrainement régulier sur machine au cours de l'année, il est difficile d'écrire du code sur papier sans pratique fluide.
- Parenthéser les appels de fonction : f n - 1 ≠ f (n - 1). Et ne pas oublier les parenthèses lors de l'écriture de plusieurs instructions.
- Utiliser les fonctions autorisées de la bibliothèque (List.length, List.rev, Array.init) plutôt que de les redéfinir, soit par ignorance, soit par mauvaise lecture des consignes.
- Formaliser les preuves théoriques sur les graphes : pas de « on voit que », « de proche en proche ». Justifier qu'un graphe connexe d'ordre n contient au moins n-1 arêtes ne peut pas se faire en affirmant « il faut au moins une arête par sommet ».
- Code propre, indenté, commenté : Caml n'impose pas l'indentation comme Python, mais le jury la recommande fortement. Des points transversaux récompensent la concision et la clarté.
Ressources
Téléchargements
Sujet officiel, corrigé Hadamard et rapport jury — tout en un endroit.
FAQ