L1 - Initiation L1 - Python L2 - POO

Initiation à la Programmation Orientée Objet

Vous trouverez ici tout ce qui concerne le cours, dispensé au premier semestre de la licence 2, intitulé "Programmation Orientée Objet (POO ou P2O) - Python : approffondissements". L'objectif est d'aborder les différents concepts de la programmation orientée objet en comparant tout d'abord programmation objet contre programmation structurée (fonctionnelle), en détaillant ensuite les concepts de classe, objet, encapsulation, agrégation, généralisation, spécialisation, héritage et polymorphisme, en intégrant également les notations graphiques UML pour modéliser un ensemble de classes et leurs relations et, finalement, en appliquant régulièrement l'ensemble de ses notions à l'approffondissement des connaissances du langage Python.

Volume horaire

Le volume de cet enseignement comprend 13 scéances de 1 heure de cours magistraux et 12 scéances de 2 heures de travaux dirigés et pratiques.

Modalités d'évaluation

Il sera demandé de réaliser en binôme un devoir "maison" et un devoir sur machines de 2 heures. Le traditionnel examen final concluera le semestre.

Une évidence : la non obligation de présence à un cours ou une scéance de travail dirigé ou pratique ne signifie pas qu'il n'est pas obligatoire de savoir ce qui s'y dit : l'examen final pourra par exemple comporter des questions sur des notions vues uniquement en cours magistral !

Le devoir et les enseignants

Véronique Terrier

Jerzy Karczmarczuk

L'évaluation en détail

A venir...

Ressources

  1. Rappels de Python
  2. Introduction à la POO : notions de classes et d'objet
  3. Les classes et les objets en python
  4. L'héritage et les interfaces
  5. Agrégation, polymorphisme, surcharge
  6. Techniques avancées, itérateurs, générateurs
  7. Les threads
  8. Closures, décorateurs, constructeur
  9. Design Patterns
  10. Classes vs. modules vs. packages - epydoc et epytext

La nature ne fait rien sans objet.

Aristote