Programmation fonctionnelle
Cette page est dédiée au cours "Programmation fonctionnelle", L1 groupe C, Licence Informatique, Univ. Paris 8, 2023.
Pour plus de détails concernant la planification, voir : ici.
Modalités d'évaluation
L'évaluation sera basée sur les éléments suivants :
-
Trois notes \(n_1,n_2,n_3\) sur des évaluations écrites, en commun avec les autres groupes. Les dates des évaluations écrites vous seront communiquées suffisamment à l'avance.
-
Une note \(n_4\) sur les rendus de certaines séances de TP sélectionnées.
La note finale sera la moyenne des trois notes maximales parmi \(n_1, n_2, n_3,n_4\).
Matériel de cours
-
Séance #0 : Introduction à la programmation fonctionnelle et Racket, fonctions, récursion, identificateurs et liaisons, paires et listes, booléens et conditionnels. slides exercices
-
Séance #1 : Plus sur la récursion, récursion terminale. slides exercises
-
Séance #2: Exercices sur les listes, les fonctions map et fold. slides exercises
-
Séance #3: Algorithmes de tri et de recherche : tri par sélection, tri à bulles, recherche binaire. slides exercises
-
Séance #6: Traversées d'arbres, introduction aux arbres binaires de recherche. slides exercises
-
Séance #7: 2htdp/image, primitifs geometriques. slides exercises (par Benjamin Dupont)
-
Séance #8: 2htdp/image, turtle graphics. slides (par Benjamin Dupont)
Ressources
-
Documentation Racket: Ressource essentielle avec des tutoriels, de la documentation sur les bibliothèques de base, etc.
-
Divers livres sur Racket: Allant de l'introduction au matériel sophistiqué sur Racket.
-
Structure and Interpretation of Computer Programs, Harold Abelson, Gerald Jay Sussman, Julie Sussman: Introduction classique à la programmation, avec de nombreux exemples en Scheme qui sont pour la plupart valables en Racket aussi, peut-être avec quelques réécritures minimales nécessaires. Des lectures d'accompagnement sont également disponibles en ligne.