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 : 30/06/2016 à 09:44:51

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é
Jean-Christophe Routier
dernière modification : 23/03/2017 à 09:35:07

L'évaluation s'effectue suivant une procédure de contrôle continu. Trois notes seront attribuées à chaque étudiant durant le semestre :

  • TP : une note sur 20 de Travaux Pratiques attribuée par l'enseignant de Travaux Pratiques.
  • DS1 : une note sur 20 d'un devoir surveillé en milieu de semestre.
  • DS2 : une note sur 20 d'un devoir surveillé en fin de semestre.

La note finale sur 20 (N) est calculée comme une moyenne pondérée de ces notes :

N = (TP + sup(DS1 + 2*DS2, 3*DS2)) /4

La session de rattrapage remplace la partie sup(DS1 + 2*DS2, 3*DS2), la note TP est conservée.

L'unité acquise apporte 5 ECTS.

Jean-Christophe Routier
dernière modification : 29/06/2016 à 15:28:58

Documents du cours

Documents diffusés en cours et mis à disposition pour faciliter la prise de notes.

Compléments TD/TP

Tests (voir le TP 4 dans le semainier, en particulier la "partie 1" pour l'utilisation de ces archives) :
  • document complémentaire sur la création de jar avec librairie externe
  • la javadoc sur le site d'Oracle.

Git, quelques ressources

sujets d'examen

Ressources

  • le site chez Oracle pour télécharger la dernière version du jdk (et la javadoc associée).
  • Java Precisely, un précis de syntaxe java [pdf] [pdf format a5 book] (pour impression et agraphage)

Jean-Christophe Routier
dernière modification : 16/03/2017 à 12:43:33