Stages de Pré-Rentrée — Inscriptions ouvertes, places très limitées ! S'inscrire

Annale · 2024Session du 29 avril 2024

Informatique Mines-Ponts PC 2024 — sujet, corrigé et rapport jury

Communication numérique — compression et décodage par algorithme de Viterbi. Sujet d'informatique commune (MP/PC/PSI) en 2 parties. Première partie : compression d'un message. Seconde partie : décodage d'un message à l'aide de l'algorithme de Viterbi (programmation dynamique)……

Mohamed K.

Mohamed K.

Centralien · MPSI puis MP · Recherche ML santé

Session 2024 :

InfoChimieMaths IMaths II
Aperçu rapide

Top piège du sujet : Q2 — = vs == dans les tests d'égalité

Analyse

Ce qu'a observé le jury

Synthèse Hadamard du rapport officiel — citations, chiffres et conseils du jury.

Présentation du sujet

Sujet d'informatique commune (MP/PC/PSI) en 2 parties. Première partie : compression d'un message. Seconde partie : décodage d'un message à l'aide de l'algorithme de Viterbi (programmation dynamique). Les 25 questions balaient le programme : calculs de complexité, algorithme glouton, utilisation des dictionnaires, programmation dynamique, SQL. Lien avec la communication numérique pour évaluer la capacité à relier ces notions à des problèmes concrets.

Structure de l'épreuve

  1. Partie IQ1-Q6 — Compression et complexité(Q1-Q6)Niveau attendu

    Q1 ambiguïté du décodage rarement détectée. Q2 erreurs Python (= vs ==, c vs 'c'). Q3 oubli de guillemets pour chaînes. Q4 complexité dépendant uniquement de n et non de k et n, manque de simplification des O. Q5 oubli des guillemets. Q6 idem Q4.

  2. Partie IIQ7-Q14 — Dictionnaires et SQL(Q7-Q14)Difficile

    Q7 manipulation des dictionnaires — keys() sans parenthèses, if/if au lieu de if/elif. Q8 syntaxe DISTINCT, FROM, requêtes terminant par WHERE sans condition. Q9 plusieurs sous-requêtes au lieu d'une, confusion WHERE/HAVING, SUM/COUNT, attribut.table vs table.attribut.…

  3. Partie IIIQ15-Q25 — Graphes et Viterbi(Q15-Q25)Très difficile

    Q15 dénombrement des arcs avec résultats aberrants. Q16 graphe correct mais erreurs de probabilités. Q17 impossibilité de l'exploration exhaustive non justifiée. Q18 programme classique mais initialisation parfois incorrecte. Q20 algorithmes gloutons supposés tous de même complexité.…

Analyse globale du jury

« Si certaines copies sont très faibles (voire presque vides), d'autres sont excellentes et frisent parfois la perfection. La longueur et la difficulté du sujet étaient ainsi tout à fait adaptées à ce type d'épreuve, ce qui a permis de bien classer les candidats. Un nombre non négligeable de questions portait sur la compréhension des problématiques liées à la communication numérique. L'épreuve abordait donc un large éventail de notions étudiées durant les deux années de préparation tout en évaluant la capacité des candidats à relier ces notions aux problèmes concrets rencontrés lors de la mise en œuvre d'une communication numérique. »

Top pièges sanctionnés

  • Q2 — = vs == dans les tests d'égalité-1 pts

    « Plusieurs erreurs de syntaxe Python sont récurrentes : utilisation de = au lieu de == lors des tests d'égalité ; confusion entre la variable c et la chaine de caractères 'c'. »

  • Q4-Q6 — complexité ne dépendant que de n et non de k et n-2 pts

    « Beaucoup de candidats proposent des complexités dépendant uniquement de n et non de k et n. La notion de complexité semble ne pas être acquise pour une partie des candidats : manque de simplification des O, calculs d'applications numériques. L'absence de justification a été sanctionnée. »

  • Q7 — keys() sans parenthèses, if/if au lieu de if/elif-1 pts

    « Mauvaise manipulation des dictionnaires, en particulier lors de l'ajout d'un couple (clé,valeur) et du test de la présence d'une clé. Certains candidats font le choix d'utiliser keys(), mais beaucoup d'entre eux oublient les parenthèses. Certains candidats utilisent if/if quand il est nécessaire d'utiliser if/elif ou if/else. »

  • Q9 — sous-requêtes alors qu'UNE requête demandée-2 pts

    « Plusieurs candidats proposent des sous-requêtes alors que le sujet demande explicitement UNE requête. L'utilisation des jointures est assez peu maitrisée. Erreurs de syntaxe SQL récurrentes : confusion entre WHERE et HAVING ; confusion entre SUM et COUNT ; utilisation de attribut.table au lieu de table.attribut ; mauvaise maîtrise de GROUP BY. »

  • Q11 — codeCar(c,g,d)[0] suivi de [1] (deux appels)-1 pts

    « La méconnaissance du dépaquetage d'un t-uple et de la syntaxe d'assignation de plusieurs variables de manière simultanée est la source de nombreuses erreurs : l'instruction t = codeCar(c, g, d) suivie par g = t[0] et d = t[1] est correcte alors que l'instruction g = codeCar(c, g, d)[0] suivi de d = codeCar(c, g, d)[1] ne l'est pas. »

  • Q14 — append sur chaîne de caractères-1 pts

    « Trop de candidats utilisent append pour ajouter un élément à une chaine de caractères. Certains candidats font des appels multiples et coûteux de la fonction decodeCar. Il est préférable de stocker le résultat de l'appel d'une fonction dans une variable plutôt que d'appeler une fonction de manière redondante. »

  • Q22 — Dijkstra sans opposé du logarithme-2 pts

    « L'algorithme de Dijkstra est souvent mentionné, mais peu de candidats pensent à utiliser l'opposé du logarithme. Même si cela n'est pas sanctionné, il est regrettable qu'un aussi grand nombre de candidats ne connaisse pas l'orthographe, même approximative, de Dijkstra. »

Chapitres clés à maîtriser

Complexité algorithmique — calcul rigoureux et simplification
Manipulation des dictionnaires Python
SQL — DISTINCT, GROUP BY, jointures, sous-requêtes
Graphes et algorithme de Dijkstra
Programmation dynamique et algorithme de Viterbi
Algorithmes gloutons

Ressources

Téléchargements

Sujet officiel, corrigé Hadamard et rapport jury — tout en un endroit.

FAQ

Questions fréquentes — 2024

Partager

Préparation Mines-Ponts · Info PC

Bossez ce sujet 2024 avec un ancien taupin

Nos professeurs analysent votre copie sur ce sujet, identifient vos faiblesses et structurent votre révision pour la session 2025.

Sujet