Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF1573  Gr. 01
Titre : Programmation II
Session : Hiver 2007  Horaire et local
Professeur : Hadded, Saleha
1. Description du cours paraissant à l'annuaire :

Objectifs

Approfondir les concepts de la programmation orientée-objet. Sensibiliser au développement de programmes de qualité.

Contenu

Types abstraits, polymorphisme, généricité, événements. Utilisation de librairies (JDK, STL ou similaire). Récursivité. Vérification, tests et documentation de programmes. Présentation des langages C et C++, discussion de certains concepts dans le contexte du langage Java : passage de paramètres, pointeurs, structures, "templates", etc. Notions d'analyse numérique : précision.
2. Objectifs spécifiques du cours :
Permettre à l'étudiant d'approfondir les méthodes de conception et de programmation structurée, de comprendre les notions de types de données structurées et de le rendre apte à les utiliser dans des applications réelles.
3. Stratégies pédagogiques :
Cours donné principalement sous forme magistrale, parsemé d’exercices de compréhension. Des travaux pratiques sont proposés afin de consolider les notions vues en classe.
4. Heures de disponibilité ou modalités pour rendez-vous :
Courriel pour rendez-vous
5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Présentation du plan de cours

Introduction au paradigme orienté objets

Introduction au langage Java

  • Types de base
  • Expressions
  • Instructions de contrôle
  • Exemples de programmes Java

11 jan. 2007 
2    Concept d'encapsulation :
  • Notion d'accès (interface/signatures, accès privés, accès publics)
  • Type de données abstrait
  • Étude de cas
18 jan. 2007 
3    Le modèle objet de Java
  • Classes et instances
  • Constructeurs
  • Méthodes et attributs
  • Héritage
25 jan. 2007 
4    Le modèle objet de Java

Classes et méthodes abstraites

  • Interfaces
  • Surcharge
  • Polymorphisme

01 fév. 2007 
5    Structure de piles

Récursivité

  • Déclaration de fonctions récursives
  • Trace des fonctions récursives
  • Étude de cas

08 fév. 2007 
6    Le traitement des exceptions
  • Bases de traitement des exceptions : try, throw, catch
  • Lancement d'une exception
  • Capture d'une exception
  • Élaboration d’une classe d’exception
15 fév. 2007 
7    Gestion de flux d’entrée/sortie; les fichiers 22 fév. 2007 
8    Semaine d'études 01 mars 2007 
9    Examen de mi-session 08 mars 2007 
10    Programmation parallèle dans java 15 mars 2007 
11    Présentation et utilisation de librairies JDK 22 mars 2007 
12    Documentation et mise au point de programmes 29 mars 2007 
13    Java vs C++ : héritage multiple, amies, fonctions virtuelles, surcharge des opérateurs, templates, pointeurs 05 avr. 2007 
14    Conclusion et révision 12 avr. 2007 
15    Examen final 19 avr. 2007 
6. Évaluation du cours :
  • Deux projets de développement avec compte rendu technique : 30% (15 % pour chacun)
  • Examen de mi-session : 30 %
  • Examen final : 40 %
7. Politiques départementales et institutionnelles :
8. Principales références :
  • Object-Oriented Problem Solving. Java, Java, Java. Ralph Morelli, Prentice-Hall. ISBN 0-13-033370-0.
  • 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 :