H17 - DESI

publicité
Hiver 2017 : IFT 1170
Programmation Java et applications
Site Web : voir STUDIUM
Courriel : [email protected]
Chargé de cours :
Van Nguyen LE
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
A
Théorie
Horaire
Travaux pratiques
Salle
Horaire
Mercredi 16:30 à 18:30 Z-317 Mercredi 18:30 à 20:30
Labo.
X-117
Début des cours théoriques :
A : Mercredi 11 janvier 2017 au Z-317
Début des travaux pratiques :
A : Mercredi 18 janvier 2017 au X-117
Préalable : IFT 1810 (C suivi de Java) ou PHY1234 (C ou Python)
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. Il devrait avoir aussi une petite idée
sur la programmation orientée objet (POO).
Évaluation :
Examen intra (barème : 30 %) : Mercredi 22 février 16:30 à 18:30 N-615
Examen final (barème : 40 %) : Mercredi 19 avril 16:30 à 19:30 P-310
TPs : Tp1 / 25 points, Tp2 / 35 points et Tp3 / 40 points
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 ou en
Python . . . 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.
IFT 1170, Hiver 2017
1
Contenu du cours (Hiver 2017) :
- Fonctionnement
du 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
. signature de méthodes et le mot clé this
. redéfinition de méthodes (exemples : toString, equals, . . .)
. fichier de type texte
- 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
. héritage multiple vs interface
. structure de données : liste linéaire chaînée d'objets
IFT 1170, Hiver 2017
2
Références :
Veuillez chercher un livre avec la nouvelle version de Java.
- Claude Delannoy "Programmer en JAVA" (édition Eyrolles)
- Deitel et Deitel "Comment programmer en JAVA"
Les éditions Reynald Goulet Inc.
- Walter Savitch "JAVA An Introduction to Computer Science & Programming" ,
édition Prentice Hall.
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 : voir StudiUM
2) de la DESI : http://www.desi.umontreal.ca/
Cours suivant de Java : IFT 1176
Bonne session!
Équipe du IFT 1170, Hiver 2017
IFT 1170, Hiver 2017
3
Cours de Programmation
IFT1169
Programmation
avancée en C++
IFT1175
Programmation en
Visual Basic
IFT1166
Programmation
orientée-objet
en C++
IFT1176
Aspects avancés
de Java
IFT1170
Programmation
Java et applications
IFT1179
Programmation
en C#
IFT1810
Introduction à la
programmation
IFT 1170, Hiver 2017
4
Téléchargement