-
Partager cette page
Programmation orientée objet
Titulaire(s) du cours
Mahmoud SAKR (Coordonnateur)Crédits ECTS
5
Langue(s) d'enseignement
français
Contenu du cours
L’accent est mis principalement sur l’entraînement pratique à la programmation, avec une initiation à la programmation orientée objet (POO). Plutot les concepts essentiels de la POO - classes, héritage, polymorphisme et surcharge d’opérateurs - sont abordés, en privilégiant l’organisation du code. La conception avancée comme design patterns est brièvement évoqué, à titre indicatif, pour que les étudiants sachent où chercher s’ils en ont besoin ultérieurement.
Une particularité du cours est son approche intégrée de l’architecture des ordinateurs: des notions telles que la gestion de la mémoire, les périphériques ou l’utilisation des ressources système sont introduites au fil des besoins de la programmation, en lien direct avec les concepts abordés en cours, et non dans des séances théoriques dédiées. Cette approche favorise de bonnes pratiques de codage et crée des synergies naturelles avec d’autres cours tels qu’ELEC-H301, INFO-H304 et ELEC-H310.
Objectifs (et/ou acquis d'apprentissages spécifiques)
À l’issue de ce cours, les étudiants seront capables de:
- Maîtriser les fondements de la programmation en C++, notamment la syntaxe, les structures de contrôle, la gestion dynamique de la mémoire, les templates et la bibliothèque standard (STL).
- Comprendre les principes de la programmation orientée objet (POO) et les appliquer pour concevoir et implémenter des programmes en C++.
- Appliquer les concepts de la POO dans des projets logiciels afin de produire du code modulaire, lisible et facile à maintenir.
- Comprendre les bases de l’architecture des ordinateurs en lien direct avec la programmation, notamment la gestion de la mémoire et les opérations d’entrée/sortie (fichiers) en C++.
- Mettre en œuvre des compétences en débogage et résolution de problèmes dans un environnement de développement réel.
- Écrire du code efficace, en prenant en compte les coûts d’exécution et en optimisant l’utilisation des ressources système (mémoire, processeur, etc.).
- Identifier et exploiter des applications concrètes du C++ dans des projets logiciels liés à d’autres cours du tronc commun de Polytech, en tant qu’outil de résolution de problèmes techniques.
- Collaborer au sein d’une équipe pour réaliser un projet de programmation complet qui intègre l’ensemble des notions du cours, en démontrant leur capacité à concevoir, implémenter et gérer un logiciel de taille significative dans un contexte proche de la réalité professionnelle.
Pré-requis et Co-requis
Cours pré-requis
Cours ayant celui-ci comme pré-requis
Cours ayant celui-ci comme co-requis
Méthodes d'enseignement et activités d'apprentissages
Organisation du cours
- Une séance de cours magistral a lieu chaque semaine, suivie d'un TP associé la semaine suivante
- Le cours magistral présente de nouveaux concepts (programmation, bases de l’informatique, conception orientée objet). Chaque séance inclut également un mini-projet illustrant les principaux concepts abordés, qui sera expliqué en classe
- Un MOOC disponible sur UV permet de s'entraîner sur les thèmes vus en cours
- Le syllabus ainsi qu’un livre recommandé sont à votre disposition pour approfondir ou clarifier tout concept
- Si vous avez des questions, plusieurs ressources sont à votre disposition:
- posez-les au professeur pendant ses heures de consultation,
- aux assistants (TA) pendant leurs heures de consultation,
- ou aux élève assistants.
- Chaque TP prend la forme d’un quiz:
- une semaine sur deux, il s’agit d’un quiz formatif (non noté, à visée d’entraînement)
- la semaine suivante, d’un quiz évalué (noté)
Références, bibliographie et lectures recommandées
Beginning C++ Horton publié chez APRESS, Auteur Ivor Horton; 2014, download via Cible+ (https://link-springer-com.ezproxy.ulb.ac.be/book/10.1007/978-1-4842-0007-0)
Les fondements de l'informatique publié chez Vuibert; Auteur Hugues Bersini
Support(s) de cours
- Syllabus
- Université virtuelle
Autres renseignements
Informations complémentaires
La pédagogie repose sur l’apprentissage par projet. Chaque séance de cours est divisée en deux parties:
(1) une présentation des nouveaux concepts, suivie de
(2) une démonstration de codage en direct d’un mini-projet illustrant ces notions dans un contexte réaliste et motivant. Plusieurs projets jalonnent le semestre, permettant aux étudiants de revoir plusieurs fois les mêmes idées sous des angles différents, ce qui renforce leur compréhension.
GitHub est utilisé comme plateforme centrale. Grâce à cette utilisation pratique, les étudiants acquerront les bases essentielles de la gestion de versions, compétence indispensable au développement logiciel collaboratif.
Campus
Solbosch
Evaluation
Méthode(s) d'évaluation
- Projet
- Evaluation continue
- Examen oral
Projet
Evaluation continue
Examen oral
Construction de la note (en ce compris, la pondération des notes partielles)
Évaluation :
- Quizzes bi-hebdomadaires évalué à 70% (14/20): 6 quizzes au total.
- Durée: Chaque quiz dure 1 heure.
- Contenu: Les questions portent sur tout le matériel vu depuis le début de l’cours jusqu’à la date du quiz, avec une attention particulière accordée aux deux semaines précédentes.
- Le quiz a lieu pendant le créneau habituel du TP, dans la salle de TP.
- Format: de questions QCM et de questions de programmation, portant sur les sujets abordés en cours.
- Le quiz se déroule entièrement sur UV, via votre compte ULB.
- Vous pouvez utiliser votre propre ordinateur portable ou un PC de la salle informatique. Les tablettes ne sont pas autorisées.
- Tous les quizzes ont la même valeur. Ensemble, ils représentent 70 % de la note finale du cours (14/20).
- En cas d’absence justifiée le jour d’un quiz, vous devez envoyer votre justificatif à l’assistant(e) du cours dès que possible, et au plus tard avant le TP de la semaine suivante. Un quiz de rattrapage vous sera alors organisé la semaine suivant celle du quiz manqué.
- En dehors des absences justifiées, aucun quiz individuel ne peut être repassé
- Projet de groupe évalué à 20 % (4/20)
- Groupe de quatre étudiants (ni 5, ni 3)
- Le projet sera annoncé vers la semaine 29 et à remettre vers la semaine 35. Un calendrier plus détaillé suivra ultérieurement
- Chaque groupe présentera son projet devant un jury composé d’assistants de cours et recevra une note collective
- Examen oral sur le projet évalué à 10 % (2/20).
- Chaque membre du groupe passera un examen oral individuel sur le projet. Oui, chaque étudiant doit connaître l’ensemble du projet et pourra être interrogé sur n’importe quelle partie de celui-ci
- Cet examen oral ne portera pas sur l’ensemble du cours, mais uniquement sur le projet. Bien entendu, le projet met en œuvre des concepts abordés en cours, il y aura donc des points de recoupement
- Il n’y a pas d’examen final en juin. L’évaluation se déroule tout au long du semestre selon les modalités décrites ci-dessus - il s’agit d’une évaluation continue !
Deuxième session :
- Il n’y a pas de deuxième session pour le projet de groupe ni pour l’oral associé. Vos notes obtenues en première session sont définitives
- Si votre note totale (quiz + projet + oral) en première session est inférieure à 10/20, vous ne pouvez repasser que la partie quiz (sur 14/20). La note du projet et de l’oral obtenue en première session est conservée.
- La deuxième session des quizzes se déroule sous la forme d'un examen de 3 heures sur UV, couvrant l'ensemble du programme du cours
Langue(s) d'évaluation
- français