Programmation Fonctionnelle Avancée
But du cours
Ce cours est la suite du cours de L2 « Introduction à la programmation fonctionnelle » et d'une partie du cours de L2 « Outils Logiques et Algorithmiques ». On y présente :
- Le paradigme fonctionnel et le langage OCaml (rappel)
- L'utilisation de structure de données persistentes
- La programmation récursive et son utilisation dans des algorithmes avancés (diviser pour régner, alogorithme avec retour arrière)
- L'interaction entre programmation fonctionnelle est aspects impurs (structures de données mutables, boucles, …)
- Outils de génie logiciels propres à OCaml : organisation du code avec les modules et les foncteurs, utilisation de dune
- Concepts avancés : monade d'erreur et de parallélisme, transformations CPS
Le langage utilisé dans le cours est le langage OCaml.
Plan du cours, supports de cours et de TP
- Cours 1 : Présentation, rappels sur le langage OCaml.
cours 1 en HTML5
, cours 1 en
PDF et version
imprimable
.
- Le sujet du TP 1.
- Le L'archive du TP 1 à compléter
- Le corrigé du TP 1
- Cours 2 : Rappels sur le langage OCaml (fin).
cours 2 en HTML5
, cours 2 en
PDF et version
imprimable
.
- Cours 3 : Arbres binaires de recherche (1). cours 3 en HTML5 , cours 3 en PDF et version imprimable .
Examens passés
- 2023-2024, session 1 :
- le sujet
- le corrigé (bouton droit, enregisrer sous)
- le corrigé en ligne avec coloration syntaxique
- L'aide mémoire intégré aux sujets
Information pratiques
- Cours : mardi après-midi, Petit amphi du PUIO.
- TP : jeudi, vendredi et lundi après-midi
- Chargés de TP : Paul Patault (jeudi), François Pirot (vendredi, lundi), Clémence Sebe (vendredi).
- Les supports de cours sont mis en ligne au plus tard la veille au soir
- Les corrigés sont mis en ligne tous les mardi, avant le cours