Je suis responsable de ce module, qui arrive après celui de POO. L'objectif est de permettre aux étudiants de devenir de vrais programmeurs en renforçant leurs compétences à la fois sur des techniques algorithmiques importantes comme la récursivité, sur des notions de base (efficacité et correction d'un programme) et sur les outils classiques (debogueur, profiler). L'objectif est d'avoir un point de vue à la fois théorique et pratique (preuve de programme vs. deboguage ou complexité algorithmique vs. profiling).
Bibliographie
Supports de cours
Vérifiez dans chaque document qu'ils sont à jour (la date est sur la première page). Normalement, les quatre fichiers ci-dessus devraient être de la même version, mais il m'arrive de me tromper lors des mises à jour. Signalez moi tout problème afin que je puisse le corriger, s'il vous plait.
Sujets des TD et TP
- TD1: Complexité algorithmique
- TP1: exercices sur les tris de la PLM
- TD2 : Récursivité et chaînes récursives
- TP2: exercices sur la récursivité de la PLM
- TDP3: Récursivité (dichotomie et sac à dos)
Fichiers fournis : knapsack.jar (binaire pour expérimenter), knapsack.scala (fichier source à compléter). - TDP4: Récursivité (pyramides)
- TDP5: Récursivité (récipients)
- TD6: Dérécursiviation
- TD7: Preuves
Sujets des projets
- 2008-2009: Puzzle
- (il n'y a pas eu de projet en 2009-2010 car j'ai mis trop de temps à le préparer)
- 2010-2011: Boggle. Un fichier ODS utilisable.
Évaluations passées
- 08/09 Examen
- 09/10 Examen intermediaire
- 09/10 Examen -- (correction)
- 11/12 Examen
- 12/13 Examen
- 13/14 Examen; Consolidation -- (correction)