Transcript
Page 1: INF111 PROGRAMMATION ORIENTÉE-OBJET … · Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 2 De comprendre les relations d’héritage, d’agrégation

Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 1

Responsable(s) du cours :

Pierre Bélisle

Frédérick Henri

Crédits : 4

INF111 PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME)

Préalable(s) : Aucun PLAN DE COURS – SESSION HIVER 2014

1. Coordonnées de l’enseignant

Groupe 01, 02 Groupe 03

Pierre Bélisle Cardinal Francis

bureau B-2524 bureau A-3466

2. Descriptif officiel du cours

Cours destiné aux étudiants ayant déjà suivi un cours de programmation. Acquérir des connaissances approfondies de la programmation orientée objet (encapsulation, héritage et polymorphisme) qui permettront de passer plus facilement à la conception orientée objet. Le langage de programmation utilisé est Java. Application des notions orientées objet acquises selon des principes de programmation avancée tels que des algorithmes de tri et de fouilles (itératifs et récursifs), l’implantation de structures de données (pile, file, liste, arbres), la gestion et la levée d’exception, l’utilisation de certaines classes de l’api Java (Vector, Sequence, Map, Observable/Observer, Date, Random) et l’utilisation de composants Swing pour la construction d’interfaces-utilisateurs graphiques (GUI). Séances de laboratoire permettant l'application des notions de programmation.

3. Objectifs spécifiques du cours

Ce cours a pour objectif d’enseigner les principes de la programmation orientée-objet (encapsulation, héritage et polymorphisme) en insistant sur des notions de programmation plus approfondies que les types primitifs (int, char, …), les structures de contrôle et les structures de données de base telles que les tableaux.

De façon plus spécifique, ce cours devra permettre à l'étudiant :

❏ D'utiliser un environnement de programmation Java (BlueJ, Eclipse, JCreator ou autres).

❏ D'apprendre à programmer dans le paradigme orienté-objet avec le langage Java.

École de technologie supérieure Service des enseignements généraux

Page 2: INF111 PROGRAMMATION ORIENTÉE-OBJET … · Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 2 De comprendre les relations d’héritage, d’agrégation

Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 2

De comprendre les relations d’héritage, d’agrégation et de composition.

De comprendre et exploiter l’utilité de la visibilité des attributs et des méthodes (encapsulation).

De comprendre et pouvoir exploiter le polymorphisme.

❏ Être en mesure de programmer (et d’utiliser) des types de données abstraits (piles, files et listes) avec différentes implémentations.

❏ Utiliser les composants Swing pour la création d’interface graphique.

L’étudiant doit au préalable avoir une compréhension des concepts suivants1 :

❏ Types de base (Entier, réel, booléen, caractère).

❏ Opérateurs sur les types de base (+, -, *, /, %, …).

❏ Types composés (chaînes de caractères et tableaux).

❏ Structures de contrôle (sélection, itération).

❏ Structures de programme (bloc principal, procédures et fonctions).

❏ Passage de paramètres (par valeur, par référence, formel et actuel).

❏ Entrées (clavier) et sorties (écran). 4. Stratégies pédagogiques utilisées

Les deux premiers cours serviront à une révision de concepts présumés comme étant déjà connus et à l’apprentissage de ceux-ci en Java. Les cours suivants présenteront les concepts de programmation orientée-objet et des applications de ceux-ci à l’aide de notions de programmation plus approfondies et de l’utilisation des composants Swing. 3 heures de cours magistraux par semaine 3 heures de laboratoire par semaine Les laboratoires visent :

L'assimilation des notions vues au cours à l’aide d’exercices.

La mise au point des programmes donnés en travaux pratiques (si les exercices sont finis).

5. Contenu du cours

La première période de trois heures sert à présenter le plan de cours, l’approche pédagogique utilisée et les différents modèles d’évaluation.

Unité MATIÈRE HEURES

1

Environnement Java.

Programmation de base en Java. o Types primitifs (variables et littéraux), conversion de type

(typecasting), opérateurs (+, -, *, >=, <=, …), instructions de

3

1 Peu importe le langage de programmation qui a été utilisé.

Page 3: INF111 PROGRAMMATION ORIENTÉE-OBJET … · Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 2 De comprendre les relations d’héritage, d’agrégation

Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 3

Unité MATIÈRE HEURES

contrôle (if-else, while, for), entrées/sorties (Scanner(), System.out), programme principal (main()).

Normes de programmation

2

Introduction aux classes et aux objets o Définitions

Classe, objet, méthodes, procédures, fonctions, paramètres effectifs et formels

o Modificateurs d’accès private et public o Classes String, Arrays, Math o Bloc de code et visibilité des objets

Les paquetages (package) java.lang et java.util de Java

Les API de Java

3

3

Programmation de base en Java.

Référence et passage de paramètres par référence

Tableaux en Java

Tris et fouilles sur tableaux

3

4

Conception dans le paradigme orientée-objet o Encapsulation o Définition d’une classe : méthodes (comportement),

encapsulation (avec private), constructeur, classes immuables et accesseurs (get), classes mutables et mutateurs (set), destructeur (finalize), surcharge (overload) et redéfinition (override).

o Classe Object et ses méthodes clone, copy et equals o static o this()

Commentaire Javadoc

3

5-6 Héritage (classe ou interface), composition,

généralisation/spécialisation, super()

Polymorphisme (late binding)

6

7 Examen intra (pour les cours 01 à 06) 3

8 -13

GUI (Graphical User Interface) o Composants Swing (Jframe, Jbutton, , …) o JTextField, JMenuBar, JMenu, JMenuItem, JRadioButtonItem,

Layout Manager, … o Gestion d’évènements (bas et haut niveau).

Observer/Observable

Gestion d’exception (try-catch).

Classe interne (inner class)

Classes enveloppeurs (wrapper) Integer, Double, ... et conversion automatique (autoboxing et unboxing) (java 5.0 et +).

Chaînage dynamique

Types de données abstraits (TDA) : o Pile (LIFO) o File (FIFO)Types de données abstraits suite(TDA) : o Liste

18

Page 4: INF111 PROGRAMMATION ORIENTÉE-OBJET … · Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 2 De comprendre les relations d’héritage, d’agrégation

Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 4

Unité MATIÈRE HEURES

Total 39

6. Laboratoires ou travaux pratiques

Trois heures de laboratoire par semaine (Total 36 heures)

7. Évaluation

Évaluation Pondération Date Détail

Travaux pratiques

10%

29

janvier

24

janvier

Révision

25%

12 février

7 février

10%

19 mars

14 mars

Examen intra semestriel (3 heures)

20%

21 février

19 février

Semaine 1 à 6

Examen final (3 heures) 35% Période d’examens finaux

Aucune documentation permise lors de la tenue des examens. Aucun support électronique (calculatrice, ordinateur, téléphone, …)

8. Documentation obligatoire

Aucune documentation obligatoire.

9. Ouvrages de référence

Autres références

Horstmann, Cay, Big Java, 3rd Edition, San Jose State Univ., John Wiley & sons, 2007, 1248 pages.

Horton’s, Ivor, Ivor Horton’s beginning Java™ 2, JDK™5 Edition, Indianapolis, Wiley Publishing, Inc., 2005, 1470 pages.

Page 5: INF111 PROGRAMMATION ORIENTÉE-OBJET … · Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 2 De comprendre les relations d’héritage, d’agrégation

Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 5

Liens Internet

Java Version 6 Update 21

Java version 6

Normes de programmation Java pour la langue française

http://cyberzoide.developpez.com/java/javastyle/JavaStyle.pdf

Quelques environnements de programmation Java gratuit

http://www.netbeans.org/downloads/index.html (recommandé par Sun)

http://eclipse.org/downloads/index.php

http://www.jcreator.com/download.htm

http://www.bluej.org/download/download.html

Aide Java

http://java.sun.com/docs/books/tutorial/

http://java.sun.com/javase/6/docs/api/

Cours Java (français et anglais)

http://java.developpez.com/cours/

Page 6: INF111 PROGRAMMATION ORIENTÉE-OBJET … · Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 2 De comprendre les relations d’héritage, d’agrégation

Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 6

INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME)

ANNEXE I 1. Caractéristiques du cours

Responsable(s) du cours :

Coordonnées de l’enseignant : Groupe 01, 02: Pierre Bélisle ([email protected]) Groupe 03 : Francis Cardinal ([email protected])

Préalables : Aucun

Crédits : 4 2. Descriptif officiel du cours

Cours destiné aux étudiants ayant déjà suivi un cours de programmation. Acquérir des connaissances approfondies de la programmation orientée objet (encapsulation, héritage et polymorphisme) qui permettront de passer plus facilement à la conception orientée objet. Le langage de programmation utilisé est Java. Application des notions orientées objet acquises selon des principes de programmation avancée tels que des algorithmes de tri et de fouilles (itératifs et récursifs), l’implantation de structures de données (pile, file, liste, arbres), la gestion et la levée d’exception, l’utilisation de certaines classes de l’api Java (Vector, Sequence, Map, Observable/Observer, Date, Random) et l’utilisation de composants Swing pour la construction d’interfaces-utilisateurs graphiques (GUI). Séances de laboratoire permettant l'application des notions de programmation.

3. Répartition des unités d’agrément du BCAPG

Maths Sciences

naturelles

Études complémen-

taires Science du

génie Conception

en ingénierie Total

0,0 0,0 0,0 0,0 0,0 0,0

4. Qualités (Qx) et compétences (Cy) enseignées et ou évaluées

Page 7: INF111 PROGRAMMATION ORIENTÉE-OBJET … · Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 2 De comprendre les relations d’héritage, d’agrégation

Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 7

5. Évaluation

Absence à un examen Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de son enseignant. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat ou autre) à un examen entraînera l’attribution de la note zéro (0).

Plagiat et fraude

Les clauses du « Chapitre 10 : Plagiat et fraude » du « Règlement des études de 1er cycle » s’appliquent dans ce cours ainsi que dans tous les cours du département. Afin de se sensibiliser au respect de la propriété intellectuelle, tous les étudiants doivent consulter la page Citer, pas plagier!


Recommended