Guide Python pour TP algo ENS

Modérateur : Michel Quercia

Répondre
tpalgo2019
Messages : 7
Enregistré le : ven. avr. 26, 2019 10:32 am
Classe : MP*

Guide Python pour TP algo ENS

Message par tpalgo2019 » ven. avr. 26, 2019 10:39 am

Bonjour,

j'ai commencé l'info en sup (je n'avais jamais fait réellement d'info avant). J'ai donc commencé à apprendre à coder en CAML (je m'en foutais de Python) et je suis un peu une brêle en Python (je connais simplement les fonctions de bases). Cependant, j'ai passé les ENS en concours INFO et si je suis admissible je vais devoir passer le TP Algo. J'en ai fait plusieurs dans l'année, tous en CAML, ce qui fonctionnait plutôt bien mais il s'avère que le faire en C++ ou en Python est beaucoup mieux. J'ai un peu codé en C++ mais pas assez pour avoir le temps de me préparer. J'imaginais donc me mettre vraiment au Python UNIQUEMENT dans l'optique du TP Algo de l'ENS. Je dois donc me renseigner sur l'intégralité des fonctions de bases utiles ainsi que sur les structures de données et leurs avantages/désavantages. C'est pourquoi je cherche un guide complet et approfondi de Python qui toutefois commence par les bases, donc si vous avez ça sous la main ça me rendrait extrêmement service ! (j'ai acheté le livre de Jill-Jenn Vie sur les 128 algorithmes à savoir coder en Python déjà).

Merci beaucoup de votre aide.

GrosGillouDu92
Messages : 96
Enregistré le : jeu. août 09, 2018 8:57 pm

Re: Guide Python pour TP algo ENS

Message par GrosGillouDu92 » ven. avr. 26, 2019 11:40 am

Bonjour,

Désolé ça ne répond pas à la question, mais je ne comprends pas pourquoi tu dis que le faire en C++ ou en Python est beaucoup mieux. C’est notamment le OU qui m’étonne, compte tenu des différences entre les deux langages.

Je me demande en conséquence si tu ne pars pas d’une idée préconçue.
Parent

tpalgo2019
Messages : 7
Enregistré le : ven. avr. 26, 2019 10:32 am
Classe : MP*

Re: Guide Python pour TP algo ENS

Message par tpalgo2019 » ven. avr. 26, 2019 11:43 am

Je disais que l'un ou l'autre est mieux que le CAML que ce soit optimisation des opérations, bibliothèques pré-existantes. Je parle bien sûr à niveau égal de maîtrise du langage (car il vaut à priori mieux utiliser un langage que l'on maîtrise bien par rapport à un langage plus efficace mais dont on ne connaît finalement pas les fonctionnalités).

Avatar du membre
Der RHDJ
Messages : 1928
Enregistré le : sam. avr. 12, 2014 11:26 pm
Classe : Jône
Localisation : Boue

Re: Guide Python pour TP algo ENS

Message par Der RHDJ » ven. avr. 26, 2019 11:51 am

Pour de l'algorithmique je vois mal ce dont tu pourrais avoir besoin au delà de numpy
2012-2013 : 1/2 insouciante
2013-2014 : 3/2 arrogante
2014-2015 : 5/2 aigrie ET arrogante
X2015
Coët en GU - Médaille du Mythe échelon Platine - Vaneau d'Or

GrosGillouDu92
Messages : 96
Enregistré le : jeu. août 09, 2018 8:57 pm

Re: Guide Python pour TP algo ENS

Message par GrosGillouDu92 » ven. avr. 26, 2019 12:00 pm

Notamment on peut lire dans le rapport de jury 2017:
Il est indispensable d’être à l’aise avec le langage de programmation de son choix. Les candidats peuvent s’entraîner avec les sujets des années précédentes. Il nous semble préférable de s’entraîner avec un seul langage toute l’année et bien connaître ses subtilités, les erreurs classiques, les messages d’erreur, etc. Une des compétences nécessaires pour la réussite de l’épreuve est de savoir déboguer un programme. Plusieurs candidats ont été bloqués par diverses erreurs classiques telles que « Type Error » en Python qu’ils n’ont pas su interpréter, ou bien ont atteint la limite de la pile de récursion sans comprendre ce qu’il se passait. Une pratique régulière de programmation avec le langage choisi permet de rencontrer et savoir résoudre ce genre de problèmes classiques.
Parent

tpalgo2019
Messages : 7
Enregistré le : ven. avr. 26, 2019 10:32 am
Classe : MP*

Re: Guide Python pour TP algo ENS

Message par tpalgo2019 » ven. avr. 26, 2019 12:03 pm

Effectivement, après avoir re-regardé les corrigés de l'épreuve de l'année dernière, il n'y a pas besoin des bibliothèques. Cela-dit, le corrigé utilise de nombreuses notions telles assert, le rattrapage d'exceptions, l'utilisation d'enum qui sont des choses basiques et trouvables très facilement sur internet, donc pour le coup je cherche plutôt un document spécialisé qui présente ce type de choses de manière synthétique et efficace (autrement dit, que je n'ai pas à le chercher dans un énorme tutoriel dont 90% des choses ne m'intéressent pas, toujours dans une optique de gain du temps), si ça existe.

tpalgo2019
Messages : 7
Enregistré le : ven. avr. 26, 2019 10:32 am
Classe : MP*

Re: Guide Python pour TP algo ENS

Message par tpalgo2019 » ven. avr. 26, 2019 12:04 pm

GrosGillouDu92 a écrit :
ven. avr. 26, 2019 12:00 pm
Notamment on peut lire dans le rapport de jury 2017:
Il est indispensable d’être à l’aise avec le langage de programmation de son choix. Les candidats peuvent s’entraîner avec les sujets des années précédentes. Il nous semble préférable de s’entraîner avec un seul langage toute l’année et bien connaître ses subtilités, les erreurs classiques, les messages d’erreur, etc. Une des compétences nécessaires pour la réussite de l’épreuve est de savoir déboguer un programme. Plusieurs candidats ont été bloqués par diverses erreurs classiques telles que « Type Error » en Python qu’ils n’ont pas su interpréter, ou bien ont atteint la limite de la pile de récursion sans comprendre ce qu’il se passait. Une pratique régulière de programmation avec le langage choisi permet de rencontrer et savoir résoudre ce genre de problèmes classiques.
Justement, je n'ai aucune compréhension fine du langage Python donc c'est quelque chose que j'ai besoin d'apprendre que ce soit au niveau des erreurs mais aussi des structures de données qui doivent être optimales car les questions requièrent souvent une complexité optimale.

JeanN
Messages : 5373
Enregistré le : dim. sept. 04, 2005 7:27 pm
Localisation : Versailles

Re: Guide Python pour TP algo ENS

Message par JeanN » ven. avr. 26, 2019 12:19 pm

Vu les rapports du jury et ce que tu décris dans ton premier message, tu as intérêt à programmer en caml
Professeur de maths MPSI Lycée Sainte-Geneviève

GrosGillouDu92
Messages : 96
Enregistré le : jeu. août 09, 2018 8:57 pm

Re: Guide Python pour TP algo ENS

Message par GrosGillouDu92 » ven. avr. 26, 2019 12:25 pm

Mais justement, je ne vois pas pourquoi changer de langage maintenant.
Il nous semble préférable de s’entraîner avec un seul langage toute l’année.
Tu vas consommer beaucoup de temps pour un avantage incertain, au détriment des autres oraux. A ta place je continuerais à m’entrainer en OCaml, avec l’image disque iso fournie (l’as tu démarrée ?).
Parent

tpalgo2019
Messages : 7
Enregistré le : ven. avr. 26, 2019 10:32 am
Classe : MP*

Re: Guide Python pour TP algo ENS

Message par tpalgo2019 » ven. avr. 26, 2019 12:41 pm

Je comprends vos points de vue mais je vais expliquer mon choix. Je pense :
1) pouvoir apprendre python rapidement
2) les corrigés des tp sont en python
3) par expérience, les tps que j'ai réalisé en caml donnent lieu à des codes + compliqués, par comparaison avec ceux de mes camarades/corrigés, notamment à cause du caractère fortement typé de CAML (et les structures de données Array/List par rapport à la List de Python) qui certes rend plus facile l'étape de débugage mais offre beaucoup moins de flexibilité sur la programmation et donc bouffe du temps (quand la partie réellement importante est l'algorithmique ou l'efficacité du programme)

Encore une fois, mon choix est motivé par la recherche d'efficacité et de simplicité. Cependant, si vous pensez tout de même que je devrais programmer en CAML, je reconsidèrerais ma décision (c'est pour ça que je pose la question ici).

GrosGillouDu92
Messages : 96
Enregistré le : jeu. août 09, 2018 8:57 pm

Re: Guide Python pour TP algo ENS

Message par GrosGillouDu92 » ven. avr. 26, 2019 2:12 pm

Juste un point, la différence entre python et caml n’est pas une question de typage fort vs faible, mais de typage statique vs dynamique.
Parent

YS1
Messages : 68
Enregistré le : dim. févr. 06, 2005 12:50 pm
Classe : MPSI, PCSI, MP*, PC*

Re: Guide Python pour TP algo ENS

Message par YS1 » dim. avr. 28, 2019 2:37 pm

Lorsqu'on maitrise les deux langages, il y a un intérêt, après une première lecture rapide du sujet, à choisir lequel on utilise. OCaml sera plus adapté si le sujet fait utiliser une structure arborescente. Dans le cas contraire c'est vraiment en fonction du gout. Python peut avoir un côté pratique pour afficher les résultats avec print, utiliser des dictionnaires (la syntaxe proposée est plus sympa que celle du module Hashtbl de OCaml), avoir une trace plus lisible en cas d'exception, mais tout cela nécessite une maitrise du langage. C'est à peu près tout et inversement l'inconvénient est que le typage dynamique fait que des erreurs peuvent rester tapies dans l'ombre.

haowanr
Messages : 74
Enregistré le : jeu. sept. 28, 2017 5:48 pm

Re: Guide Python pour TP algo ENS

Message par haowanr » lun. avr. 29, 2019 1:11 pm

Je pense qu'il vaut mieux rester sur Ocaml ça te laisse plus de temps pour travailler les sujets de TPs (et les oraux) plutôt que d'apprendre un nouveau langage uniquement dans le but de préparer les TPs.
Ne te fixe par sur le corrigé qui n'est qu'indicatif sur une des façons de faire le TP, parmi beaucoup d'autres.

Quand même si tu veux jeter un oeil, des références classiques :
Apprendre à programmer avec Python - Gérard Swinnen
How to Think Like a Computer Scientist: Learning with Python 3
Le cours d'introduction à la programmation de l'UPMC est bien foutu : http://www-licence.ufr-info-p6.jussieu. ... maquette=1

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités