319 | Programmation objet C++ | Génie physique et systèmes embarqués (formation initiale sous statut étudiant) | S7 | ||||||
---|---|---|---|---|---|---|---|---|---|
Cours : 13 h | TD : 0 h | TP : 27 h | Projet : 0 h | Total : 40 h | |||||
Responsable : Emmanuel Cagniot |
Pré-requis | |
---|---|
Non renseigné | |
Objectifs de l'enseignement | |
Montrer les avantages de l'approche objet dans les différentes phases du cycle de vie du logiciel. Comprendre et maîtriser ses principes fondamentaux (encapsulation, héritage, redéfinition des méthodes). Traduction du paradigme objet en C++ et spécificités de ce langage, notions de langage objet et orienté objet, comparaison avec d'autres langages. | |
Programme détaillé | |
UML (connaissances de base). C++ vs. C : nouvelles caractéristiques (espaces de noms, références, gestion dynamique de la mémoire, flots d'entrées/sorties). Classes, encapsulation des données, constructeurs/destructeurs, getters/setters, surcharge des opérateurs, méthodes read-write vs. read-only. Agrégation, composition et association. Héritage simple et multiple, redéfinition des méthodes. Types structuraux (classes) vs. types comportementaux (interfaces). GoF design patterns (connaissances de base). | |
Applications (TD ou TP) | |
Les 10 TP de 3h sont divisés en trois familles. La première (3 TP) introduit les notions de flots d'entrée-sorties et les références dans le cadre du paradigme procédural (écriture de fonctions, traitement de la ligne de commandes, lecture et écriture dans des fichiers textes et binaires, exploitation d'une bibliothèque extérieure - la GSL - écrite en C). La deuxième famille (4 TP) met l'accent sur l'écriture de classes et leur collaboration (pas d'héritage). La dernière famille met l'accent sur l'héritage et la redéfinition au travers de l'implémentation des design patterns du GoF. | |
Compétences acquises | |
COMPETENCES SPECIFIQUES La connaissance de base des concepts doit permettre de pouvoir participer au choix d'un langage dans un contexte de modélisation et de développement logiciel. COMPETENCES GENERIQUES Bloc de compétences : Acquisition de connaissances et méthodes scientifiques et techniques et maîtrise de leur mise en oeuvre -> Niveau 2 : Capacité à mobiliser des connaissances scientifiques et des techniques expérimentales ou de simulation -> Niveau 2 : Capacité à concevoir des systèmes innovants, à les concrétiser et à les tester -> Niveau 2 : Capacité à trouver, évaluer une information pertinente puis à l'exploiter, capacité s'auto-évaluer, enrichir ses connaissances et compétences Bloc de compétences : Acquisition, développement et mise en œuvre de connaissances et méthodes théoriques et expérimentales spécifiques à un domaine professionnel -> Niveau 1 :Tester et Concevoir des systèmes d'instrumentation complet intégrant photonique, electronique analogique, systèmes embarqués, ordinateur |
|
Bibliographie | |
Design Patterns: Elements of Reusable Object-Oriented Software (The Gang of Four - GoF) |
© 2024 - ENSICAEN ( Mentions Légales - Crédits )