Programmation objet avancée
Enseignant responsable :
Volume horaire : 36Description du contenu de l'enseignement :
Volume horaire : CM : 18h TD : 13h30 TP : 4h30
- Introduction à la programmation objets avancée: Rappels des concepts classes, héritage, interface, exceptions.
- Définition et utilisations des classes abstraites et interfaces
- Application au traitement des collections.
- Types paramétrés et wildcards.
- Traitement des processus (thread).
- Introduction à la programmation de tâches s’exécutant en parallèle.
- Gestion de ressources partagées entre processus.
- Modélisation objet des systèmes d'information en utilisant les design patterns.
- Conception et gestion de bases de données relationnelles et développement d'une application JAVA pour MAJ la BD.
Pré-requis recommandés :
Avoir quelques connaissances en langage orienté objets comme C++, Python ou autre langage objet.
Pré-requis obligatoires :
Maîtriser les concepts de classes et objets ainsi que les modèles UML (diagramme de classe, cas d'utilisation, objets).
Compétence à acquérir :
- Consolider les bases en programmation objets et particulièrement en langage JAVA 8 et plus.
- Faire de la programmation concurrente et parallèle (multi-threading).
- Modélisation de système d'information en utilisant les design patterns pour résoudre des problèmes récurrents.
- Définir les spécifications fonctionnelles d'un système d'information et savoir les automatiser à travers une application JAVA.
- Modéliser une base de données relationnelle et la gérer à travers une application JAVA.
Mode de contrôle des connaissances :
Projet individuel (Pr) à réaliser chez soi pour une durée d'un mois ou un mois et demi. Ce projet consiste à automatiser certaines fonctionnalités d'un système d'information proposé et de gérer toutes les données relatives à ce dernier à travers une BD.
Une note de contrôle continu (CC) individuelle à préciser en début de cours.
Un examen sur table individuel (E).
Note d'enseignement = 0,1CC + 0,3Pr + 0,6E
Bibliographie, lectures recommandées
Programmer en Java 6e Edition - C. Delannoy. Java in a nutshell - D. Flanagan. Thinking in Java - B. Eckel. Programmation concurrente en Java - B. Goetz. Tête la première, Design Patterns - E. Freeman et al.