INF7845 - Principes avancés des langages à objets
Session d’hiver 2024
Documents
- Horaires et locaux
- Plan de cours
- Notes de cours de Roland Ducournau : ancienne version, nouvelle version
- Mon mémoire de thèse : les chapitres 3 et 4 sont pertinents dans le cadre du cours.
- Le site du langage Nit avec le code, la doc et les exemples.
Échéancier approximatif
- 9 janvier: Concepts fondamentaux
- 15 janvier: Spécialisation
- 23 janvier: Typage statique
- 30 janvier: Spécialisation multiple, problèmes avancés
- 5 février: Laboratoire sur la spécialisation et sous-typage
- 12 février: Généricité et typage statique avancé
- 29 février: Laboratoire sur la généricité
- 27 février: Relâche
- 5 mars: Examen
- 12 mars: méta-programmation
- 19 mars: Correction examen + présentation d’article
- 26 mars: Laboratoire sur la méta-programmation + livrable 1 du projet à remettre
- 2 avril: Laboratoire sur le raffinement de classes
- 9 avril: projet: présentation livrable 2
- 16 avril: à déterminer
- 23 avril: projet: présentation livrable 3
Laboratoires
Dans le cadre du cours, 4 laboratoires notés seront mis en place.
Une connaissance minimale préalable sera demandée (créer des classes, compiler, exécuter). Des connaissances spécifiques seront indiquées environ une semaine avant le début des lab.
- Rappel d’installation et de compilation pour les langages étudiés en lab.
- Lab1: spécialisation et sous-typage: Java (et/ou C#), C++ (et/ou Nit), Python 3 et Ruby
- Lab2: généricité: Java, C#, C++, Python3 (et/ou Ruby) et Nit (et/ou Eiffel)
- Lab3: meta: Ruby (ou Python3) et Java (et/ou C#)
- Lab4: raffinement: Nit et Java (ou C#)
Présentation d’articles
- Préparer une présentation orale avec support visuel (diapositiven en pdf)
- 20 minutes + 10 minutes de questions
- Contenu :
- Mise en contexte : année, domaine de la conférence/ du journal
- Problématique générale, état de l’art
- Question de recherche, cadre de la recherche (scope)
- Méthodologie, réalisation, expérimentation
- Validation
- Résultats et discussion
- Limites