INF111 PROGRAMMATION ORIENTÉE OBJET (HORS PROGRAMME) Préalable(s) : Aucun PLAN DE COURS SESSION AUTOMNE 2013

Documents pareils
Programmer en JAVA. par Tama

as Architecture des Systèmes d Information

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Une introduction à Java

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

ACTIVITÉ DE PROGRAMMATION

Génie Logiciel avec Ada. 4 février 2013

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

INITIATION AU LANGAGE JAVA

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Développement Logiciel

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage Java. Classe de première SI

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Programmation en Java IUT GEII (MC-II1) 1

TP1 : Initiation à Java et Eclipse

Java Licence Professionnelle CISII,

Java Licence Professionnelle CISII,

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Initiation à JAVA et à la programmation objet.

Chapitre 10. Les interfaces Comparable et Comparator 1

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object

4. Groupement d objets

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Plan du cours. Historique du langage Nouveautés de Java 7

Programmation Par Objets

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Auto-évaluation Programmation en Java

Création d un service web avec NetBeans 5.5 et SJAS 9

Objets et Programmation. origine des langages orientés-objet

Package Java.util Classe générique

Java DataBaseConnectivity

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Projet de programmation (IK3) : TP n 1 Correction

Interfaces graphiques avec l API Swing

PROGRAMMATION PAR OBJETS

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Java 1.5 : principales nouveautés

Chapitre VI- La validation de la composition.

GOL460 CHAÎNES LOGISTIQUES ET D'APPROVISIONNEMENT Préalable(s) : GOL405 PLAN DE COURS SESSION AUTOMNE 2013

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

RMI le langage Java XII-1 JMF

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

IMM-120 Sécurité, facteurs humains et environnementaux

Introduction au langage de programmation Java

Chapitre V. Les classes : Object, Vector, etc.

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

La carte à puce. Jean-Philippe Babau

Cours 1: Java et les objets

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Premiers Pas en Programmation Objet : les Classes et les Objets

Utiliser Java sans BlueJ

ÉVALUATION DE LA MAINTENABILITÉ DE S3MDSS AVEC L OUTIL SONAR

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

2. Comprendre les définitions de classes

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Design patterns. Design patterns - définition. Design patterns - avantages

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

TD3: tableaux avancées, première classe et chaînes

Serveur d'archivage 2007 Installation et utilisation de la BD exist

La technologie Java Card TM

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Héritage presque multiple en Java (1/2)

Java c est quoi? Java pourquoi?

Baccalauréat universitaire (bachelor) en mathématiques et sciences informatiques

1. Langage de programmation Java

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Support de cours et TD Programmation Orientée Objet

UE Programmation Impérative Licence 2ème Année

Programmation Orientée Objet application au langage Java Version Novembre 2007

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Initiation à la programmation en Python

Plan de cours. 1. Mise en contexte. 2. Place du cours dans le programme. 3. Descripteur du cours

Cours de Programmation 2

Introduction au langage Java

Approche Contract First

OpenPaaS Le réseau social d'entreprise

Environnements de développement (intégrés)

Programmation Objet Java Correction

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

TP Programmation Java / JDBC / Oracle

NUMÉRO (GR) TITRE DU COURS CYCLE

IFT2255 : Génie logiciel

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

Java Licence professionnelle CISII,

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Transcription:

École de technologie supérieure Service des enseignements généraux 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 AUTOMNE 201 1. Coordonnées de l enseignant Groupe 01 Pierre Bélisle (pierre.belisle@etsmtl.ca) bureau B 2524 2. Descriptif officiel du cours Cours destiné aux étudiants ayant déjà 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 implantation 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 interfacesutilisateurs graphiques (GUI). Séances de laboratoire permettant l'application des notions de programmation.. 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. De comprendre les relations d héritage, d agrégation et de composition. Session automne 201 INF111 PROGRAMMATION ORIENTÉE OBJET (HORS PROGRAMME) 1

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 ré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. heures de cours magistraux par semaine 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 contrôle (if else, while, for), entrées/sorties (Scanner(), 1 Peu importe le langage de programmation qui a été utilisé. Session automne 201 INF111 PROGRAMMATION ORIENTÉE OBJET (HORS PROGRAMME) 2

Unité MATIÈRE HEURES System.out), programme principal (main()). Normes de programmation Introduction aux classes et aux objets o Définitions Classe, objet, méthodes, procédures, fonctions, paramètres effectifs et formels 2 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 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 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), 4 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 Héritage (classe ou interface), composition, 5 6 généralisation/spécialisation, super() 6 Polymorphisme (late binding) 7 Examen intra (pour les cours 01 à 06) 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 8 1 Gestion d exception (try catch). Classe interne (inner class) Classes enveloppeurs (wrapper) Integer, Double,... et conversion automatique (autoboxing et unboxing) (java 5.0 et +). 18 Chaînage dynamique Types de données abstraits (TDA) : o Pile (LIFO) o File (FIFO)Types de données abstraits suite(tda) : o Liste Total 9 Session automne 201 INF111 PROGRAMMATION ORIENTÉE OBJET (HORS PROGRAMME)

6. Laboratoires ou travaux pratiques Trois heures de laboratoire par semaine (Total 6 heures) 7. Évaluation Évaluation Pondération Date Détail Travaux pratiques 10% 12% 1% 24 sept. au 11 oct. 18 oct. au 5 nov. 5 nov. au 6 déc. Le premier travail peut être individuel. Test de validation du cours 10% Un petit test en ligne à réaliser en classe avant les séances de labo. Durée : 0 minutes à livre ouvert. À l essai : Si ça ne donne pas les résultats escomptés (peu importe la raison), ces tests seront remplacés par des quiz manuscrits. Examen intra semestriel ( heures) 20% 18 octobre Semaine 1 à 6 Les examens sont manuscrits. Examen final ( heures) 5% 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, rd Edition, San Jose State Univ., John Wiley & sons, 2007, 1248 pages. Horton s, Ivor, Ivor Horton s beginning Java 2, JDK 5 Edition, Indianapolis, Wiley Publishing, Inc., 2005, 1470 pages. Session automne 201 INF111 PROGRAMMATION ORIENTÉE OBJET (HORS PROGRAMME) 4

Liens Internet Java Version 6 Update 21 Java version 6 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/6/docs/api/ Cours Java (français et anglais) http://java.developpez.com/cours/ Session automne 201 INF111 PROGRAMMATION ORIENTÉE OBJET (HORS PROGRAMME) 5

INF111 PROGRAMMATION ORIENTÉE OBJET (HORS PROGRAMME) ANNEXE I 1. Caractéristiques du cours Responsable(s) du cours : Coordonnées de l enseignant : Groupe 01: Pierre Bélisle (Pierre.Belisle@etsmtl.ca) Préalables : Aucun Crédits : 4 2. Descriptif officiel du cours Cours destiné aux étudiants ayant déjà 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 implantation 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.. Répartition des unités d agrément du BCAPG Maths Sciences naturelles Études complémentaires Science du génie Conception en ingénierie Total 0,0 0,0 0,0 0,0 0,0 0,0 4. Qualités (Qx) et compétences (Cy) enseignées et ou évaluées Session automne 201 INF111 PROGRAMMATION ORIENTÉE OBJET (HORS PROGRAMME) 6

5. Évaluation Absence à un examen Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l étudiant devra justifier son absence d un examen durant le trimestre auprès de son enseignant. Pour un examen final, l étudiant devra justifier son absence auprès du Bureau du registraire. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d un parent immédiat ou autre) à un examen entraînera l attribution de la note zéro (0). Plagiat et fraude Les clauses du «Chapitre 10 : Plagiat et fraude» du «Règlement des études de 1 er cycle» s appliquent dans ce cours ainsi que dans tous les cours du département. Afin de se sensibiliser au respect de la propriété intellectuelle, tous les étudiants doivent consulter la page Citer, pas plagier! Session automne 201 INF111 PROGRAMMATION ORIENTÉE OBJET (HORS PROGRAMME) 7