2025—2026
For the lesson lies in learning
And by teaching I'll be taught
Les versions imprimables consistent en les mêmes transparents, à peu de choses près, que ceux montrés aux cours; la différence principale est que les slides correspondant à plusieurs transparents (sur lesquels on rajoute du texte au fur et à mesure) sont comprimés en un seul transparent.
Certaines feuilles d'exercices existent en version "indices", où des indications ont été rajoutées pour les exercices plus difficiles. N'hésitez pas à les consulter si vous ne vous en sortez pas.
- BUT 1: Initiation au développement
- BUT 3: Qualité algorithmique
- L3: Algorithmique des graphes
- SHNU: Administration d'un système GNU / Linux
Le matériel de cours est disponible sur la page correspondante de l'intranet. Contactez-moi si vous n'y avez pas accès.
Liens utiles
- Télécharger Python: ici (prenez la version 3).
- La documentation de Python 3.
- PythonTutor; n'oubliez pas de préciser la version de Python à utiliser pour exécuter votre code.
- Structure d'un programme Python: modele.py
- "Apprendre à programmer avec Python 3", un livre de référence écrit par Gérard Swinnen disponible gratuitement en PDF.
- Apprendre Python et d'autres langages en s'amusant: CodinGame
- Apprendre Python en s'amusant (niveau avancé): The Python Challenge
- Un programme pour tester votre installation matplotlib: test-matplotlib.py (utilisation: python3 test-matplotlib.py)
- Un programme pour vous aider à comprendre la récursivité : decorecursivite.py (lisez son contenu pour savoir comment le réutiliser pour les fonctions récursives que vous écrirez)
Le matériel de cours est disponible sur la page correspondante de l'intranet. Contactez-moi si vous n'y avez pas accès.
Quelques références
- High Performance Python: Practical Performant Programming for Humans, de Micha Gorelick et Ian Ozsvald
Notes de cours
- Chapitre 0: Rappels de complexité et programmation orientée objet en Python (version du 01/01/1970)
- Chapitre 1: Notions de base (version du 01/01/1970)
- Chapitre 2: Parcours et applications (version du 01/01/1970)
- Chapitre 3: Graphes pondérés (version du 01/01/1970)
- Chapitre 4: Graphes orientés (version du 01/01/1970)
- Chapitre 5: Plus courts chemins (2) (version du 01/01/1970)
- Chapitre 6: Flots (version du 01/01/1970)
- Chapitre 7: Techniques algorithmiques (version du 01/01/1970)
Algorithmes vus au cours
- Parcours de graphes non orientés et applications
- Arbres couvrants, Dijkstra
- Algorithmes sur les graphes orientés
- Algorithmes pour le calcul de plus courts chemins (2)
- Algorithmes pour le calcul de flots
- Techniques algorithmiques
- Branch and bound
Feuilles de TD
Liens utiles
- Le site de Graphviz et la documentation du langage dot, comprenant la description des options des divers programmes de dessin.
Matériel de cours
Voici:- les notes de cours (version du 01/01/1970), en complément des slides ci-dessous;
- un résumé des commandes et programmes standards sous GNU / Linux (version du 01/01/1970).
Slides
Les slides sont en cours de réécriture. Vous pouvez déjà consulter les anciennes versions de l'an passé ci-dessous.Feuilles de TP
Vidéos
- Installer Ubuntu sur VirtualBox; téléchargez la dernière version d'Ubuntu et installez VirtualBox
Liens utiles
- Advanced Bash-Scripting Guide: une ressource très complète sur l'écriture de scripts bash.
- RegExr: pour se former aux expressions régulières.
- The Bandit wargame, pour apprendre à se servir du shell en s'amusant.
- The Linux Command Line, un livre disponible gratuitement en PDF couvrant la ligne de commande et les scripts shell.