Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF4253  Gr. 01
Titre : Programmation orientée objet
Session : Automne 2005   Horaire et local
Professeur : Benyahia, Ilham
1. Description du cours paraissant à l'annuaire :

Objectifs

Au terme de cette activité, l'étudiant(e) sera en mesure : de mettre en pratique les techniques de programmation orientée objet et de développer des applications dans une approche orientée objet.

Contenu

Introduction au paradigme de programmation orientée objet; types abstraits et encapsulation de données; objets, classes, méthodes, communication par messages; spécialisation et généralisation, héritage simple, héritage multiple; surcharge, généricité, polymorphisme. Illustration avec les librairies (JDK, STL ou similaire). Illustration sommaire des différents concepts dans des langages de programmation orientée objet.
2. Objectifs spécifiques du cours :
Permettre à l'étudiant de maîtriser les apports spécifiques à la programmation par objet. Lui permettre aussi d'appliquer les différentes phases de résolutions menant à l'implémentation d'un programme mettant en oeuvre le paradigme de la programmation par objet et de l'environnement JDK utilisé pour ce cours.
3. Stratégies pédagogiques :
  • Cours magistraux avec des illustrations des concepts ou des démonstrations d'applications en java utilisant la librairie JDK. Les étudiants pourront mettre en application les concepts enseignés durant le déroulement du cours.
  • Des séances de laboratoire sont organisées au début de la session spécialement pour un apprentissage intensif du langage Java.
  • Des travaux pratiques seront réalisés par les étudiants pour renforcer leur compréhension durant les séances de laboratoire.
  • L'environnement WebCT sera utilisé pour toute communication avec la professeure (tous les documents du cours y seront déposés).
4. Heures de disponibilité ou modalités pour rendez-vous :
 
5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Introduction de l'objet et du paradigme de programmation orientée objet.

Notions du langage java.

12 sept. 2005 
2    Fonctionnement des principaux concepts du paradigme objet : objets, classes, méthodes, envoi de messages, encapsulation, héritage et polymorphisme. 19 sept. 2005 
3    Étude du concept d'encapsulation : notion d'accès (interface/signatures, accès privés, accès publics). 26 sept. 2005 
4    Relations entre objets : aggrégation, généralisation vs spécialisation.

La notion d'héritage.

03 oct. 2005 
5    Semaine d'études. 10 oct. 2005 
6    Examen de mi-session. 17 oct. 2005 
7    Étude du concept d'héritage (suite) : héritage simple et héritage multiple (interfaces).

Notions de surcharge et de généricité.

Introduction de la sous-classe applet.

24 oct. 2005 
8    Étude du concept de polymorphisme. 31 oct. 2005 
9    Les types abstraits. 07 nov. 2005 
10    Les exceptions en java.

Les threads et la programmation concurrente en java.

14 nov. 2005 
11    Étude de cas. 21 nov. 2005 
12    Étude de cas. 28 nov. 2005 
13    Les fichiers et les techniques d'E/S en java. 05 déc. 2005 
14    Java vs C++ : héritage multiple, amies, fonctions virtuelles, surcharge des opérateurs, templates, STL. 12 déc. 2005 
15    Examen final. 19 déc. 2005 
6. Évaluation du cours :
  • Trois projets de développement avec compte rendu technique : 30% (10 % pour chacun)
  • Examen de mi-session : 30 %
  • Examen final : 40 %

Note: On tiendra compte de la présentation pour les examens et le projet. La diminution de la note peut aller jusqu'à 10 %. Les délais de remise des travaux doivent être respectés et tout retard entraîne une autre diminution de la note.

7. Politiques départementales et institutionnelles :
8. Principales références :
Livre obligatoire :
  • Object-Oriented Problem Solving. Java, Java, Java. Ralph Morelli, Prentice-Hall. ISBN 0-13-033370-0.

Autres références :

  • Understanding Object-Oriented Programming with Java, T. Budd, Addison-Wesley, ISBN: 0-201-61273-9.
  • An Introduction to Object-Oriented Programming third edition, T. Budd, Addition-Wesley. ISBN: 0-201-76031-2.
  • Programmation en Java 1.2 Concepts et Applications, Patrick Naughton et Rita Noumeir. McGraw-Hill. ISBN 2-89461-180-3.
  • Object-Oriented Programming with Java An Introduction, D. J. Barnes, Prentice-Hall, ISBN 0-13-086900-7.
  • The Java Class Libraries Second Edition, Volume 1. P. Chan, R. Lee and D. Kramer. Addison-Wesley, ISBN:0-201-31002-3.
  • Effective Java Programming Language Guide. Joshua Blach Addison-Wesley. ISBN 0-20-131005-8.
  • Object-Oriented Programming with C++ and Smalltalk, Caleb Drake, Prentice-Hall. ISBN: 0-13-103797-8.
  • Java How to Program. H.M. Deitel & P.J. Deitel. Prentice-Hall. ISBN: 0-13-101621-0.

9. Page Web du cours :