Object oriented programming
Résumé
Ce cours approfondit les connaissances en programmation présentées dans le cours ICC du 1er semestre. L'accent est mis sur la conception et la spécification de programmes (en Python) via l'approche « orientée objet » et la réalisation d'une mini-application dans un projet réalisé par binôme.
Contenu
- Fondements de l'approche orientée objet pour la modularité : structure de classe, encapsulation, méthodes, héritage, polymorphisme.
- Méthodes de développement de programmes : documentation, tests, développement collaboratif
- Bibliothèques usuelles d'outils (bibliothèques standard et tierces)
- Programmation générique
- Les concepts théoriques introduits lors des cours magistraux seront mis en pratique dans le cadre d'exercices sur machines et par le biais de la réalisation d'un projet.
Mots-clés
langage Python, programmation orientée-objet, conception de logiciel
Compétences requises
Cours prérequis obligatoires
CS-119(l) Information, Calcul, Communication
Concepts importants à maîtriser
bases de programmation procédurale, par exemple en C++, Java ou Python
Acquis de formation
A la fin de ce cours l'étudiant doit être capable de:
- Modéliser , à l'aide de la couche orientée objet du langage Python, une situation modérément complexe du monde réel décrite en français
- Analyser un problème complexe pour le décomposer en sous-problèmes
- Concevoir des algorithmes résolvant des tâches modérément complexes
- Transcrire un algorithme en son programme équivalent en Python
- Tester l'adéquation du résultat d'un programme par rapport à la tâche demandée
- Evaluer l'impact des algorithmes choisis et de leur implémentation sur les performances
- Réaliser de façon autonome et collaborative une application de taille moyenne
- Analyser du code Python avancé pour en décrire le résultat ou le corriger s'il est erroné
Compétences transversales
- Persévérer dans la difficulté ou après un échec initial pour trouver une meilleure solution.
- Accéder aux sources d'informations appropriées et les évaluer.
- Planifier des actions et les mener à bien de façon à faire un usage optimal du temps et des ressources à disposition.
- Gérer ses priorités.
- Utiliser une méthodologie de travail appropriée, organiser un/son travail.
Méthode d'enseignement
Séances ex cathedra complétant un cours en ligne (MOOC), travaux pratiques sur ordinateur
Travail attendu
Participation au cours, résolutions d'exercices, réalisation d'un projet par groupe de deux, travail personnel « à la maison ».
Méthode d'évaluation
Contrôle continu :
- une série notée intermédiaire pour 17% ;
- un examen écrit (2 h), pour 33% ;
- un projet par groupe de 2, pour 50%.
Encadrement
Office hours | Non |
Assistants | Oui |
Forum électronique | Oui |
Ressources
Service de cours virtuels (VDI)
Oui
Bibliographie
J.-C. Chappelier, C++ par la pratique, PPUR 2012 (3e édition)
Ressources en bibliothèque
Sites web
Liens Moodle
Vidéos
In the programs
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: Object oriented programming
- Courses: 1 Hour(s) per week x 14 weeks
- Project: 2 Hour(s) per week x 14 weeks
- Type: mandatory