HLIN505 Modélisation et Programmation par Objets 2

Modélisation et Programmation par Objets 2 (HLIN505)

Licence Informatique, L3, 5 crédits européens

Responsables : Marianne Huchard, Clémentine Nebut

Intervenants à confirmer : Marianne Huchard (cours), Clémentine Nebut (cours + groupe B et MI), Abdelhak-Djamel Seriai (groupe C), Jessie Carbonnel (groupe A)

15h cours, 15h TD, 19.5h TP

MCC : 70% écrit, 30 % contrôle continu

Pré-requis : Module Modélisation et programmation par objets (1) (Maîtrise de la conception de modèles statiques et diagrammes de cas d'utilisation en UML. et Eléments de programmation en Java).

Mots-clefs : modélisation par objets, programmation par objets, UML, Java, diagrammes dynamiques, généricité, sérialisation, introspection, événements, sous-typage

Description : Le module développe la modélisation et la programmation par objets, avec pour cadre le langage Java. Les concepts de classes, d'instance et de spécialisation sont revus plus en détails (deux premiers cours de révision et de remise à niveau pour des étudiants extérieurs pour assurer la maîtrise de la liaison dynamique et de la liaison statique). Puis les aspects avancés de la programmation par objets dans un langage typé statiquement sont étudiés : généricité et les relations entre la spécialisation, la généricité et le sous-typage ; la programmation par contrats avec des interfaces, des assertions et des exceptions ; Eléments de méta-programmation avec la notion et la pratique de l'introspection ; introduction à la programmation événementielle et graphique et ses relations avec la programmation par objets ; compréhension des mécanismes de sérialisation dans le cadre d'un langage à objets. On complètera le cours de modélisation et de programmation niveau 1 de L2 par la définition des diagrammes dynamiques en UML et leur relation avec le code Java et une initiation aux diagrammes de composants et de déploiement.

Documents : disponibles sur MOODLE (Cours MPO2) au fur et à mesure de l'avancement ou attachés à cette page pour les premiers (le temps de votre inscription sur MOODLE).

Pour les étudiants débutants :

Salles  sur le planning de la FDS

Programme indicatif : 

S37 - Lundi 11 septembre - 8h/13h

Cours 1 (MH) - Introduction, principes généraux sur les classes et instances, classes internes

TD (CN) uniquement pour le groupe math-info  - remise à niveau UML-Java - à confirmer

TP (CN) uniquement pour le groupe math-info  - remise à niveau UML-Java- à confirmer

Jeudi 14 septembre - 9h45/13h

TD (CN) uniquement pour le groupe math-info - remise à niveau UML-Java - à confirmer

TP (CN)  uniquement pour le groupe math-info  - remise à niveau UML-Java - à confirmer

s38 - Lundi 18 septembre - 8h/13h

Cours  2 (MH) - Héritage, spécialisation versus sous-typage

TD 1/TP 1 (JC, CN, DS) - Héritage et classes internes

s39 - Lundi 25 septembre - 8h/13h

Cours 3 (MH) - Assertions et Exceptions

TD 2/TP 2 (JC, CN, DS) - Assertions et Exceptions

s40 - Lundi 2 octobre - 8h/13h

Cours 4 (MH) -  Interfaces/annotations

TD 3/TP 3 (JC, CN, DS) - Interfaces/annotations

s41 - Lundi 9 octobre - 8h/13h

Cours 5 (CN) - Tests

TD 4/TP 4 (JC, CN, DS) - Test

s42 - Lundi 16 octobre - 8h/13h

Cours 6 (MH) - Généricité

TD 5/TP 5 (JC, CN, DS) - Généricité

s43 - Lundi 23 octobre - 8h/13h

Cours 7 (MH) - Itérateurs versus Lambdas / Stream / Collector

TD 6/TP 6 (JC, JB, DS) - Généricité

s44 - Lundi 30 octobre - vacances universitaires

s45 - Lundi 6 novembre- 11h30/13h

PAS DE COURS -

TD 7 (CN, DS) - Contrôle continu (1h30) - Prog. évènementielle (1h30)

s46 - Lundi 13 novembre - 8h/13h

Cours 8 (MH) - Streams, collectors, lambdas expressions

TD 8/TP 8 (JB, CN, DS) - Itérateurs, streams

s47 - Lundi 20 novembre - 8h/13h

Cours 9 (MH) - Diagrammes dynamiques

TD 9/TP 9 (JC, CN, DS) -  Diagrammes dynamiques

s48 - Lundi 27 novembre - 8h/13h

Cours 10 (MH) - Introspection

TD 10/TP 10 (JC, CN, DS) - Introspection

s49 - Lundi 4 décembre - 9h45/11h15 ou 11h30/13h

Pas de cours

TD 11 (JC, CN, DS) - Correction du contrôle continu (1h30)

s50 - Lundi 11 décembre - 11h30/13h

Pas de cours

TD/TP 12 (JC, CN, DS) - Prog. évènementielle (1h30)

s51 - Lundi 18 décembre - 11h30/13h

Pas de cours

Pas de TD/TP

Dernière mise à jour le 23/10/2017