JP Roy

Algorithmique et Programmation Impérative

en L1-Info (avec Python), 2016-2017

Le cours est terminé ! Cette page va fermer...

Delta du Mékong, 2013

LE COURS DU SEMESTRE 2 PORTERA SUR LA PROGRAMMATION FONCTIONNELLE EN SCHEME.

Navigateur Web conseillé : Chrome (notamment pour l'audio et la vidéo).
• Certains étudiants - notamment ceux qui n'ont pas un bac S - n'ont bizarrement pas suivi la mise à niveau en maths proposée avant la rentrée. En voici le polycopié [indisponible].
• Le meilleur livre au monde sur le graphisme de la Tortue est publié aux presses du MIT : une mine d'or (il est à la B.U. Nice). Quant au livre d'Algorithmique évoqué en amphi (le "Cormen", traduit cette fois en français), il provient aussi de cours au MIT (gratuits avec vidéos en anglais), et il est aussi à la B.U., il existe une édition résumée du Cormen, bien synthétique mais moins détaillée (aussi à la B.U.). Tous ces livres couvrent L1-L2-L3-M1, donc achat rentable.
• On m'a fait remarquer qu'il y avait une coquille dans l'exercice 2 du TD6 à propos de Quicksort. Voici une mise au point optionnelle qu'il vaut mieux ne pas lire sans être très motivé. Donc lisez-la.
• Vous trouverez dans le dossier exams-old.zip les sujets des examens terminaux des deux dernières années, non corrigés. Ne demandez pas les corrections.
• Le cc1 (25% de la note finale) a eu lieu. Les sujets corrigés sont dans cc1.zip. Les notes vont de 0 à 20.
• Une souris a traversé mon bureau ! Cela m'a donné l'idée d'un petit programme attraction.py :-) Observez comment avec un soupçon d'aléatoire on a petit simulacre d'Intelligence Artificielle classique (l'IA générative ne sera inventée que dans quelques années)...
• Le cc2 (25% de la note finale) a eu lieu. Les sujets corrigés sont dans cc2.zip. Les notes vont de 0 à 20.
• L'examen TERMINAL a eu lieu et son corrigé exam-DEC-2016.py est disponible. Idem pour l'examen de RATTRAPAGE et son corrigé exam-JUIN-2017.py.

Le langage utilisé dans ce cours de L1 est Python. Nous utilisons la dernière version stable 3.x du langage avec l'environnement de développement intégré IDLE. Le fonctionnement est identique sous Linux, MacOS-X et Windows.
Note 2026 : IDLE est toujours ok, mais si je faisais encore cours maintenant, j'hésiterais entre IDLE (mais sous Anaconda), Jupyter ou VS-Code (voir PAA chap. 1).

Un cours en amphi + deux séances de TD/TP de 1h30 chaque semaine (présence contrôlée), durant 12 semaines.

1. Expressions, instructions et fonctions (INSTALL)  Cours1  TP1  sol1.py
2. Itérations et nombres approchés  Cours2  TP2  sol2.py
3. Chaînes de caractères  Cours3  TP3  sol3.py
4. Graphisme tortue (turtle.cfg)  Cours4  TP4  sol4.py
5. Séquences : tuples et listes  Cours5  TP5  sol5.py
6. Listes, complexité, exceptions  Cours6  TP6  sol6.py
7. Modules, polynômes (polycreux-tp7.py)  Cours7  TP7  polycreux.py
8. Ensembles et dictionnaires  Cours8  TP8  sol8.py
9. Les fichiers  Cours9  TP9  sol9.py
10. Les classes d'objets  Cours10  TP10  sol10.py
11. Les interfaces graphiques  Cours11  TP11  sol11.zip
12. Révisions (revisions.py)  Cours  TD

Outre les notes de cours, vous pouvez consulter par anticipation le livre Python. Apprentissage Actif prévu temporellement aux éditions Ellipses pour mars 2020 en même temps qu'un virus inconnu, mais je vous conseille d'attendre la version ultérieure de 2026 qui sera revue et augmentée, et tiendra compte de l'IA générative qui devrait pointer le bout du nez cette année (où je donne mon dernier cours, profitez !). Gasp, il faut que je fasse attention et que je regarde vite ce papier sur les transformeurs...

Glossaire         Index         Modules