- spécifier cette application sur la base d'un sujet imposé,
- développer cette application en C++ moderne (utilisation de "Resource Acquisition Is Initialization / RAII", de pointeurs intelligents), à l'aide de l'environnement de développement (IDE) Visual Studio ou CLion,
- développer des tests unitaires dans le cadre d'une démarche Test-Driven Development (TDD),
- intégrer 3 bibliothèques externes (dont le moteur graphique SFML ou Qt) à leur application,
- mettre en oeuvre une hiérarchie de classes et expliquer cette hiérarchie de classe à l'aide d'un diagramme UML,
- intégrer au moins un design pattern (qui peut être un game programming pattern) au sein de l'application,
- implanter une interface utilisateur intuitive et fluide,
- présenter et/ou critiquer de manière argumentée, en public, un travail réalisé.
-
SujetsSupportsNotions clésHors présentiel
-
Avant CI0Installations
- Installation de l'IDE
- Génération et exécution de l'exécutable d'une application graphique
-
CI0Introduction + Cours relecture de code + Assistance à eux·celles qui ont eu des soucis d'installation
- Présentation de la VAP et du module
- Réflexions autour du métier de développeur·euse
-
CI1TD Relecture de code + Vecteurs
- Relecture de code
- Iterator
- Range Based loop
- Passage de paramètres
- Exercice fil rouge, section 4
- Pages à lire : 627-640
- Pages à lire (recommandé) : Chapitre 17, 18.6 - fin Chapitre 18
- A lire : Chapitre 21
- A lire (recommandé) : Chapitre 20
-
CI2Conteneurs
- List, map, unordered map
- Operator
- Lambda expression
-
CI3Conteneurs (suite) + Classes
- Surcharge d'opérateurs
-
CI4Classes (suite)
- Constructeurs
- Exercice fil rouge, section 7
- A lire : 19.3.4 (686-687)
-
CI5Héritage
- Slicing
- Fonctions virtuelles
- Exercice fil rouge, section 8
- A lire : Chapitre 19
-
CI6Mémoire
- Pointeurs intelligents
-
CI7Les exceptions
-
CI8Les constructeurs
- Constructeurs par défaut
- Constructeurs de copie
- Constructeurs par déplacement
- Opérateur =
-
CI9S'inscrire dans un code existant
-
Bonus (étudié en 3A JIN)Sensibilisation à la programmation concurrente (multitâche) à travers C++
- Cours Intégré