Description
Programmation en C++
- Structure de contrôles
- Compilation / Édition des liens
- Programmation Orientée objet (OOP)
- Gestion de la mémoire / pointeurs
- Programmation générique (templates, STL)
Patrons de création
- TypeObject, Factory, Singleton
Patrons de comportement
- State, Command, Iterator
Patrons de séquençage
- Game loop, Update
Patrons d'organisation
- Component, Null, Service, Observer
- EntityComponentSystem
Conception avancée
- Moteur Unreal, exposer le C++ au blueprint
- async/multithreading
- marshalling, macros, ...
Finalité
Maîtriser les concepts avancés de la programmation objet. Apprendre à identifier et utiliser les patrons de conception (design pattern) adaptés à une situation de conception en particulier pour le jeu vidéo. Patrons utilisables quelque soit le langage de programmation.
Permettre à l'apprenant de mieux structurer son code en choisissant les patrons de conception adaptés à sa problématique. S'articulant autour d'un projet fil rouge, l'apprenant pourra mettre en pratique les notions abordées durant les séances. Chaque activité permettra d'illustrer les notions abordées dans un contexte de création de jeu vidéo.
Compétences visées
Créer une application en C++
Ajouter des dépendances
Intégrer des tests unitaires et outil d'analyse et de formatage de code
Manipuler des pointeurs et interagir avec l'utilisateurs
Organiser son code
Utiliser des outils de programmation objet et valider le bon fonctionnement de son code
Savoir manipuler des outils courants en programmation CPP (STL, héritage, polymorphisme, gameloop architecture de code...)
Description des modalités d'évaluation
Session 1
L'évaluation sera réalisée par QCM pour les notions théoriques/générales et valider les connaissances de bases en particulier dans les premières séances de la séquence.
La réalisation des différentes activités du projet fil rouge sera en partie évaluée par les pairs (tests unitaires, suivi d'une fiche d'évaluation).
Session 2
L'évaluation sera réalisée par contrôle de connaissances
Public
Avoir déjà pratiqué un langage de programmation.
- Nombre d’ECTS
- 6
- Modalité(s) d'évaluation
- Contrôle continu
- Examen final
- Projet(s)
- Date de début de validité
- Date de fin de validité
- Déployabilité
- Offre déployable dans le réseau en cas d'agrément
Cette unité fait partie du/des bloc(s) de compétences suivant(s).