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

Aller au contenu principal
Annale · 2017★★★Niveau moyenSession du 29 avril 2017

Informatique Mines-Ponts PSI 2017, sujet, corrigé et rapport jury

Sujet assez long mais d'une difficulté raisonnable, classement très efficace. Tout le spectre de notes occupé. Clés pour bonne note : maîtriser la syntaxe Python et SQL, programmes faisant exactement ce qui est demandé (pas « à peu près »), programmes concis et bien indentés. Message principal du jury : ALLEZ AU PLUS SIMPLE !

Mohamed K.

Mohamed K.

Centralien · MPSI puis MP · Recherche ML santé

★★★
Difficulté
Niveau moyen
2
Coefficient
Info Mines-Ponts

Session 2017 :

InformatiqueChimieMaths IMaths II

Top piège du sujet

Q3 : utiliser if L[i]==True / elif L[i]==False au lieu de return L[i]

Analyse

Ce qu'a observé le jury

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

Présentation du sujet

Sujet assez long mais d'une difficulté raisonnable, classement très efficace. Tout le spectre de notes occupé. Clés pour bonne note : maîtriser la syntaxe Python et SQL, programmes faisant exactement ce qui est demandé (pas « à peu près »), programmes concis et bien indentés. Message principal du jury : ALLEZ AU PLUS SIMPLE !

Structure de l'épreuve

  1. Partie IQ1-Q11, Booléens, listes, évolution de file(Q1-Q11)Niveau attendu

    Q1 0 et 1 ne sont pas des booléens. Q2 définir une fonction ne suffit pas à créer une liste. Q3 def occupe(L,i): return L[i] suffit (minorité de candidats). Q4 dénombrement complexe inutile. Q5 return True mal placé, double for inutile, assert renvoie une exception (pas un booléen). Q9-Q10 L2=L…

  2. Partie IIQ12-Q16, Évolution de la file et longueur(Q12-Q16)Niveau attendu

    Q12 utiliser Q9-Q11 plutôt que disjonctions de cas. Q13 fonction renvoie 1 liste de 2 sous-listes (pas 2 listes). Q14 qualitative bien traitée. Q15 réponses 8 ou 10 étapes en allant trop vite. Q16 réponses claires, le doute ne bénéficie pas.

  3. Partie IIIQ17-Q22, Complexité linéaire et dichotomie(Q17-Q22)Difficile

    Q17 « complexité linéaire » : in, del, .pop ne sont pas O(1) ! Gestion des indices (premier/dernier élément). Q20 but n'est pas un entier. Q21 reconnaître la dichotomie + complexités attendues (« in1 plus optimisé car moins d'instructions » faux). Q22 attention aux puissances de 2.

  4. Partie IVQ23-Q28, Terminaison et SQL(Q23-Q28)Difficile

    Q24 « il y a un while donc la boucle s'arrête nécessairement » insuffisant. Q26 requête simple sans jointure relativement mal traitée. Q27 jointure mieux maîtrisée mais ON Croisement.id=Voie.id mal placé. Q28 peu traitée.

Analyse globale du jury

« Le sujet d'informatique commune portait sur la modélisation d'une situation de trafic routier. Le sujet, assez long mais d'une difficulté raisonnable, a permis un classement très efficace des candidats. Les clefs pour obtenir une note honorable sont de bien maîtriser la syntaxe de base de Python et du SQL, de s'assurer que les programmes font exactement, et pas « à peu près », ce qui est demandé, et de proposer des programmes concis et bien présentés/indentés. Un défaut particulièrement sensible cette année a été le manque de concision des réponses et des programmes proposés, même pour des fonctions élémentaires. Message principal du jury : ALLEZ AU PLUS SIMPLE ! Le jury demande aussi explicitement aux candidats d'éviter de dépenser leur précieux temps à commenter les programmes simples. »

Top pièges sanctionnés

  • Q3 : utiliser if L[i]==True / elif L[i]==False au lieu de return L[i]-1 pts

    « La solution la plus simple, def occupe(L,i): return L[i] n'a été proposée que par une minorité de candidats. De très nombreux candidats proposent : def occupe(L,i): if L[i]==True: return True elif L[i]==False: return False. Certes correcte, mais qui montre qu'il y a encore une compréhension imparfaite de la puissance du langage. »

  • Confondre while et if (sanction lourde)-3 pts

    « Une faute grave a été vue dans un nombre appréciable de copies : l'utilisation de while à la place de if. Cette confusion est sanctionnée lourdement. »

  • L=[] puis L[0]=b ; ou L=L+a au lieu de L=L+[a] ; L.append(L1) confondu avec L+L1-2 pts

    « On a lu de trop nombreuses fois des instructions telles que : L=[] L[0]=b qui ne fonctionne évidemment pas. Quant à l'ajout d'un élément en fin de liste, nous avons trop souvent vu L=L+a à la place de L=L+[a]. De plus, trop de candidats pensent à tort que L.append(L1) est équivalent à L+L1 : seule cette dernière est correcte. »

  • L2=L pour créer une liste indépendante-2 pts

    « Les candidats doivent savoir que l'instruction L2=L ne suffit pas à créer une liste L2 indépendante de L. »

  • Q17 : utiliser in, del, .pop pour de la complexité linéaire (faux : ces opérations ne sont pas O(1))-2 pts

    « La précision de l'énoncé « de complexité linéaire » a échappé à beaucoup, y compris à ceux qui pensent s'en sortir en utilisant in, del ou .pop ou… qui ne sont certainement pas de complexité unitaire ! »

Source : Rapport du jury Mines-Ponts · Info PSI, session 2017 · PDF officiel ↗

Contexte

L'épreuve Informatique 2017

L'épreuve Informatique Mines-Ponts PSI 2017 s'est déroulée fin avril 2017, durée 1h30, coefficient 2. Le concours commun Mines-Ponts ouvre 9 écoles d'ingénieur en filière PSI (Mines Paris, Ponts ParisTech, ISAE-SupAéro, ENSTA, Télécom Paris…).

Modélisation d'une situation de trafic routier. Spectre large des notions des deux années CPGE : booléens, gestion de listes, fonctions sur listes (occupation de cases), évolution d'une file de voitures, complexité linéaire, recherche par dichotomie, requêtes SQL avec/sans jointure.

Le rapport jury : « Le sujet d'informatique commune portait sur la modélisation d'une situation de trafic routier. Le sujet, assez long mais d'une difficulté raisonnable, a permis un classement très efficace des candidats. Les clefs pour obtenir une note honorable sont de bien maîtriser la syntaxe de base de Python et du SQL, de s'assurer que les programmes font exactement, et pas « à peu près », ce qui est demandé, et de proposer des programmes concis et bien présentés/indentés. Un défaut particulièrement… ». Voir la synthèse complète plus haut.

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.

Cours 1 à 1 en visio ou présentielCorrigé détaillé du sujetMéthode de rédaction
Travailler avec un prof
RDV gratuit de 15 min

Trouvez le prof qu'il vous faut

Échangez avec notre équipe pour trouver le professeur idéal selon vos besoins.

Matching avec le bon prof
Programme sur-mesure
Premier cours d'essai

Sans engagement • Réponse sous 24h

Stratégie

Notre approche pour ce sujet

Le jury 2017 pointe : « La solution la plus simple, def occupe(L,i): return L[i] n'a été proposée que par une minorité de candidats. De très nombreux candidats proposent : def occupe(L,i): if L[i]==True: return True elif L[i]==False: return False. Certes correcte, mais qui montre qu'il y a encore une compréhension imparfai ». Stratégie clé : maîtriser le cours et soigner la rédaction. Mines-Ponts pénalise les copies bâclées même quand le calcul est juste.

Si tu vises 9-12/20 (médiane à top 25%)

Sécurise les questions de cours (définitions, énoncés des théorèmes avec hypothèses) et les questions calculatoires de début de sujet. La majorité des points se gagne là.

Si tu vises 14+ (top 10%)

Aborde les questions difficiles seulement si Q1-Q60% sont propres. Le jury préfère des copies courtes et propres aux copies longues et brouillonnes.

Gestion des 1h30 : lecture intégrale du sujet (5-10 min), traitement linéaire en sécurisant le cours, finir par les questions de synthèse. Numérisation des copies : ratures propres, pas d'encre gommable, résultats soulignés.

Conseils du jury

Conseils transversaux

  • Q3 : utiliser if L[i]==True / elif L[i]==False au lieu de return L[i] : sanctionné par le jury, citation exacte dans la section pièges plus haut.
  • Confondre while et if (sanction lourde) : sanctionné par le jury, citation exacte dans la section pièges plus haut.
  • L=[] puis L[0]=b ; ou L=L+a au lieu de L=L+[a] ; L.append(L1) confondu avec L+L1 : sanctionné par le jury, citation exacte dans la section pièges plus haut.
  • L2=L pour créer une liste indépendante : sanctionné par le jury, citation exacte dans la section pièges plus haut.
  • Q17 : utiliser in, del, .pop pour de la complexité linéaire (faux : ces opérations ne sont pas O(1)) : sanctionné par le jury, citation exacte dans la section pièges plus haut.

Ressources

Téléchargements

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

FAQ

Questions fréquentes — 2017

Partager

Préparation Mines-Ponts · Info PSI

Bossez ce sujet 2017 avec un ancien taupin

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