Développement C++

Catalogue des cours de Télécom SudParis

Code

IGSF CSC 4526

Niveau

M1

Graduate

Graduate

Semestre

Spring

Domaine

Informatique

Programme

Programme Ingénieur

Langue

Français/French

Crédits ECTS

4

Heures programmées

33

Charge de travail

90

Coordonnateur(s)

Département

  • Informatique

Equipe pédagogique

Organisation

Cours/TD/TP/projet/examen : 15/0/18/0/0

Acquis d'apprentissage

A l'issue du module, les étudiants sont capables, dans le cadre d'une application interactive (qui peut être un jeu vidéo) de petite taille, mais réaliste de :
- 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é

Compétences CDIO

  • 1.3 - Connaissances avancées en ingénierie : méthodes et outils
  • 2.4.3 - Créativité
  • 2.4.4 - Esprit critique
  • 4.3.3 - Ingénierie Système : Modélisation et interfaces
  • 4.3.4 - Gestion de projets de développement
  • 4.5.3 - Processus de réalisation logicielle
  • 4.5.5 - Test, vérification, validation et certification
  • 4.6.4 - Amélioration et évolution du système
  • 4.7.7 - S'exercer à critiquer le projet / la solution

Prérequis

Langage C, programmation objet, UML

Mots-clés

Langage C++, environnement de développement, interfaces graphiques, bibliothèques tierces

Contenu

- Montrer les particularités du C++
- Comprendre les concepts et leur mise en œuvre syntaxique (notamment le C++ moderne)
- Comparaisons avec Java et C
- Micro-projet permettant de mettre en œuvre les connaissances acquises en cours

Evaluation

La présence en cours et la participation sont prises en compte dans l'évaluation.
La plupart des notions abordées dans cette UV sont approfondies lors d’un micro-projet. La validation de ce projet est basée sur l’appréciation du travail réalisé (incluant des tests unitaires) et d’une soutenance orale.
Note finale = note de micro-projet

Il n'y a pas de deuxième session.

Bibliographie

Bjarne Stroustrup, Programming : Principles and practice using C++, 2nd edition, 2016
Stanley B. Lippman, Josée Lajoie and Barbara E. Moo, C++ primer 5th edition, 2012
Matthieu Nebra et Matthieu Schaller, programmez avec le langage C++, 2011
Herb Sutter, More exceptional C++, 2002
Scott Meyers , effective STL, 2001
Herb Sutter, Exceptional C++, 2000

Approches pédagogiques

L’acquisition des connaissances est assurée à l’aide d'un cours introductif (3 heures), de 8 séances de cours intégrés (3 heures chacune), d'un micro-projet mobilisant les connaissances vues en cours, et d'une soutenance finale (séance de 2x3 heures) permettant de commenter/argumenter le code réalisé.