Équipe enseignante — Hiver 2026

Ressources

Évaluation et échéancier des rendus

Description Pondération Échéance
Quiz 1* 5% Semaine 4
TP0 10% Semaine 6
Quiz 2* 5% Semaine 7
Examen intra 30% Semaine 8
TP1 10% Semaine 10
Quiz 3* 5% Semaine 13
Examen final 30% Semaine 15
TP2 10% Semaine 15
* Seuls les deux meilleurs quiz sur trois seront considérés.

Conditions de réussite:
La réussite du cours requiert une note cumulative minimale de 50 % ainsi qu’une moyenne d’au moins 50 % aux examens (intra et final). Si l’une de ces conditions n’est pas remplie, le cours est considéré comme non réussi, indépendamment de la note cumulative.

Notes de cours

Le code source des exemples donnés dans le cours est disponible dans le dépôt correspondant.

Semainier des séances

# Semaine Diapositives Laboratoires
1 12-18 Janvier Chapitre 0 : Introduction - pdf 🖼
Chapitre 1 : Bases de la programmation fonctionnelle - pdf 🖼
Laboratoire 1
(solution)
2 19-25 Janvier Chapitre 2 : Fonctions et récursivité - pdf 🖼
Exercice pour le prochain cours: Résoudre les deux exercices de λ-calcul à la fin du chapitre 2 (pages 94 et 95)
Laboratoire 2
(solution)
3 26 Janvier - 1 Février Chapitre 3 : Types fonctionnels - pdf 🖼
Énoncé du TP0
Laboratoire 3
(solution)
4 2-8 février Chapitre 3 : Types fonctionnels (suite) - pdf 🖼
Chapitre 4 : Fonctions d'ordre supérieur - pdf 🖼
Exemple avec les types records
Exercice pour le prochain cours: implémentation de la fonction filter_map (page 46 du chapitre 4)
Quiz 1 (sur Moodle)
Laboratoire 3 (suite)
(solution)
5 9-15 Février Retour sur le quiz 1
Chapitre 4 : Fonctions d'ordre supérieur (suite)
Exemples faits dans le cours
Laboratoire 4
(solution)
6 16-20 Février Chapitre 5 : Encapsulation et modules - pdf 🖼
Remise du TP0 (sur Gitlab)
Énoncé du TP1
Laboratoire 5
7 23 Février - 1 Mars Chapitre 6 : Preuves de programmes - pdf 🖼
Quiz 2 (sur Moodle)
Laboratoire 6
2-8 Mars SEMAINE DE RELÂCHE Pas de labo
8 9-15 Mars Examen intra - 9 Mars de 18:00 à 21:00 (Local à venir) Pas de labo
9 16-22 Mars Correction de l'intra
Chapitre 7 : Programmation logique - pdf 🖼
Laboratoire 7
10 23-29 Mars Chapitre 7 : Programmation logique (suite)
Remise du TP1 (sur Gitlab)
Énoncé du TP2
Laboratoire 8
11 30 Mars - 5 Avril Chapitre 11 : Programmation par contraintes - pdf 🖼 Laboratoire 9
12 6-12 Avril CONGÉ DE PÂQUES Laboratoire 10
13 13-19 Avril Chapitre 8 : Interprétation d'un langage fonctionnel - pdf 🖼
Quiz 3 (sur Moodle)
Laboratoire 10
14 20-26 Avril Chapitre 9 : Typage - pdf 🖼 Laboratoire 11
15 27 Avril - 3 Mai Examen final - 27 avril de 18:00 à 21:00 (Local à venir)
Remise du TP2 (sur Gitlab)
Pas de labo

Guide de style

Pour les évaluations, la qualité de votre code sera évaluée en fonction du guide de style du cours.

Référence

Pour la partie en OCaml :

Pour la partie en Prolog :

Pour dessiner des arbres de résolutions, voir sldnfdraw-dot.