Vous êtes ici : FIL > Portail > Licence Info > L2S4 > POO

Programmation Orientée Objet

Responsable

Jean-Christophe Routier

Volume horaire

Cette unité se déroule au S4 de la licence mention Informatique. Il s'agit d'une UE obligatoire de cette mention.
L'enseignement est organisé sous la forme d'une séance de cours, d'une séance de TD et une séance de TP hebdomadaire, chacune durant 1h30.
Cette UE constitue un pré-requis indispensable au suivi de l'UE COO du S5.

Crédits

5 ECTS
Jean-Christophe Routier
dernière modification : 13/09/2017 à 14:08:12

Objectifs

Introduire les concepts de base de la la programmation objet et la « pensée objet ». Les notions de classes, objets/instances, envoi de messages doivent être assimilées, ainsi que la décomposition d'un problème en ces termes. A l'issue de ce module l'étudiant doit avoir conscience de l'importance et de l'application des notions de polymorphisme et d'abstraction de la représentation du problème.
Le langage support est le langage Java.

Compétences

A l'issue de ce module les étudiants devraient...
  • ... utiliser à bon escient les éléments de base de la programmation objet
    • ... utiliser correctement le vocabulaire de la programmation objet :
      classe, instance, méthode, interface, attribut, constructeur, encapsulation, polymorphisme, héritage,
    • ... savoir décomposer un problème simple en classes et objets
    • ... savoir expliquer ce qui différencie la programmation objet des autres paradigmes
    • ... savoir expliquer ce qu'est le polymorphisme, en présenter les avantages et savoir expliquer ce qu'est le "late-binding''
    • ... être en mesure d'expliquer le principe ouvert-fermé et de l'appliquer sur des exemples simples
    • ... pouvoir identifier certaines situations de mauvaises conception objet et les corriger
    • ... mettre en œuvre l'héritage dans des cas simples
    • ... connaitre le mécanisme de lookup
  • ... savoir spécifier, coder et tester un problème objet simple dans le langage JAVA
    • ... connaître les principaux éléments de la syntaxe du langage java
    • ... être en mesure d'écrire un programme dans le langage java
    • ... savoir écrire des tests unitaires simples
    • ... mettre en œuvre des tests unitaires pour une classe
    • ... pouvoir expliquer clairement le rôle et la sémantique des éléments de langage suivants :
      new, class, interface, public, private, this, static, final, package, import, throws, throw, implements, extends, super,
    • ... savoir utiliser les types List, Set, Map et Iterator
    • ... utiliser correctement les exceptions
    • ... savoir utiliser les "outils" liés à la plateforme java :
      javac, java (et classpath), javadoc, jar

Bibliographie

  • Conception objet en Java avec BlueJ de David Barnes et Michael Kölling. Ed. Pearson Education.
  • "Java, Tête la Première" de Kathy Sierra & Bert Bates. Editions O'Reilly ISBN 2-84177-276-4
    Ce livre n'est plus édité en français, il faut donc se tourner vers la version anglaise "Head first Java" (2nd édition). Editions O'Reilly, 0-596-00920-8 ou vers la version électronique en français
  • Thinking in Java de Bruce Eckel. Disponible librement sur ce site. Une traduction en Français est ici

Jean-Christophe Routier
dernière modification : 29/06/2016 à 15:28:58
Gpe Nature Horaire Salle Enseignant e-mail
Cours mardi 10h20-11h50 M1 Archimède Jean-Christophe Routier jean-christophe.routier (at) univ-lille1.fr
1 TD lundi 10h20-11h50 M5 A6 Oumayma Bahri oumayma.b@gmail.com
1 TP mercredi 10h20-11h50 M5 A15 Oumayma Bahri oumayma.b@gmail.com
2 TD mardi 8h30-10h M5 A7 Geoffrey Hecht geoffrey.hecht@gmail.com
2 TP mercredi 15h20-16h50 M5 A11 Geoffrey Hecht geoffrey.hecht@gmail.com
3 TD mercredi 8h30-10h M5 A8 Jean-Christophe Routier jean-christophe.routier.univ-lille1.fr
3 TP mercredi 10h20-11h50 M5 A11 Jean-Christophe Routier jean-christophe.routier.univ-lille1.fr
4 TD mercredi 10h20-11h50 M5 A9 Jean-Stéphane Varré jean-stephane.varre.univ-lille1.fr
4 TP vendredi 8h30-10h M5 A13 Jean-Stéphane Varré jean-stephane.varre.univ-lille1.fr
5 TD mardi 15h20-16h50 M5 A2 Jean-François Roos jean-francois.roos@univ-lille1.fr
5 TP mercredi 8h30-10h00 M5 A12 Jean-François Roos jean-francois.roos@univ-lille1.fr
6 TD mercredi 10h20-11h50 M5 A6 Benoît Papegay benoit.papegay.univ-lille1.fr
6 TP jeudi 8h30-10h00 M5 A14 Benoît Papegay benoit.papegay.univ-lille1.fr
Jean-Christophe Routier
dernière modification : 16/01/2017 à 08:17:52
Séance Cours TD TP Remarque
1 du 09/01 au 14/01
  • présentation de l'UE
  • introduction
  • classes et objets
  • méthodes et attributs
  • constructeurs
  • envoi de message
  • le code source de l'exemple thermomètre vu en cours.
pas de TD pas de TP cours le 12 janvier après la réunion de rentrée de 8h
2 du 16/01 au 21/01
  • analyse et décomposition objet d'un problème
  • this
  • encapsulation : private/public
  • méthodes privées
  • passage de paramètre par valeur
  • égalité et equals
  • bases "non objets" de java (types primitifs)
  • éléments de syntaxe
  • petits exercices d'accompagnement (simples mais pour se familiariser la syntaxe)
premier contact avec les objets, via Bluej
  • cours supplémentaire le vendredi 20 janvier 13h30-15h, amphi M1-Archimède
  • Journée Portes Ouvertes le 21 janvier
3 du 23/01 au 28/01
  • static
  • enum
  • tests unitaires : motivation et exemples
premiers exercices orientés objet premières créations de classes :
4 du 30/01 au 04/02
  • polymorphisme
  • les interfaces
  • late-binding
une classe Date Travail préliminaire :
  • étudier l'introduction à l'utilisation du GitLab étudiant du FIL.
  • compilation, documentation, exécution : sujet. Un fichier Stock.java
En séance :
  • écriture de code, méthodologie, tests : manipulations sur des mots. sujet (2 par page). Les fichiers qui vont avec.
5 du 06/02 au 11/02 les tours de Hanoï Compilation (suite) : package, import, CLASSPATH, javadoc, tests, jar. Journée des masters.
6 du 13/02 au 18/02 pas de cours
Journée des masters : conférence poursuite d'études à 11h15, amphi Bacchus du M5.
exercice sur les interfaces :
  • agence de location de voitures sujet
  • Les tours de Hanoï. sujet
  • Les fichiers qui vont avec (pour la saisie).
du 20/02 au 25/02 interruption pédagogique hiver
7 du 27/02 au 04/03
  • collections, listes, itérateurs, ensembles
  • tables de hachage (Map), hashCode/equals
Pierre-papier-ciseaux Traitement simple d'images
8 du 06/03 au 11/03
  • interfaces : des exemples de conception.
  • algorithme générique
  • principe ouvert-fermé
Collections & Co : Pierre-feuille-ciseaux DS de POO, vendredi 10 mars - Bâtiment A4 - 14h-15h30
9 du 13/03 au 18/03 Collections & Co (suite) Pierre-feuille-ciseaux
10 du 20/03 au 25/03 héritage (suite)
  • mécanisme de lookup
  • super
Héritage
  • afficheurs lumineux  sujet.
Agence : collections, maps et héritage
11 du 27/03 au 01/04 Le jeu de l'oie agence (suite)
12 du 03/04 au 08/04 pas de Cours Jeu de l'oie (suite) Jeu de l'oie
du 11/04 au 16/04 interruption pédagogique de printemps
du 17/04 au 22/04 interruption pédagogique de printemps
13 du 24/04 au 29/04 pas de Cours jeu de l'oie (suite)
14 du 01/05 au 06/05 pas de Cours pas de TD ou rattrapage pas de TP ou rattrapage lundi 1er mai férié
i l lc class="semainie4">
l>
  • compicadir expliquer ce qu',es, ainsi que la, ref=" http://,====/td> code source de l'exemple thermomètre vu i> vu]icence/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu i> code source de l'exemple thermomètre vu i> Compéement/licence/poo/cours/thermometer.zip">code source de l'exemple thermomètre vu en cours.
  • pas de TD
  • b, ef="http://www.ement/licence/poo/cour/exception-src.zip">code source du cours
  • code source du cours code source du cours code source de l'exemple thermomètre vu p;: mo_i> <_i>vDev1.fr/%[ir ier h]icence/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu p;: mo_i> <_i>vDev-4v-lille1.fr/%[ir ier h 4Eroumai - iir uss===]ass= ce/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu p;: mo_i> <_i>vDev_etles él-4v-lille1.fr/%[ls5 code source de l'exemple thermomètre vu qu'est le "l_et_routier/e1.fr/%[ir ier h]icence/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu qu'est le "l_et_routier/e-4v-lille1.fr/%[ir ier h 4Eroutier/ - iir uss===]ass= e/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu qu'est le "l_et_routier/e_etles él-4v-lille1.fr/%[ls5 mre et le ode>java,
  • ... pouvoirement/licence/poo/cours/thermometer.zip">code source de l'exemple thermomètre vu routier/en_-- FI1.fr/%[idf]icence/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu i> tier/en_-- FI-4v-lille1.fr/%[idf 4Eroutier/ - iir uss===]ass= e/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu i> tier/en_-- FI_etles él-4v-lille1.fr/%[ls5code source de l'exemple thermomètre vu e>
    <1.fr/%[idf]icence/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu e>
    <-4v-lille1.fr/%[idf 4Eroutier/]icen 3> Comp.ement/licence/poo/cour/exception-src.zip">code source du cours

  • <- les tour!-- REMARQUE /%7Eroutier/ees in. 3 contt-sp;:< 7Eroutier/enement/licence/poo/cours/thermometer.zip">code source de l'exemple thermomètre vu routier/e_class="1.fr/%[idf]icence/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu i> tier/e_class="-4v-lille1.fr/%[idf 4Eroutier/ - iir uss===]ass= e/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu i> tier/e_class="_etles él-4v-lille1.fr/%[ls5 < > < -->TD --> Pierre-paps -> < pestc- FINdUE s /psulav"h code source de l'exemple thermomètre vu cle1.fr/%7E-e1.f-ASD1.fr/%[idf]icence/ent/licence/poo/cours/thermometer.zip">code source de l'exemple thermomètre vu cle1.fr/%7E-e1.f-ASD-4v-lille1.fr/%[idf 4Eroutier/]icence/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu cle1.fr/%7E-e1.f-ASD-ls5cp;:
  • pffich, ref=" htttscode source du cours
  • <> [idf]icennement/licence/po/cours/exception-src.zip">code source du cours <> Collections & Co (suite) [idf]icennement/licence/po/cours/exception-src.zip">code source du cours code source du cours cp;:code source du cours [idf]icennement/licence/po/cours/exception-src.zip">code source du cours cune <"contee/ent/licence/poo/cours/thermometer.zip">code source de l'exemple thermomètre vu cle1.fr/%7E1.fr/%[idf]icence/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu cle1.fr/%7E-4v-lille1.fr/%[idf 4Eroutier/]icen.3niè--> mi>
  • Jenseignep.cle1.fr/%7Erer/e code source de l'exemple thermomètre vu cle1.fr/%7E-141.fr/%[idf]icence/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu cle1.fr/%7E-14-6v-lille1.fr/%[idf 6Eroutier/]icen 3 ==========!-- S/ent/licencclass="fd'appliv id="cadode>
  • code source de l'exemple thermomètre vu wator1.fr/%[idf]icence/ ment/licee/poo/cour/thermometer.zip">code source de l'exemple thermomètre vu wator-6v-lille1.fr/%[idf 6Eroutier/]icen 3nsei L'a
    Séanc iniv-niv-niv-lp TP F[POO1.fr/. M3OO1Cd'uneScs : code source<t/> <-le> <Webs du Mseig i niv-lip