Programmation Orientée Objets et Java
-
Formation: Licence Informatique
Prérequis
-
Algorithmique et programmation de base
-
Pour les TP: Commandes de base d'Unix, Editeur de texte (vi, xemacs,..etc),
mail, netscape
Objectifs
-
Maîtrise de la généricité et à la réutilisabilité
-
Maîtrise des modèles de données et des types abstraits
-
Maîtrise de la programmation orientée objets (mise en
oeuvre en Java)
Volume horaire
-
10h Cours (dont h en autoformation)
-
6h TD (dont h en autoformation )
-
24h TP (dont 12h en autoformation
)
Evaluation
-
Contrôle Continu: (1/3 de la note de CC de l'UV)
-
Petits contrôles sur la partie autoformation
-
TP2 (objets)
-
Examen Final
-
Programmation Objet et Java (1/3 de l'examen)
Planning : Semestre 1
Organisation et Contenu
Cours
Cours 1 : Durée 2h (Semaine
1)
Contenu : Programmation orientée objets
-
Partie encadrée:
-
Des types abstraits de données au modèle orienté
objets
-
Concepts de base: objets , classes , classes et instances,
atrributs, méthodes, envoi de messages
-
Héritage: simple et multiple, mise en oeuvre (statique/dynamique),
liaisons (statique/dynamique)
-
Partie autoformation (Support fourni)
-
Retour sur l'Héritage
-
Retour sur la généricité et le polymorphisme
Cours 2 : Durée 2h (Semaine
2)
Contenu : Programmation orientée objets
-
Partie encadrée:
-
Généricité, Polymorphisme, classes abstraites
-
Relations entre objets : association, aggrégation
(composition)
-
Aspects dynamique: diagrammes de collaboration
-
Partie autoformation (Support fourni)
-
Différence entre Héritage et composition (aggrégation)
-
Retour sur les diagrammes de collaboration
Cours 3 : Durée 2h (Semaine 4)
Contenu : Programmation Java
-
Partie encadrée
-
Partie autoformation (Support fourni)
Cours 4 : Durée 2h (Semaine 5)
Contenu : Programmation Java
-
Partie encadrée
-
Partie autoformation (Support fourni)
Cours 5 : Durée 2h (Semaine 5)
Contenu : Programmation Java
-
Partie encadrée
-
Partie autoformation (Support fourni)
Travaux Dirigés
TD1: Durée 2h (Semaine
1)
Contenu : Programmation orientée objets
-
Contrôle (éventuel) sur la partie autoformation du
cours (10mn)
-
Partie encadrée (Sujet fourni)
-
Représentation objet d'une petite application (20/30mn)
-
Identification des objets, attributs, méthodes, messages
-
Utilisation d'un TDA et spécialisation (15 mn)
-
Analyse d'une petite application (cas simple) et représentation
des données suivant le modèle orienté objets (30mn)
-
Enumération des données et caractérisation
suivant le modèle objets (attributs, méthodes)
-
Abstraction des classes, héritage simple
-
Analyse d'une application plus complexe (45mn)
-
Caractérisation des objets et abstraction en classes
-
Héritage simple/multiple
-
Spécialisation/Généralisation
TD2: Durée 2h (Semaine
2)
Contenu : Programmation orientée objets
-
Partie encadrée (Sujet fourni )
-
Analyse d'une application et représentation des données
suivant le modèle orienté objets (45 mn)
-
Classes et Objets
-
Classes génériques
-
Relations entre objets: association, aggrégation,
héritage
-
Analyse d'une application simple et représentation
des données suivant le modèle orienté objets (30 mn)
-
Classes et relations entre classes: association, aggrégation,
héritage
-
Diagrammes de collaboration (cas simple)
-
Analyse d'une application plus complexe et représentation
des données suivant le modèle orienté objets (45 mn)
-
Généralisation des classes et réutilisation
-
Diagrammes de collaboration (plus complexes)
TD3: Durée 2h (Semaine
3)
Contenu : Programmation orientée objets
-
Partie encadrée (Sujet fourni )
-
Analyse d'une application et représentation des données
suivant le modèle orienté objets (60 mn)
-
Classes abstraites et polymorphisme
-
Analyse de trace des envois/réception de messages
et déclenchement de méthodes
-
Autre exemple (même questions) (60 mn)
Travaux Pratiques (programme a
definir / a C++)
TP1: Durée 2h (Semaine
4)
Contenu
-
Séance encadrée (Sujet fourni avant la séance
)
-
Implantation d'une petite classe
-
Méthodes et attributs
-
Instanciation et utilisation dans un programme
TP1-Bis: Durée 2h (Semaine 5)
-
Autoformation (Support fourni )
-
Réutiliser le programme du TP1 (pour tester et comprendre)
TP2: Durée 2h (Semaine6
)
Contenu
-
Séance encadrée (Sujet fourni avant la séance
)
-
Implantation d'une petite classe avec
TP2-Bis:Durée 2h (Semaine 7)
-
Autoformation (Support fourni )
-
Réutiliser le programme du TP2 (pour tester et comprendre)
TP3: Durée 2h (Semaine 8)
Contenu
-
Séance encadrée (Sujet fourni avant la séance
)
TP3-Bis:Durée 2h (Semaine 9)
-
Autoformation (Support fourni )
-
Finir la programmation du TP3
-
Réutiliser le programme du TP3 (pour tester et comprendre)
TP4: Durée 2h (Semaine
10)
Contenu
-
Séance encadrée (Sujet fourni avant la séance
)
-
Amorce du TP à rendre
-
Programmation des petites classes du TP
-
Test de chaque classe individuellement
-
Définition des relations d'héritage (éventuel)
entre ces classes
-
Test de l'héritage
-
Connaissances visées en Java:
-
Notions de base: classes, attributs, méthodes
(droits d'acces)
-
Héritage
TP4-Bis:Durée 2h (Semaine 11)
-
Autoformation
-
Finir la programmation du TP4
TP5: Durée 2h (Semaine 12)
Contenu
-
Séance encadrée
-
Travail sur le TP à rendre
-
Programmation d'une classe générique
à utiliser (s'il y a lieu) ou autres classes "outils"
-
Test de chaque classe individuellement
-
Connaissances visées en Java:
TP5-Bis:Durée 2h (Semaine 13)
-
Autoformation
-
Finir la programmation du TP5
TP6: Durée 2h (Semaine 14)
Contenu
-
Séance encadrée
-
Travail sur le TP à rendre
-
Programmation des classes plus complexes (intégrant
les petites classes programmées jusque là)
-
Test de chaque classe individuellement
-
Connaissances visées en Java:
TP6-Bis: Durée 2h (Semaine
15)
Contenu
-
Séance encadrée
-
Travail sur le TP à rendre
-
Programmation de l'interface et intégration de l'ensemble