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