Introduction à la Programmation Fonctionnelle
Aide mémoire pour l'examen
Un aide mémoire est disponible pour l'examen et le TP noté.
Le sujet de première session 2020-2021avec un corrigé intégré est disponible ici.
Le sujet de première session 2021-2022 (sans le corrigé) est disponible ici.
Le sujet de première session 2022-2023 est disponible ici, avec un corrigé pour l'exercice 3 (le problème).
Projet IPF
- Le sujet du projet
- La feuille de la séance 1
- La feuille de la séance 2
- La feuille de la séance 4
- Le squelette de code
- Des supports de cours sur git
But du cours
Ce cours est une introduction générale à la programmation fonctionnelle. On y présente :
- Le paradigme fonctionnel
- L'utilisation de structure de données persistentes
- La programmation récursive
Le langage utilisé dans le cours est le langage OCaml.
Travailler avec OCaml
Les tutoriels suivants permettent d'installer OCaml sur votre machine ou de travailler à distance avec OCaml sous l'environnement JupyterHub. Un glossaire liste les termes utilisés, n'hésitez pas à le consulter si certains termes semblent obscurs.
- Installation d'OCaml + VSCode sous Windows
- Installation d'OCaml sous WSL + VSCode sous Windows
- Installation d'OCaml sous MacOS
- Installation d'OCaml sous Linux (à venir)
- Utilisation de JupyterHub pour OCaml
Plan du cours, supports de cours et de TP
- Cours 1 : Présentation, introduction au langage OCaml,
types de base, fonctions récursives.
cours 1 en HTML5
, cours 1 en
PDF et version
imprimable
.
- Le sujet du TP 1.
- Le corrigé du TP 1
- Cours 2 : Fonctions récursives avancées,
inférence de types
cours 2 en HTML5
, cours 2 en
PDF et version
imprimable
.
- Le sujet du TP 2.
- Le corrigé du TP 2
-
Cours 3 : Types structurés, filtrage, polymorphisme, ordre supérieur
cours 3 en HTML5
, cours 3 en
PDF et version
imprimable
.
- Le sujet du TP 3.
- Le corrigé partiel du TP 3
- Le corrigé du TP 3
-
Cours 4 : Exceptions, listes (1)
cours 4 en HTML5
, cours 4 en
PDF et version
imprimable
.
- Le sujet du TP 4.
- Le corrigé partiel du TP 4
- Le corrigé du TP 4
-
Cours 5 : Fonctions anonymes, Itérateurs, Application partielle
cours 5 en HTML5
, cours 5 en
PDF et version
imprimable
.
- Le sujet du TP 5.
- Le fichier queries.ml.
- Le fichier movies.csv.
-
Cours 6 : Algorithmes avancés sur les listes
cours 6 en HTML5
, cours 6 en
PDF et version
imprimable
.
- Le sujet du TP 6.
- Le corrigé du TP6
Information pratiques
- Cours : mercredi après-midi, amphi H4, batiment 336.
- TP : mercredi après-midi, jeudi matin et après-midi
- Chargés de TP : Antoine Lanco, Loïc Le Mogne, Alexandrina Korneva, Christine Paulin, Nathan Thomasset.
- Les supports de cours sont mis en ligne au plus tard la veille au soir
- Les corrigés sont mis en ligne tous les vendredi après-midi