Programmation orientée objets

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.
  1. 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]

Laisser un commentaire

Défiler vers le haut
Need Help? Chat with us