m3105 conception et programmation objet avancées …nowak/teaching/cpoa/amphi01.pdf · • rendre...

21
CPOA Conception et programmation objet avancées Amphi 1 : introduction Thomas Nowak Université Paris-Sud

Upload: hadang

Post on 13-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

CPOA Conception et programmation

objet avancées

Amphi 1 : introduction

Thomas NowakUniversité Paris-Sud

Page 2: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Organisation• Amphis : 2 x 45min

• le lundi à 15h

• le vendredi à 11h

• en salle Hubert Coudanne (horaires différents la première semaine, voir EDT)

• TD : 2h par semaine sur machine (à partir de la semaine prochaine)

• https://www.lri.fr/~nowak/teaching/cpoa/

Page 3: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Équipe• Giancarlo Fissore (TD anglophone, groupe D, vendredi

matin, salle I101)

• Hakim Haroun (TD, groupe B, lundi 9h, salle I105)

• Rémy Lautie (TD, groupe C, mercredi 15h15, salle I013)

• Hugues Mandon (TD, groupe A, lundi 9h30, salle I101)

• Thomas Nowak (cours, TD, groupe E, vendredi 9h45, salle I013)

Page 4: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Modalités de contrôle Contrôle continu

Somme des 2 meilleures notes parmi :

1. Midterm : 10 points, 45 min, sans documents, 23 novembre 2018, heure de l’amphi

2. Rendus de TD : 10 points, entretien à la fin du semestre

3. Notes de cours : 10 points, élaborer vos notes manuscrites sous forme électronique

Page 5: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Rendus de TD• ~10 feuilles de TD, traitent le contenu du cours des semaines

précédentes

• 1 point pour chaque feuille terminée et déposée sur Moodle pendant la séance TD correspondante

• faire signe au chargé de TD pour qu’il vérifie la solution

• inscription sur Moodle (pour dépôt) :

• clé d'inscription dépend du groupe de TD, pour le groupe 3C1 :

• Clé-TP3C1

Page 6: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Notes de cours• élaborer vos notes manuscrites pour 2 séances amphi

sous forme électronique (format LaTeX, HTML, Markdown, texte brut ou Word)

• jusqu’à 5 points par séance amphi (a priori 10 points max, plus si vraiment bien)

• partagé avec vos collègues, sauf si demande contraire

• rendre par email au plus 2 semaines après la séance : [email protected]

Page 7: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Modalités de contrôle Devoir surveillé

• 2 heures, tous les documents autorisés

• semaine du 17 au 21 décembre 2018

• appliquer les notions du cours

• note finale = 40% CC + 60% DS

Page 8: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Au programme• Java avancé

• collections, tests automatiques, threads

• notion d’objet

• design patterns, spécification, sous-types

• Java et d’autres langages

• Java moderne, C++ moderne, POO vs. POD

Page 9: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Livre

Page 10: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Notion d’objet

Page 11: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Triangle

ab

c

Page 12: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Triangle équilatéral

a

a a

Page 13: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Java et d’autres langages

Page 14: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Paradigmes de programmation

• Impératif

• Procédural (e.g., C)

• Orienté objet (e.g., Java)

• Déclaratif

• Fonctionnel (e.g., Lisp)

• Logique (e.g., Prolog)

Page 15: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Aspects de langages de programmation

• Modèle de calcul (théorique, pratique)

• Modularité (paramétrisation, substitution)

• Types (cohérence, abstraction)

Page 16: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Programmation procéduraletypedef struct { double x; double y; } point; point p = {0, 0}; int f(int x) { return 2*x; } int x = 2; int y = f(x);

Page 17: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Programmation orientée objet

public class Point { double x; double y; public Point(double x, double y) { this.x = x; this.y = y; } } public class IntPoint extends Point { public IntPoint(int x, int y) { super(x, y); } }

Page 18: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Programmation fonctionnelle

(defun f (n) (if (= n 1) 1 (* n (f (- n 1))))) (f 2)

Page 19: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Programmation logique

humain(socrates). mortel(X) :- humain(X). ?- mortel(socrates). > yes.

Page 20: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Paradigmes de programmation

• Programmation objet est un des paradigmes les plus populaires

• Raisons : abstraction objet adaptée aux humains, utilisation large, bons outils omniprésents

• Historiquement extension de la programmation procédurale

• Aujourd’hui souvent couplée avec la programmation fonctionnelle

Page 21: M3105 Conception et programmation objet avancées …nowak/teaching/cpoa/Amphi01.pdf · • rendre par email au plus 2 semaines après la séance : ... • C++ moderne. ... Programmation

Questions