Informations générales
La mailing-liste de ce cours est :
. Le cours se déroule le vendredi de 11h30 à 13h30 en salle 248E.
Le cours sera
évalué pour 60% par un projet (qui n'est pas du contrôle continu donc
obligatoire). Il sera évalué pour 40% par un examen.
Les travaux dirigés ont lieu le mercredi de 9h30 à 11h30 en salle
548C (ancienne salle T) et sont encadrés par Daniele Varacca.
Cours introductif
Les transparents du cours
et les points abordés :
-
- Définition (informelle) des objets en programmation
-
- Messages, principe de subsomption
-
- Taxonomie des langages
-
- Problèmes de l'extensibilité fonctionnelle, des messages multiples et
du raisonnement sur les objets
Cours 1 et 2 : C++
Les transparents du cours
et les points abordés :
- - Structure d'un programme
- - Espaces de noms
- - Définition d'une classe : syntaxe, encapsulation des membres
- - Définition des constructeurs
- - Méthodes et résolutions des appels
- - Surcharge des noms des méthodes et des fonctions
- - Héritage simple et multiple
- - Classes et fonctions amies
- - Coercion implicite
- - Recouvrement du type
- - Comportement exceptionnel des objets
- - Destructeur
- - Référence
- - L'opérateur d'affectation
- - Qu'est-ce que la programmation générique ?
- - Patrons de classe et de fonction
- - Bibliothèques utiles
Cours 3 : Modélisation objet
Les transparents du cours
et les points abordés :
- - Cas d'utilisation
- - Diagrammes statiques et dynamiques
- - Différence entre relation de généralisation et rôle
- - Principe de limitations des interférences
- - Encapsulation et interface
- - UML
Cours 4 : Patrons de conception
Les transparents du cours
et les points abordés :
- - Patrons de création, structure et comportement.
Cours 5 : Étude comparée de quelques langages
Les transparents du cours
et les points abordés :
- - C#: une surcouche à Java
- - Python: le dynamisme, ses avantages et ses inconvénients
- - Scala: des mécanismes réellement innovants (traits, pattern matching)
- - O'Caml : une vision fonctionnelle et structurelles des objets
Cours 6 : Programmation générique
Les transparents du cours
et les points abordés :
- - Différentes formes de polymorphisme (inclusion, adhoc, paramétrique,
paramétrique encadré, type partiellement abstrait)
- - Interaction entre la quantification de type et le sous-typage
Cours 7 : Contrats et preuves
Les transparents du cours
et les points abordés :
- - La programmation par contrat en Eiffel
- - La preuve de programmes
Le sujet du TD.
Fichiers utiles [ Makefile -
graphics.tar.gz ]