Ce dépôt contient l'ensemble des ressources du cours de CMO 2026 à Polytech Lille.
Ces cours sont basés sur l'excellent MOOC : The Advanced Object-Oriented Design and Development with Pharo ainsi que sur les supports de cours donnés par S. Ducasse et G. Polito à l’Université de Lille.
Le cours est composé de plusieurs activités :
- Des vidéos du MOOC Pharo à regarder avant chaque cours
- Des cours magistraux avec discussions autour des vidéos du MOOC
- Des travaux pratiques
Chaque semaine, un ensemble de vidéos du MOOC sera à regarder avant le premier cours. Nous reviendrons sur le contenu des vidéos à chaque début de cours, pour clarifier et consolider les notions théoriques et conceptuelles. Puis, nous appliquerons ces notions au travers d'exercices pratiques guidés et exploratoires.
Chaque semaine, un devoir surveillé sera proposé en tout début de séance, et portant sur le contenu du cours précédent.
Chaque séance est associée à un répertoire portant le même nom que celui du programme (ci-après), et dans lequel vous trouverez le programmé détaillé de la séance, le matériel et les exercices qui seront pratiqués lors de la séance.
Avant chaque séance, ils vous est demandé de lire et suivre les instructions (vidéos à regarder, exercices...) du fichier preparation.md de chaque séance. Cette préparation est obligatoire et influera nécessairement sur votre compréhension du cours, des exercices ainsi que sur les notes au DS.
- 3 devoirs surveillés portant sur le contenu et les exercices du cours (30% de la note basée sur les 3 meilleurs DS)
- le vendredi 27 mars 2026
- le vendredi 03 avril 2026
- le mardi 7 avril 2026
- 1 TP noté en séance (à déterminer)
- 1 examen sur table de 1h30 (séance du 10 avril 2026, de 15h30 à 17h45)
- [S01] - 16/03/2026. Introduction : Conception et Modélisation Objet avec Pharo
- [S02] - 20/03/2026. Dispatch, Loops, Collections, Iterators and Graphics
- [S03] - 27/03/2026. Double Dispatch
- [S05] - 03/03/2026. Delegation and Null Checks
- [S06] - 31/03/2026. Delegation and Null Checks
- [S07] - 07/04/2026. Couplage, Encapsulation, Sous-Typage et Typage
- [S08] - 10/04/2026. Séance de révision (2 heures).
- [DS] - 10/04/2026. Examen sur table (1h30).
La totalité du contenu électronique du cours se trouve en ligne :
- Le Mooc Pharo (en Français) : https://mooc.pharo.org/
- Le Mooc "Advanced Object-Oriented Design" (en Anglais) : https://advanced-design-mooc.pharo.org
- Les exercices sont, sauf indication, ici (en anglais) http://rmod-pharo-mooc.lille.inria.fr/AdvancedDesignMooc/2024-04-01-CompanionExercise.pdf