Programmation Avancée

ENS Paris-Saclay, L3, 2023-2024

Les cours sont donnés par Jacques-Henri Jourdan et Armaël Guéneau, et les TPs par Arnaud Golfouse.

Informations pratiques

Les cours et TP se passent le vendredi . Les cours sont de 11h15 à 13h15 en salle 1Z61 et les TPs de 14h15 à 16h15 en salle 1S53 (cf l'emploi du temps).

Afin de simplifier l'installation des outils nécessaires à ce cours, il est conseillé de suivre les instructions décrites sur cette page.

Évaluation

L'évaluation de ce cours se fait avec un examen final (40%), un projet (40%) et le contrôle continu des TPs à rendre (20%: 6 meilleures notes retenues sur 12 TPs).

La seconde session (rattrapage) est un oral, dont la note compte pour 40%, les notes du projet (40%) et du contrôle continu (20%) étant reportées.

Projet

Le projet est disponible ici : sujet et code de démarrage.

Le projet est à rendre avant dimanche 19 mai 2024, à 23h59, par email aux deux intervenants du cours.

Cours 0 (26 janvier) : présentation, installation des machines

Cours 1 (2 février) : OCaml : modèle d'exécution et représentation des valeurs

Cours 2 (9 février) : modules

Cours 3 (16 février) : introduction à Rust (types, propriété, emprunts et durées de vie)

Vacances (23 février)

Cours 4 (1 mars) : surcharge

Cours 5 (8 mars) : programmation orientée objet

Cours 6 (15 mars) : programmation avancée en Rust

Cours 7 (22 mars) : GADTs

Cours 8 (29 mars) : gestion mémoire

Cours 9 (5 avril) : effets et monades

Cours 10 (12 avril) : fonctions comme valeurs de première classe

Vacances (19 avril)

Cours 11 (26 avril) : pratique de Rust

Semaine d'aide au projet (3 mai)

Vacances (10 mai)

Cours 12 (17 mai) : parallélisme et concurrence