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élis
le
Cardinal Francis
bureau B
-
2524
bureau A-3466
2. Descriptif officiel du cours
Cours destiné aux étudiants ayant 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’implémentation 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
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 suivants
1
:
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 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é.
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 c
ours 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
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étails
Gr.01
Gr. 02
Gr.
03
Travaux pratiques
10%
29
janvier
24
janvier
29
janvier
Révision
25%
12
février
7
février
12
février
10%
19 mars
14 mars
19 mars
Examen intra
semestriel
(3 heures)
20%
21
février
19
février
21
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, 3
rd
Edition,
San Jose State Univ
.
, John Wiley & sons, 2007, 1248
pages.
Session hiver 2014 INF111 – PROGRAMMATION ORIENTÉE-OBJET (HORS PROGRAMME) 5
Horton’s, Ivor, Ivor Horton’s beginning Java™ 2, JDK™5 Edition, Indianapolis, Wiley
Publishing, Inc., 2005, 1470 pages.
Liens Internet
Java Version 7 Update 45
Java version 7
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/7/docs/api/
Cours Java (français et anglais)
http://java.developpez.com/cours/
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !