Top piège du sujet
Confusion Caml / Python, rigueur insuffisante
Statistiques jury
Comment les candidats s'en sont sortis
Notes brutes officielles publiées par le jury — non harmonisées.
Moyenne
10.21
Médiane
10.0
Écart-type
3.60
Q1 (25%)
7.5
Q3 (75%)
12.7
Candidats présents
1 498
sur 1 588 inscrits · 5.7% d'absents
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 2017 de l'option informatique traite des mots synchronisants, utiles pour rétablir un état particulier d'une machine à partir d'une situation quelconque. Après une étude théorique, la mise en œuvre des algorithmes demandés nécessite la manipulation de vecteurs, de listes et de structures construites. Un peu de logique et quelques études de complexité complètent le sujet. Le problème est découpé en parties indépendantes, mais il faut bien lire les hypothèses.
Structure de l'épreuve
- Partie I — Étude théorique des automates et mots synchronisants(I.A-I.C)Niveau attendu
Lecture du sujet souvent défaillante. Justification minimale attendue même sans demande explicite. Confusion fréquente entre Caml et Python, rigueur insuffisante dans la syntaxe Caml. Difficultés sur l'usage de référence (mutables vs constantes).
- Partie II — Algorithmes classiques sur structures construites(II.A-II.B)Difficile
Difficulté résidant dans le respect des types particuliers définis dans le texte. II.A.1 et II.A.2 difficiles : réponses incohérentes entre elles, mauvaise maîtrise des enregistrements, pile au lieu de file. Confusion liste/vecteur explicite (suggérer que vect_length est O(n)).
- Partie III — Justifications partielles et complexité(III)Difficile
Justifications trop partielles. « Pourraient faire une récurrence », annoncée comme « évidente » sans propriété ni variable. Respecter les types demandés (« vecteur de listes » pour la machine).
Analyse globale du jury
« Le sujet a été globalement compris. Les meilleurs candidats ont pu traiter le problème dans son ensemble. Les signatures des fonctions Caml étaient imposées ; elles ont été bien respectées, mais nous avons constaté de grandes difficultés sur le respect des types des structures de données ainsi que sur les filtrages. De manière générale, nous avons observé des confusions importantes entre Caml et Python et une rigueur insuffisante dans la syntaxe Caml. Beaucoup de candidats compliquent le sujet en n'utilisant pas les éléments précédemment définis, écrivent des codes sans commentaire ou multiplient inutilement le nombre de fonctions auxiliaires. Les calculs de complexité sont trop souvent mal justifiés. »
Top pièges sanctionnés
Confusion Caml / Python, rigueur insuffisante-2 pts
« De manière générale, nous avons observé des confusions importantes entre Caml et Python et une rigueur insuffisante dans la syntaxe Caml. »
n_etats transformé en liste mais utilisé comme mutable-2 pts
« Plus surprenant, l'entier n_etats a été transformé en liste, mais il a aussi été considéré comme mutable. Même si ce n'est pas explicitement indiqué, quand on teste si un mot est synchronisant, il semble normal de s'arrêter dès qu'on vérifie qu'il ne l'est pas ; beaucoup de candidats calculent tout, et même parfois deux fois, avant de conclure. »
vect_length supposé O(n) (FAUX)-1 pts
« Confusion explicite quand les candidats suggèrent que la complexité de vect_length est O(n). »
Pile et file confondues, enregistrements mal maîtrisés-2 pts
« Trop de réponses proposées incohérentes entre elles, mauvaise maitrise des enregistrements, bien que la syntaxe soit rappelée, implémentation d'une pile et non d'une file. »
Récurrence annoncée comme « évidente » sans rédaction-2 pts
« Plusieurs fois dans le problème, des candidats indiquent qu'ils « pourraient faire une récurrence », annoncée comme « évidente », mais sans aucune indication de la propriété, ni même de la variable, sur laquelle pourrait porter cette récurrence. »
Bornes de boucles, V.(n) non défini-1 pts
« Il convient également de faire attention aux bornes dans les boucles : si V est un vecteur de longueur n, V.(n) n'est pas défini. »
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 2017 · PDF officiel ↗
Contexte
L'épreuve en quelques chiffres
L'épreuve Option Informatique Centrale-Supélec MP 2017 s'est déroulée fin avril 2017, en 4 heures, coefficient 10. Sujet sur les mots synchronisants, très utiles pour rétablir un état particulier d'une machine à partir d'une situation quelconque.
Après une étude théorique (automates déterministes, langages rationnels), le sujet bascule sur la mise en œuvre algorithmique en Caml : manipulation de vecteurs, de listes, de structures construites. Un peu de logique et quelques études de complexité complètent le problème. Le sujet est découpé en parties indépendantes, mais il est nécessaire de bien lire les hypothèses et d'analyser comment les données sont représentées.
La moyenne brute s'est établie à 10.21/20, écart-type 3.60. Médiane 10.0, premier quartile 7.5, troisième quartile 12.7. 1498 candidats présents sur 1588 inscrits. Distribution centrée et équilibrée : l'écart Q1–Q3 est de 5.2 points, et la moyenne est très proche de la médiane, gage d'une évaluation de qualité selon le jury.
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 2017 est explicite : « il faut absolument pratiquer sur machine pour acquérir les réflexes ». Stratégie clé : respect strict des types Caml, justifications minimales même non demandées, et arrêt précoce dès qu'on a la réponse (un mot non synchronisant doit faire sortir de la boucle).
Si tu vises 10-13/20 (médiane à top 25%)
Sécurise la partie I (étude théorique des automates) et les questions algorithmiques simples. Distingue clairement Caml et Python, le jury sanctionne le mélange. Respecte les signatures imposées. Justifie chaque complexité (vect_length est O(1), pas O(n)). Arrête tôt dès que la réponse est trouvée.
Si tu vises 15+ (top 10%)
Il faut traiter II.A.1 et II.A.2 proprement (file et non pile, enregistrements maîtrisés), rédiger explicitement les récurrences (propriété + variable, pas juste « par récurrence évidente »), respecter les types « vecteur de listes » dans la machine. Justifier les complexités, pas les affirmer. Soigner les indentations et utiliser les éléments précédemment définis.
Gestion des 4h : 1h sur la partie théorique (logique + automates), 2h sur les algorithmes Caml (manipuler les types proposés sans en inventer d'auxiliaires inutiles), 45 min sur les complexités et démonstrations finales, 15 min de relecture. Numéroter les questions, commenter le code, éviter les fonctions auxiliaires multiples : le jury rappelle que les copies sont lues par des humains.
Conseils du jury
Cinq conseils transversaux
- Pratiquer sur machine. Le temps de formation en informatique est limité ; l'apprentissage simultané de deux langages dont la philosophie est différente impose une pratique régulière sur machine pour acquérir les réflexes.
- Lisibilité du code. Les codes doivent être clairs, avec des notations courantes ou explicitées, en conservant celles du texte quand elles sont données.
- Justifications minimales. Même quand la demande n'est pas explicite, un minimum de justification ou démonstration des réponses est attendu. Une récurrence « évidente » sans propriété ni variable n'est pas acceptable.
- Respecter les types. Le respect strict des types donnés par le sujet est crucial : ne pas transformer une liste en vecteur ou inversement, ne pas considérer un entier comme mutable.
- Bien lire l'énoncé. Prendre le temps de comprendre les implications des hypothèses et indications données dans le texte. Une liste de fonctions utiles est souvent fournie en annexe, l'exploiter au lieu de tout réinventer.
Ressources
Téléchargements
Sujet officiel, corrigé Hadamard et rapport jury — tout en un endroit.
FAQ