Analyse
Ce qu'a observé le jury
Synthèse Hadamard du rapport officiel — citations, chiffres et conseils du jury.
Présentation du sujet
Sujet de typographie informatisée à 26 questions, du niveau élémentaire (requête SQL simple, manipulations classiques de listes) à plus fin en fin de sujet (maîtrise et compréhension fines). Évalue un large éventail de notions des deux années de préparation. Longueur et difficulté tout à fait adaptées, permettant un bon classement.
Structure de l'épreuve
- Partie I — Partie 1 — Manipulation des polices vectorielles(Q1-Q?)Niveau attendu
Manipulation et tracé. Gestion de listes imbriquées, matrices de pixels.
- Partie II — Partie 2 — Justification de paragraphe(Q?-Q?)Difficile
Algorithmes gloutons, programmation dynamique, mémoïsation. Questions plus fines en fin de sujet.
Analyse globale du jury
« L'épreuve abordait un large éventail de notions étudiées durant les deux années de préparation et a permis d'évaluer et de classer l'ensemble des candidats. Le jury insiste sur la présentation des copies (certaines très brouillonnes, parfois illisibles), la présentation des codes Python (noms de variables, commentaires pertinents, mais 1-2 phrases suffisent). Erreurs ponctuelles tolérées, mais absence récurrente de parenthèses sanctionnée. »
Top pièges sanctionnés
Initialiser une liste de listes : L = h*[] crée une liste vide, pas h listes vides-2 pts
« L'initialisation d'une liste L = [] suivie, dans une boucle for, d'une affectation L[i] = elt provoque une erreur. De même, l'instruction L=h*[] initialise la liste L à une liste vide (et pas à une liste de h listes vides). Il en va de même pour des listes formées de listes vides : les syntaxes [[]] * n ou [[]*n] ne conviennent pas. »
L = L + [elt] (ou L += [elt]) — oublis de crochets, surtout si elt est elle-même une liste ; préférer L.append(elt)-1 pts
« L'ajout d'un élément à la fin d'une liste. Comme indiqué dans les rapports des années précédentes, la syntaxe L.append(elt) est à privilégier. D'une part, elle est plus efficace, mais elle est également moins source d'erreurs. L'emploi de la syntaxe L = L + [elt] (ou L += [elt]) a par exemple provoqué beaucoup d'oublis de crochets, quand elt était elle-même une liste. »
Modifier une liste passée en paramètre d'une fonction (effets de bord)-1 pts
« Le caractère modifiable des listes en Python n'est pas compris par tous. Sauf mention du contraire, les listes rentrées en paramètres des fonctions ne doivent pas être modifiées. »
Ratures excessives sur les codes Python provoquant des erreurs de syntaxe-1 pts
« Un nombre trop important de ratures nuit forcément à la lecture des codes Python produits et peut même provoquer des erreurs de syntaxe. […] Un code trop difficile à déchiffrer (excès de ratures ou de rajouts par le biais de flèches ou d'astérisques) est forcément sanctionné. »
Absence récurrente des parenthèses (for i in range n / len L / appel de fonction sans parenthèses)-1 pts
« Une erreur ponctuelle de syntaxe (oubli des :, d'une parenthèse fermante) peut être tolérée. En revanche, l'absence récurrente des parenthèses (en écrivant par exemple systématiquement for i in range n ou len L ou lors de l'utilisation d'une fonction déjà codée) a été sanctionnée. »
Chapitres clés à maîtriser
Ressources
Téléchargements
Sujet officiel, corrigé Hadamard et rapport jury — tout en un endroit.
FAQ

