H17 - DESI

11 janv. 2017 ... Programmation Java et applications. Site Web : voir STUDIUM ... Examen intra ( barème : 30 %) : Mercredi 22 février 16:30 à 18:30 N-615. Examen final ... classe : attributs (champs de données, membres données). méthodes ...


un extrait du document



Hiver 2017 : IFT 1170
Programmation Java et applications

Site Web :  HYPERLINK "http://www.iro.umontreal.ca/~pift1170/" voir STUDIUM
Courriel :  HYPERLINK "mailto:dift1170@iro.umontreal.ca" dift1170@iro.umontreal.ca

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 :

SectionThéorie
Horaire SalleTravaux pratiques
Horaire Labo.AMercredi 16:30 à 18:30 Z-317Mercredi 18:30 à 20:30 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.

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

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)
Programmation procédurale avec POO
(En moyenne) (En moyenne)
Temps 35 jours 17
Lignes de code 5827 1059
nb. de lignes moy. d'1 méthode 39 6

Pages Web :
du cours : voir StudiUM
de la DESI :  HYPERLINK "http://www.desi.umontreal.ca/" http://www.desi.umontreal.ca/

Cours suivant de Java : IFT 1176

Bonne session!

Équipe du IFT 1170, Hiver 2017


















 SHAPE \* MERGEFORMAT 











PAGE 4
IFT 1170, Hiver 2017


Cours de Programmation



IFT1175
Programmation en Visual Basic


IFT1810
Introduction à la programmation


IFT1179
Programmation
en C#


IFT1170
Programmation Java et applications


IFT1166
Programmation orientée-objet
en C++


IFT1169
Programmation avancée en C++


IFT1176
Aspects avancés
de Java