Pour bien réussir en info aux concours d’ingénieur
Bien que les cours d’informatique en prépa ne représentent que deux heures par semaine en classes préparatoires CPGE, indépendamment de la filière (MP-PC-PSI-PT), l’informatique ne devrait pas être délaissée par les étudiants de prépa sous peine de lourds points de retard le jour du concours en maths spé ce qui serait pénalisant pour intégrer Polytechnique.
Rappelons que l’épreuve dure trois heures au concours Centrale avec un coefficient 6 (sur un total de 100 pour la filière MP, soit 6% de la note à l’écrit) et une heure et demie au concours Mines-Ponts pour un coefficient 1 (sur un total de 29 soit 3.5% de la note à l’écrit). Un travail régulier permet généralement d’atteindre sans trop de difficultés une note plus que correcte et de gagner de précieux points en informatique en prépa. Cette épreuve d’informatique prendra forcément de plus en plus de poids dans le cursus des prépas CPGE, car finalement on fait presque plus d’informatique en école d’ingénieur que de maths et surtout les compétences informatiques influent fortement sur l’employabilité. Les cours de maths pour la sélection mais les cours d’informatique pour la formation.
Le programme d’informatique en prépa
Vous n’êtes pas un geek ? L’informatique ce n’est pas fait pour vous ? Pas de panique. L’informatique enseignée en classes préparatoires sert à donner des bases en programmation et en algorithmique. On ne vous demande pas de recoder Google !
Le programme s’articule autour de grands axes que sont :
- la modélisation de problèmes
- l’algorithmique
- la programmation
- et enfin une initiation aux bases de données
On attend de l’élève de prépa maths sup maths spé qu’il soit capable de comprendre des algorithmes simples, de modéliser des situations et des problèmes qu’il sera amené à rencontrer en tant qu’ingénieur, d’écrire des programmes élémentaires. On attend de l’élève qu’il comprenne pourquoi le problème a été modélisé de la sorte, par exemple pourquoi utilise-t-on ce type d’objet ? (par exemple modéliser une file de voitures par une liste de booléens, sujet informatique mines 2017) Ou de savoir évaluer la complexité d’un algorithme. Il est toujours bon de conserver un regard critique et de s’interroger sur les solutions proposées lors des sujets de concours maths spé, une bonne compréhension du problème et de sa modélisation sont des éléments indispensables pour atteindre la note maximale aux concours d’ingénieurs.
Comment progresser en info en prépa ?
La partie programmation se fait exclusivement en Python en prépa. Pour progresser en python en prépa, pas de secret : il faut sortir son ordinateur et pratiquer. L’expérience permet de gagner en fluidité et d’acquérir les bons réflexes. Rappelons que le jour du concours il faudra écrire sur papier, il n’y aura donc pas la possibilité de tester son programme en se disant « on verra bien si ça marche ». Il faudra être sûr de soi et rapide. Les sujets d’informatique annales sont souvent relativement longs, ce qui peut permettre d’avoir matière à faire, même si on saute certaines questions, néanmoins les bonnes copies arrivent souvent à les traiter dans leur ensemble.
Pour réussir en maths spé en informatique : il faudra pratiquer
Pour acquérir cette fluidité et ces réflexes, plusieurs sites proposent des problèmes de difficulté croissante. On peut par exemple citer la plateforme Prologin, sur laquelle on trouvera des problèmes avec une difficulté adaptée à chacun. Une situation est clairement définie, il faut alors écrire une fonction qui permette de répondre au problème. Le code doit être copié-collé sur la page du site et une série de tests est effectuée pour vérifier la validité du code. On peut aussi citer France-ioi, qui fonctionne sur le même principe, mais qui propose en plus des éléments de cours d’informatique et d’explication. Ainsi, si l’élève de prépa a une question, il peut lire la partie correspondante puis tenter de résoudre les exercices d’informatique associés.
Il peut être utile de mémoriser les noms de certaines fonctions natives du langage et leur utilisation (par exemple la fonction sort() pour trier une liste) ainsi que les bibliothèques classiques (numpy, math, random qui étaient les trois bibliothèques utilisées dans le sujet centrale 2018 ou encore matplotlib). En effet, si la plupart du temps Centrale fournit un bref résumé de ces fonctions à la fin de son sujet, ce n’est pas le cas du concours Mines-Ponts (le sujet 2017 demandait par exemple d’ouvrir un fichier et d’en lire les lignes sans rappel d’instructions).
Le programme d’informatique en prépa comprend aussi une partie algorithmique avec des concepts comme le calcul d’aire approchée ou la localisation du zéro d’une fonction. Il est extrêmement chronophage et contre-productif d’apprendre ces algorithmes par cœur, et il y a fort à parier que l’élève l’écrirait avec une erreur le jour J. On peut éventuellement retenir quelques formules comme l’aire d’un trapèze mais ce qui est important c’est de comprendre l’idée : comment la machine fait-elle pour évaluer l’aire que je cherche à calculer ? Pour s’assurer que l’on maîtrise le concept, le plus efficace est sûrement de prendre une feuille blanche et d’essayer de traduire l’algorithme à l’aide de deux ou trois schémas. Ces schémas seront les grandes étapes de l’algorithme que l’élève n’aura pas de mal à traduire en Python grâce à sa pratique régulière.
Les bons réflexes le jour J de l’épreuve d’informatique aux concours
Si un travail régulier en prépa sur les deux années maths sup et maths spé est nécessaire, certains réflexes peuvent aussi aider à améliorer sa note en info aux concours. Le candidat devrait garder en tête que le correcteur qui l’évaluera aura peu de temps et une bonne centaine d’autres copies à traiter. Il faut donc lui faciliter la tâche, lui montrer que l’on a compris le sujet. Les rapports des épreuves précédentes sont des sources non négligeables de bons conseils et d’erreurs à éviter. Celui de centrale 2018 est disponible ici avec le corrigé. On relèvera notamment que les bonnes copies aux concours, non seulement traitent la quasi-totalité du sujet, mais font aussi preuve d’une rédaction claire et concise.
Le jour J il faudra faire preuve de maîtrise et de rapidité pour atteindre l’admissibilité aux concours
Il y a souvent plusieurs façons de répondre à une question, pour un même résultat certains feront une fonction de trois lignes et d’autres vingt, il faut donc réfléchir et se poser la question « ne puis-je pas faire plus simple ? ». Attention à ne pas faire des programmes trop longs, si le code dépasse une quinzaine de lignes mieux vaut écrire des sous fonctions. Toujours dans un souci de clarté, on accordera la plus grande importance au choix de nom des variables, « a », « b », « c » seront moins parlant que « temps », « vitesse », « position ». On prendra également soin de reproduire l’indentation en laissant 2 carreaux, voire de tracer un trait vertical pour chaque bloc pour guider la lecture du correcteur. Enfin, l’élève commentera son code de façon raisonnable, il est parfaitement inutile et contre-productif de commenter chaque ligne, surtout si les variables sont bien nommées et le code bien pensé. Il est souvent plus pertinent de commenter par bloc et uniquement dans le cas de fonctions complexes.
Les sujets d’informatique aux concours CPGE sont régulièrement découpés en plusieurs parties de difficulté croissante. Néanmoins, il n’est pas rare que la dernière partie soit consacrée aux bases de données et au SQL, et soit donc totalement indépendante du reste. De plus, cette partie est souvent d’une difficulté très abordable. Il serait donc regrettable de ne pas prendre ces points faciles, cependant beaucoup de candidats passent à côté par manque de temps et sans se rendre compte que la partie est indépendante. Pour éviter de telles erreurs, une première lecture en diagonale de l’intégralité du sujet au début de l’épreuve est primordiale. Cette première lecture doit permettre de comprendre la logique du sujet. De quoi parle-t-on ? Quel est le but final ? Comment est organisé le traitement du problème ? Quelles sont les questions faciles et qui doivent impérativement être traitées ? Quelles sont les parties indépendantes ? Il peut être judicieux, pendant cette première lecture, de noter sur un brouillon les notations introduites par le sujet et leur signification, afin d’éviter de perdre de précieuses minutes à se demander ce que peut être ce « R » ou si « L » est une liste de dimension n ou p.
Enfin, le candidat gardera à l’esprit qu’une fois l’étape des écrits passée, brillamment nous n’en doutons pas, ses connaissances en Python et en informatique en prépa lui serviront lors des oraux d’écoles d’ingénieur comme à Centrale (maths et physique) ou lors de ses TPs et même pour le TIPE. Maîtriser l’informatique en prépa pour les écrits lui ramènera non seulement une bonne note mais lui fera économiser un temps précieux pendant cette si courte période qu’est la préparation des oraux d’école d’ingénieur.
Marine Saint-Mézard, ancienne élève de MPSI puis PSI*, actuellement en double diplôme ENSTA Paris Tech – HEC
N’hésitez pas à lire d’autre contenu sur notre site :
- Conseils pour gagner des points en Sciences de l’ingénieur
- Aperçu de ce qui peut tomber aux concours en colle de physique
- Préparation des colles de maths en CPGE