Programmation Objet avancée
ECTS : 3
Volume horaire : 21
Description du contenu de l'enseignement :
- 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.
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 :
Effective Java 2nd Edition - J. Bloch (1ère éd. traduite mais vieille). TRES BIEN.
Programmer en Java 6eme 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.