--- title: "Cours" description: "Cours" --- #### Cours 0 : Introduction de l'UE * [Télécharger les transparents du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM0_OrganisationUE.pdf) * [Visionner la vidéo du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM0) #### Cours 1 : Conception et gestion de projet * [Télécharger les transparents du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM1_ConceptionGestionProjet.pdf) * [Visionner la vidéo du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM1) * Méthodes de conception * Cahier des charges * Diagramme de Gantt #### Cours 2 : Programmation modulaire * [Télécharger les transparents du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM2_ProgrammationModulaire.pdf) * [Visionner la vidéo du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM2) * Diagramme des classes (UML) * Règle d'intégrité * Règles de programmation #### Cours 3 : Outils pour la programmation * [Télécharger les transparents du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/LIFAPCD_CM3_OutilsProgrammation.pdf) * [Visionner la vidéo du cours](http://liris.cnrs.fr/~npronost/UCBL/LIFAP4/videosCM.html#CM3) * Compilation de fichier (GCC) * Compilation de projet (Makefile) * Débogage (gdb) #### Cours 4 : Gestion du code * [Télécharger les transparents du cours](doc/LIFAPCD_C4_GestionCode.pdf) * Règles d'écriture de code en C/C++ * Gestionnaire de code (Git) * Doxygen * [Des règles de bonnes pratiques de la programmation](http://perso.univ-lyon1.fr/thierry.excoffier/COURS/COURS/TRANS_COMP_IMAGE/prog.html) #### Cours 5 : Notions de programmation C++ "avancée" * [Télécharger les transparents du cours](doc/LIFAPCD_C5_BibliothequeIntroPOO.pdf) * Test de régression * Valgrind : debug mémoire + profiler * Arguments de main * Introduction aux operator et aux template en C++ * Introduction à la STL : string, vector, list, etc. * Notion de POO/héritage pour pouvoir introduire les frameworks gérant une interface (Qt) #### Cours 6 : Interface Graphique (Graphical User Interface) * [Télécharger les transparents du cours](doc/LIFAPCD_C6_GUI.pdf) * Une interface, qu'est-*ce que cela change ? * Notion de callback/pointeurs de fonctions * Principe d'organisation du code (introduction rapide à la notion de MVC) * Interface en mode texte (un menu) * Avec SDL2 + 2 mots sur SFML * Avec "Dear ImGui" * Avec un framework plus conséquent : Qt ## Évaluation (les différentes notes) * Un contrôle mi-parcours de 1h30 (40%) avant la phase de réalisation du projet * [Sujet 2018](doc/examens/2018_LIFAP4_CC_conception.pdf) / [Sujet QCM 2018](doc/examens/2018_LIFAP4_CC_QCM.pdf) * [Sujet 2019](doc/examens/2019_LIFAP4_CC_conception.pdf) / [Sujet QCM 2019](doc/examens/2019_LIFAP4_CC_QCM.pdf) * [Sujet 2020](doc/examens/2020_LIFAP4_CC_conception.pdf) / [Sujet QCM 2020](doc/examens/2020_LIFAP4_CC_QCM.pdf) * Évaluation du module "Image" (TDs outils) (10%) * Projet (50%) : * Cahier des charges (2%) * Démo mi-*projet (3%), * 3 notes finales "Technique", "Conception" et "Organisation" (3×15%). Regardez dans la [section Projet](../projet/) pour le détail des notes.