Licence Professionnelle en Génie Logiciel (GELO) › Licence 2 › GELO · S4 · UE3 — Développement Avancé & POO
Programmation Orientée Objet (Java/C++)
Présentation
Ce cours de quatrième semestre fait passer l’étudiant de la programmation procédurale en C à la programmation orientée objet (POO) avec le langage Java (version 17 LTS ou ultérieure). Il couvre les fondements (classes, encapsulation, héritage, polymorphisme), les abstractions de haut niveau (interfaces, classes abstraites, généricité, collections), la robustesse et la performance (exceptions, entrées/sorties, sérialisation, multithreading) et enfin la qualité de conception (principes SOLID, design patterns). Les exemples s’appuient sur des situations nigériennes : comptes Mobile Money, pharmacie à Niamey, microfinance, scolarité d’EPI-NIGER. Les notions de C++ (classes, héritage, fonctions virtuelles) sont évoquées en parallèle lorsque la comparaison éclaire le concept.
Objectifs d’apprentissage
- Maîtriser les concepts fondamentaux de la POO : encapsulation, héritage, polymorphisme, abstraction.
- Développer des applications Java orientées objet avec gestion des exceptions et des collections.
- Appliquer les principes SOLID et les patterns de conception (Design Patterns) classiques.
- Concevoir et implémenter une application Java complète avec architecture en couches.
Prérequis
Langage C — Structures & Fichiers (LGC2132, GELO S2) ; Algorithmique Avancée & Complexité (ALC2131). Il faut savoir écrire des fonctions, manipuler tableaux, structures et fichiers, et raisonner sur la complexité (notation O).
Plan du cours
- Leçon 1 — Fondements de la POO en Java
- Leçon 2 — Interfaces, Classes Abstraites et Généricité
- Leçon 3 — Exceptions, I/O et Multithreading
- Leçon 4 — Design Patterns et SOLID
Travaux pratiques
- Exercices de programmation Java à chaque leçon (JDK 17+, IDE IntelliJ IDEA, Eclipse ou VS Code).
- TP projet : application Java de gestion de bibliothèque avec architecture MVC et tests JUnit (leçon 4).
Modalités d’évaluation
Volume horaire : CM 20 h, TD 10 h, TP 30 h, TPE 20 h, soit 80 h de charge totale ; 4 crédits. Évaluation CC + ET : contrôle continu 40 % (TP notés, projet bibliothèque, quiz), examen terminal 60 % ; nature mixte (écrit et pratique sur machine).
Bibliographie
- Bruce Eckel, Thinking in Java, MindView (disponible gratuitement).
- E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley.
- Joshua Bloch, Effective Java, 3e édition, Addison-Wesley.
- Robert C. Martin, Clean Architecture, Prentice Hall.
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
Programme
- 🔒 Leçon 1 — Fondements de la POO en Java · 120 min
- 🔒 Leçon 2 — Interfaces, Classes Abstraites et Généricité · 120 min
- 🔒 Leçon 3 — Exceptions, I/O et Multithreading · 120 min
- 🔒 Leçon 4 — Design Patterns et SOLID · 150 min
- 🔒 Quiz — Programmation Orientée Objet (Java/C++) · quiz
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
