Programmation Objet avancée

Ects : 3

Enseignant responsable :

Volume horaire : 21

Description du contenu de l'enseignement :

  1. Introduction à la programmation objets avancée: Rappels des concepts classes, héritage, interface, exceptions.
  2. Définition et utilisations des classes abstraites et interfaces
  3. Application au traitement des collections.
  4. Types paramétrés et wildcards.
  5. Traitement des processus (thread).
  6. Introduction à la programmation de tâches s’exécutant en parallèle.
  7. Gestion de ressources partagées entre processus.
  8. Modélisation objet des systèmes d'information en utilisant les design patterns.
  9. 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 de programmation 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

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.