Plan de cours

publicité
Hiver 2005 : IFT 1170
Programmation Java et applications
Site Web :
http://www.iro.umontreal.ca/~dift1170/
Objectifs du cours :
Ce cours vise à familiariser l’étudiant à la programmation orientée objet (POO) avec Java de
manière à exploiter au mieux l’esprit de réutilisation du code. Un sous-ensemble des
librairies disponibles en JAVA sera décrit.
Horaires :
Section
Théorie
Horaire
Travaux pratiques
Salle
Horaire
Labo.
A
Lundi
16:30 à 18:30 Z-205 Lundi
14:30 à 16:30
X-117
B
Lundi
16:30 à 18:30 Z-205 Lundi
18:30 à 20:30
X-117
C+D
Jeudi
12:30 à 14:30 Z-200
Jeudi
10:30 à 12:30
X-115
L
Samedi
10:30 à 12:30
#14
Samedi
08:30 à 10:30
#13
M
Samedi
10:30 à 12:30
#14
Samedi
12:30 à 14:30
#13
Campus Longueuil (en face du métro Longueuil) :
http://www.campusregionaux.umontreal.ca/clongueuil.html
Le Van Nguyen ([email protected]) enseigne les sections A+B.
Youssef Kadri ([email protected]) enseigne les sections C+D.
Michel Reid ([email protected]) enseigne les sections L+M.
Début des cours théoriques : jeudi 06 janvier 2005
Début des travaux pratiques : semaine du 10 janvier 2005
(y compris la section A)
Intra : samedi 19 février 12:30 à 14:30 (20 %)
Final : samedi 16 avril
10:30 à 13:15 (40 %)
Préalable :
L’étudiant doit déjà connaître les éléments de base suivants de la programmation : les boucles
de répétition, les tableaux à un seul indice, les sous-programmes avec paramètres dans un des
langages de programmation suivants : C, C++ ou JAVA.
Les cas exceptionnels peuvent être évalués : Le Van (514) 343-7410
IFT 1170, Hiver 2005
DESI le 10 janvier 2005
1
Population cible :
Ce cours de programmation s’adresse à une population d’étudiants qui a déjà une
connaissance de base d’un langage de programmation structurée en C ou en Java et qui
désirent connaître les fondements d’un langage de programmation de plus en plus utilisé. Le
langage JAVA est utilisé aussi dans les cours du niveau baccalauréat en informatique dans
presque toutes les universités au Canada, aux États-Unis et en Europe, etc.
Le cours IFT 1170 est un préalable reconnu pour les cours suivants :
IFT 1166 : La programmation orientée objet avec C++ (Aut, Hiver, Été)
IFT 1176 : Aspects avancés en Java (Aut, Hiver, Été)
IFT 2810 : Structures de données (Aut, Automne, Été : cours du DIRO)
etc . . .
Contenu du cours (Hiver 2005) :
Avant l'intra :
- Le cours
IFT 1170.
- Programmer rapidement en Java les notions de base vues dans un cours préalable :
. types primitifs : int, byte, short, long, float, double, char, boolean
. opérateurs
. la sélection simple avec if (condition) instruction
. la sélection multiple avec switch ...
. les 3 boucles : do . . . while, while . . . et for . . .
. les tableaux à un seul indice
. méthodes avec return et méthodes de type void
- Programmation orientée objet (POO) : niveau simple
. premier concept de la POO : encapsulation
. classe : attributs (champs de données, membres données)
méthodes simples
. objet : déclaration, création, application de méthodes
. identité et égalité : distinction entre objet et valeur
- Utilisation de certaines classes prédéfinies :
. Integer, Double, Math, String, StringTokenizer, Date, …
- Programmation orientée objet (POO) : niveau intermédiaire
. classe avec plusieurs constructeurs
. accesseurs : accéder aux membres privés via méthode get…(),
. modificateurs : imposer la valeur d'un membre via set…()
. surcharge des méthodes
. variables de classe, variables d'instance
. transmission des paramètres en JAVA
. clauses de visibilité : public, private, protected, …
. tableau d'objets vs vecteur (class Vector)
. données vs référence en JAVA, liste linéaire chaînée simple
. signature de méthodes et le mot clé this
. redéfinition de méthodes (exemples : toString, equals, . . .)
IFT 1170, Hiver 2005
DESI le 10 janvier 2005
2
Semaine d’activités libres : 28 février au 06 mars (pas de cours ni de
démonstration, les labos seront ouverts pour la pratique libre (P.L.))
Examen intra (barème : 20 %) : samedi 19 février de 12:30 à 14:30
Après l'intra :
- Programmer en Java, autres notions de programmation :
. recherche avec une sentinelle, recherche dichotomique
. récursivité (tri rapide Quick Sort, etc …)
- Programmation orientée objet (POO) : niveau avancé
. héritage simple et polymorphisme :
une classe à une autre (polymorphism across Classes)
signature de méthodes et les mots clés this, super
. classe et méthodes abstraites, interface
. applications pratiques des interfaces
(exemple : une seule méthode "trier" pour des tableaux de natures différentes :
tableau des employés, tableau des pays, etc).
. gestion des fichiers binaires, fichiers de type texte
. héritage multiple vs interface
. structure de données : liste linéaire chaînée d'objets
. HTML et applets
Examen final (barème : 40%) : date à confirmer au premier cours
Travaux pratiques : à compter de la semaine du 10 janvier 2005:
Semaine du 10 janvier 2005:
- Familiarisation avec l'environnement de travail et JAVA
- Préparation et réalisation de quelques numéros du TP1.
Les autres semaines sont réservées pour la réalisation des travaux de programmation. L'énoncé
des TPs est distribué une semaine à l'avance, ceci permet à l’étudiant de préparer son programme
et de le mettre au point pendant les séances prévues à cet effet. Outre les périodes de
démonstration, vous pouvez profiter des périodes de pratiques libres (P.L.) pour compléter vos
travaux ou réviser la matière vue au cours théorique.
Références :
Les notes de cours : disponibles sur le site du cours (à parler au premier cours).
- Claude Delannoy "Programmer en JAVA" (édition Eyrolles)
- Deitel et Deitel "Comment programmer en JAVA"
Les éditions Reynald Goulet Inc.
- Laura Lemay … " JAVA Plate-Forme" (édition Campus Press)
- John Lewis et William Loftus "Java software solutions" , second edition
Addison-Wesley
- Walter Savitch "JAVA An Introduction to Computer Science & Programming" ,
second edition Prentice Hall.
IFT 1170, Hiver 2005
DESI le 10 janvier 2005
3
Inscription :
1. étudiants réguliers : à votre faculté ou département
2. étudiants libres : à Longueuil (voir le personnel du Campus Longueuil) OU
au 3150 Jean-Brillant, porte C-1010 (près du métro Côte-des-Neiges)
téléphone (514) 343-7338 à compter du 15 décembre 2004.
Veuillez vous inscrire tôt pour vous assurer d'avoir une place et pour obtenir votre code
d’accès aux laboratoires dès le début du trimestre d’hiver 2005.
Avantages de la POO vs la programmation traditionnelle :
(statistique chez IBM)
Temps
Lignes de code
nb. de lignes moy. d'1 méthode
Programmation procédurale
(En moyenne)
35 jours
5827
39
avec POO
(En moyenne)
17
1059
6
Pages Web :
1) du cours : http://www.iro.umontreal.ca/~dift1170/
2) de la DESI : http://www.desi.umontreal.ca/
3) du Guichet étudiant pour le cours IFT 1170 :
http://www.progcours.umontreal.ca/cours/
Cours suivant de Java
IFT 1176 Aspects avancés en Java (été 2005 : UDM , aut 2005 : Longueuil)
Préalable : IFT 1170
Description
IFT 1176 3 crédits AHE js
Aspects avancés en Java
Héritage et exception en Java. Interfaces usager . Collections. Java Beans, JDBC.
Programmation parallèle et sur réseau.
Sujets de ce cours
Rappel des notions d'héritage et d'exception
Classes abstraites et interface.
Interfaces usager graphiques (GUIs) et SWING, Applets
Collections framework
Java Beans, Servlets, Processus parallèles, …
Java Data Base Connextion (JDBC), ….
Site du cours IFT 1176 :
http://www.iro.umontreal.ca/~dift1176
Bonne session!
Équipe du IFT 1170, Hiver 2005
IFT 1170, Hiver 2005
DESI le 10 janvier 2005
4
Téléchargement