Le Python en prépa ECG est trop souvent délaissé par les étudiants qui considèrent cela comme inintéressant, trop compliqué, voire pas assez rentable. Pourtant, ces trois idées reçues sont fausses. Dans cet article, nous allons répondre à la question suivante : pourquoi travailler Python en prépa ECG ? La réponse est claire : pour augmenter significativement et assurément ta note aux concours en maths.
Maintenant que tu sais que Python est important, tu regrettes ces heures d’informatique au lycée passées à changer ton fond d’écran et à discuter avec tes potes. Rassure-toi : d’abord, tu n’as rien loupé et ensuite, tu as largement le temps d’acquérir toutes les compétences Python nécessaires pour obtenir le plus de points à ces questions dans les épreuves de concours.
Que tu sois en première, deuxième ou troisième année, il est temps de s’attaquer à cette partie du programme de maths, qui peut sembler repoussante au premier abord. Ne t’inquiète pas, je vais te donner l’essentiel des clés pour progresser rapidement et grâce aux autres articles déjà parus ou qui vont paraître sur Major-Prépa, tu pourras bientôt être un as du Python.
Motivation
Il est difficile d’estimer la part des questions Python dans le barème des cinq épreuves écrites de mathématiques aux concours. Certains te diront 10 % quand d’autres tableront sur 25 %. Ce qui est sûr, c’est que c’est une part importante qui est appelée à croître avec la réforme, notamment en maths appliquées.
De plus, aux oraux d’HEC pour les filières ECG, il est quasi systématique qu’une des questions porte sur du Python et que le jury ne te laisse pas poursuivre sans y avoir répondu. Pour ces raisons, la maîtrise du Python peut venir compenser des faiblesses en maths ou améliorer ta note si ton niveau en maths est bon.
Par ailleurs, cet aspect sera plus personnel, mais je trouve que connaître quelques rudiments de Python peut être intéressant. Et parfois, il est même plaisant de réussir à coder par soi-même des programmes. Notons aussi que la manière de réfléchir en informatique peut t’aider à résoudre certains exercices mathématiques.
Ainsi, faire l’impasse totale sur Python est une stratégie à proscrire.
Comment travailler Python ?
Première année
En première année, l’essentiel est d’acquérir les bases sur lesquelles construire tes connaissances Python. Par ces bases, je pense aux fonctions du module numpy, au mode de fonctionnement des différents objets (réels et booléens notamment), à l’implantation de listes… Surtout, il faut intégrer le plus vite possible la syntaxe, car tous tes codes reposeront dessus.
Pour ce faire, je te conseille en premier lieu de bien lire les polycopiés de cours Python distribués par ton prof. Et notamment d’en retirer toutes les commandes essentielles, quitte à les noter dans un petit carnet si cela t’aide. Essaie de ne pas te précipiter sur les exercices sans avoir lu le cours, car tu auras le temps de les faire plus tard. Surtout, ne te bile pas si tu ne connais pas les algorithmes « classiques », comme le balayage ou la dichotomie. Ils rentreront avec le temps et tu mettras l’accent dessus en deuxième année.
Afin de pouvoir progresser rapidement, il te faudra prévoir au minimum une à deux heures de Python par semaine. Durant ces heures tu reverras les commandes fraîchement apprises et réaliseras les exercices distribués par ton prof que tu n’auras pas eu le temps de faire en classe. Certains profs distribuent énormément (trop) d’exercices, si tu n’as pas le temps de tous les faire, ce n’est pas grave du tout.
Deuxième année
En deuxième année, tu as normalement acquis les bases de Python qui te permettent de coder sans constamment être le nez dans ton cours. Si ce n’est pas le cas, je te conseille d’appliquer les conseils que je viens de donner aux étudiants de première année sur le premier semestre, puis à marche forcée au second semestre ceux de deuxième année.
Une fois les bases apprises, tu peux adopter deux stratégies en fonction de ton niveau d’intérêt vis-à-vis de l’informatique, mais également en fonction du temps dont tu disposes, qui varie selon les profils et les facilités dans les autres matières.
Stratégie numéro 1 : tu es un grand fan de Python et considères que tu peux y passer du temps
Amuse-toi ! Essaie de résoudre les exercices les plus difficiles donnés par ton professeur, crée tes propres codes, utilise Python pour conjecturer le résultat de certains exercices de maths…
Cette méthode est chronophage et t’éloigne un peu de « l’esprit concours », mais elle t’assure une adaptabilité à toutes les questions et te permet également d’avoir un peu de travail « fun » dans ta semaine.
Stratégie numéro 2 : tu n’es pas dans le cas n° 1
Mauvaise nouvelle : tu vas moins t’amuser. Toutefois, cela ne t’empêchera pas d’engranger de nombreux points en Python. Passe une à deux heures par semaine, selon la densité de ton planning, à revoir les méthodes incontournables : méthodes de recherche (Newton, balayage, dichotomie…), méthode de Monte-Carlo, algorithmique de liste, codage de matrices…
Régulièrement, interroge-toi sur des questions récurrentes dans les sujets de concours : implémenter une suite, une fonction, estimer une probabilité, une espérance, rechercher un à 10-3 près, simuler une réalisation de loi… Cette stratégie est purement pragmatique, mais te permet de gagner de nombreux points. Notamment dans les épreuves Ecricome, EDHEC et EM, dont les questions Python sont régulièrement les mêmes.
Je te conseille aussi d’essayer d’écrire les scripts python que tu vois dans une console Python. Cela te permettra de te rendre compte de ce qu’il se passe et de voir les erreurs que tu peux faire ! Tu peux t’entraîner sur la console Python de Major-Prépa juste ici.
La question du SQL (seulement pour les maths appliquées)
En deuxième année, tu as la joie de découvrir que les concepteurs ont ajouté un second langage informatique au programme qui n’a rien à voir avec Python et dont l’usage est similaire à celui de la bibliothèque Python pandas. Eh oui, le fameux SQL. Pour aller très vite, ce langage te permet d’interroger des bases de données pour en retirer des informations.
Je ne me risquerai à aucun pronostic sur la présence ou non de ce langage dans les épreuves. En 2023, il n’est jamais apparu dans les épreuves écrites (alors même que pandas était présent dans l’épreuve Maths I). Il y a donc un choix stratégique à faire : négliger ou non le SQL. Je dirais que si tu vises le top 3, il faut faire l’effort d’apprendre le SQL. Cela demande quelques heures de travail, mais tombe très souvent à l’oral, que ce soit dans les épreuves HEC ou ESCP pour ceux qui sont en maths appli.
Si tu choisis de bien apprendre, il te faudra une petite dizaine d’heures de travail, puis tu devras revoir régulièrement tes acquis. Ce qu’on te demande de savoir faire est assez rudimentaire et l’esprit n’est pas de te piéger. Même les questions les plus simples seront discriminatoires. Globalement, les mêmes conseils que précédemment s’appliquent : bien apprendre les commandes de base, repérer les exercices types et s’interroger régulièrement dessus.
N.B. : On te rappelle que seuls les prépas ECG ayant choisi l’option maths appliquées ont du SQL à leur programme. Si tu es en maths approfondies, tu peux passer ton chemin sur cette notion.
Quelques conseils lorsque tu es en DS et pour le jour J
Pour finir, je vais te distiller quelques conseils afin de maximiser tes chances quand tu es face à ta copie.
D’abord, ne fais pas l’impasse sur les questions Python. Il n’y a pas de point malus et très souvent, toute tentative est valorisée. En plus, il est très mal vu de faire l’impasse sur tout un pan du programme. C’est comme si tu faisais l’impasse sur l’analyse dans ton sujet de maths.
Si tu n’as pas d’idée, réfléchis une ou deux minutes et mets les commandes que tu connais, cela te vaudra peut-être quelques points. Tu peux même écrire quelques phrases en français si tu ne connais pas la manière de faire le programme en Python, afin de montrer que tu as compris ce qu’il faut faire.
Ensuite, la deuxième chose à faire si tu écris un code est de bien penser à la syntaxe. Sur Python, une erreur s’affichera, mais sur ta copie, ce ne sera pas le cas. Vérifie bien les incrémentations, les « : », les bornes de tes range, n’oublie pas d’importer les bibliothèques…
Enfin, dis-toi qu’en Python, il y a une infinité de manières de répondre à une question. Ainsi, si tu as une idée, même si elle est alambiquée et que le programme est long, mets-la sur ta copie. Parfois, cela permet même de te démarquer.
Conclusion
J’ai fini de te torturer avec Python et j’espère que tu y vois un peu plus clair. Si tu suis ces conseils, il n’y a aucune raison que tu n’atteignes pas un niveau plus que correct en Python. Donne tout et pythonne bien !
N’hésite pas à consulter toutes nos ressources en mathématiques !