Programmation orientée objets GTI3203
Enseignant:
Email:
Durée totale du cours: 34.5 H (22.5 Projet)
Semestre : 2
Nombre de crédits : 2
| Modules
spécialisés |
Modules de
base |
Sciences et techniques de
l’ingénierie |
Préparation à la carrière professionnelle |
| |
|
X |
|
| Nombre d’heures |
Activités hors classe |
|
| 45 |
38 |
|
| cours |
TD |
TP |
| 16.5 |
6 |
12 |
|
|
|
|
|
| Code |
: GTI3203 |
Programmation orientée objets
|
Objectifs d’apprentissage et compétences visées
Initiation au paradigme Objet et apprentissage des principes de base de la programmation orientée objet.
Apprendre à identifier les objets et le classes dans un problème et à résoudre un problème grâce à un ensemble d’objets interagissant
Contenu du cours
Le plan de cours
Semaine 1-2: Introduction à la programmation orientée objet
Concepts de base de la POO : classes, objets, encapsulation, héritage, polymorphisme.
Avantages de la POO dans le développement logiciel et les applications de télécommunications.
Semaine 3-4: Classes et objets
Création de classes et d’objets en utilisant les langages de programmation orientée objet (par exemple, Java, Python, C++).
Attributs, méthodes et constructeurs de classes.
Semaine 5-6: Encapsulation et abstraction
Encapsulation : protection des données avec des accesseurs et des mutateurs.
Abstraction : création de classes abstraites et d’interfaces pour définir des contrats.
Semaine 7-8: Héritage et polymorphisme
Héritage : créer des hiérarchies de classes, hériter de méthodes et d’attributs.
Polymorphisme : utiliser des méthodes polymorphes pour traiter des objets de différentes classes de manière homogène.
Semaine 9-10: Principes SOLID en POO
Application des principes SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) dans la conception orientée objet.
Semaine 11-12: Gestion de la mémoire et du cycle de vie des objets
Allocation et libération de mémoire pour les objets.
Gestion du cycle de vie des objets : constructeurs, destructeurs, gestion des références.
Semaine 13-14: Travaux pratiques et projets
Réalisation de projets pratiques mettant en œuvre les concepts de la POO.
Conception, implémentation et test d’applications de télécommunications en utilisant les principes de la POO.
Semaine 15-16: Travaux pratiques avancés et évaluation
Travaux pratiques avancés pour approfondir les compétences en programmation orientée objet.
Évaluation des projets, présentations et discussions sur les concepts abordés
Contenu « Travaux Pratiques »
TP 01 : Mise en route
Installation de l’environnement de travail
Programmation en mode Console HelloWorld
Types de données primitifs, constantes, les opérateurs
Les méthodes statiques
TP 02 : Classes et objets
Constructeurs
Propriétés des attributs
Les attributs privés/les constructeurs multiples
TP 03 : Tableaux & Chaînes de caractères
Tableau à une dimension
Tableau à deux dimensions
Class String
Class StringBuffer
Tableau d’objet
TP 04 : Héritage
TP 05 : Héritage/Classe abstraite
TP 06 : Interface
TP 07 : Les exceptions
Gestion des exceptions sans propagation
Gestion des exceptions avec propagation
Instruction throw
Définition de nouvelles exceptions
Le bloc finally
TP 08 : Les entrées/sorties
Manipulation de fichier texte
Manipulation de fichier binaire
Sérialisation des objets
Méthodes d’enseignement et d’apprentissage
Enseignement frontal (magistral) avec des exemples à résoudre en commun.
Exercices théoriques et études de cas (présentation et discussion).
Travaux pratiques (laboratoire)
Travaux à faire à domicile (mini-projet, exposé, compte-rendu, …)
Connaissances et compétences pré-requises
Algorithmique et structures de données.
Programmation C.
Références bibliographiques
Un polycopié (Notes du cours) de l’enseignant sera disponible.
Les recommandations bibliographiques suivantes doivent être considérées :
James Gosling, Bill Joy, Guy L. Steele, Jr., Gilad Bracha, and Alex Buckley.
The Java Language Specification, Java SE 7 Edition. Addison-Wesley Professional, 1st edition, 2013.
- Boyarsky and S. Selikoff. OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808. Wiley, 2014, ISBN : 9781118957424.
Anne Tasso, Le Livre De Java Premier Langage : Avec 90 Exercices Corrigés, Eyrolles, 2011, ISBN : 2212133073
Modalité d’évaluation
40% Contrôle continu (TP noté, Test, Assiduité, Devoir surveillé, travaux non présentiels, …)
60% Examen semestriel
TP, Test, Assiduité, Travaux non présentiels, Mini-projets, … = 40% de Contrôle Continu
Résultats d’apprentissage :
A l’issue de cette matière, l’étudiant doit avoir les compétences suivantes :
Maîtrise des concepts de la POO :
Comprendre les concepts fondamentaux de la programmation orientée objet, y compris les classes, les objets, l’encapsulation, l’héritage et le polymorphisme.
Conception de classes et d’objets :
Créer des classes et des objets en utilisant les langages de programmation orientée objet.
Définir des attributs, des méthodes et des constructeurs pour les classes.
Encapsulation et abstraction :
Mettre en œuvre l’encapsulation en protégeant les données internes des classes avec des accesseurs et des mutateurs.
Créer des classes abstraites et des interfaces pour abstraire les fonctionnalités.
Utilisation de l’héritage :
Appliquer l’héritage pour créer des hiérarchies de classes et réutiliser le code existant.
Hériter de méthodes et d’attributs et étendre les fonctionnalités.
Mise en œuvre du polymorphisme :
Appliquer le polymorphisme pour traiter des objets de différentes classes de manière homogène.
Utiliser des méthodes polymorphes pour permettre une flexibilité dans l’exécution.
Application des principes SOLID :
Appliquer les principes SOLID (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) pour créer des codes bien structurés et évolutifs.
Gestion de la mémoire et des références :
Comprendre l’allocation et la libération de mémoire pour les objets.
Gérer correctement le cycle de vie des objets, y compris la gestion des références.
Conception d’applications orientées objet :
Conception et implémentation d’applications de télécommunications en utilisant les concepts de la programmation orientée objet.
Utiliser les compétences en POO pour créer des applications modulaires et extensibles.
Analyse et résolution de problèmes :
Appliquer les concepts de la POO pour analyser et résoudre des problèmes de conception et d’implémentation.
Travail en équipe :
Collaborer efficacement avec d’autres membres de l’équipe pour concevoir et implémenter des solutions orientées objet.
Pensée critique et créativité :
Appliquer une pensée critique pour concevoir et optimiser des solutions logicielles innovantes à l’aide de la programmation orientée objet.
Présentation et communication :
Présenter et communiquer efficacement les concepts et les résultats liés à la programmation orientée objet à travers des rapports et des discussions.
[lifterlms_course_continue_button]