Recherche avancée
Catalogues >> Sciences et technologies de l'information et de la communication >> Informatique
Responsable :

Valérie Roy
  


Niveau : Graduate

Langue du cours : Français

Période : Printemps

Nombre d'heures : 37

Crédits ECTS : 2
SGS_MP1324 ATHENS - MP01 - Le langage C++
Objectifs: C++ est devenu le langage industriel normalisé incontournable. En effet, il combine les grandes qualités des langages de haut niveau orientés objets à la puissance des langages proches de la machine. Comme toutes les applications comportent des contraintes de temps d’exécution et d’espace mémoire, il permet l’implémentation des logiciels qui nécessitent une manipulation directe des cibles matérielles (systèmes d’exploitation, drivers de périphériques, réseaux,_) tout en apportant l’expressivité, la réutilisation, la maintenance, la simplicité d’évolution, la facilité de test, la gestion de gros projets, le passage à l’échelle, la stabilité des codes écrits et la portabilité.
C++ est un langage généraliste à large spectre. Ayant été intensivement utilisé dans de nombreux domaines, il devient désormais possible de l’utiliser efficacement dans les applications qui imbriquent une grande variété de disciplines : réseau, calcul numérique, applications graphiques, interfaces utilisateur, etc. C++ est un des langages de référence des logiciels libres Open Source.
C++ est un des principaux langages utilisés dans le monde industriel et dont la connaissance est indispensable à tout futur ingénieur désireux de s’impliquer dans les nombreux domaines connexes aux technologies de l’information et de la communication.


Programme: Dans le cours nous aborderons exhaustivement toutes les constructions du langage. Lors de travaux pratiques, l’accent est mis sur l’apprentissage du langage lui même, en dehors d’environnement de programmation intégré, afin que les mécanismes de compilation, d’édition de liens, de déboguage et d’exécution soient bien compris. Nous ferons également une démonstration d’un environnement de programmation intégré afin d’en montrer les spécificités et les différences.
Le petit nombre d’élèves de ce cours, nous permet de l’adapter au niveau de chacun autant lors des présentations que lors des séances de travaux pratiques en proposant des exercices de différentes difficultés.
Un conférencier industriel, ingénieur chez Renault, ayant choisi C++ pour la programmation d’applications de tailles importantes, illustrera ce cours. Il décrira la manière industrielle de concevoir, de gérer en équipe et de faire évoluer de grandes quantités de code C++.
Contenu
  • la réutilisabilité et la généricité (pour réduire les coûts de développement : mécanismes orientés objets, classes template);
  • le contrôle d’accès (séparation de la spécification et de l’implémentation) ;
  • le typage fort et le polymorphisme (pour détecter les erreurs le plus tôt possible dans le cycle de développement : structures et classes, dérivation  simple et multiple, surcharge des fonctions et des opérateurs, etc.) ;
  • les mécanismes d’exceptions pour la gestion des erreurs à l’exécution ;
  • la gestion de la mémoire (mémoire statique, pile d’exécution, mémoire dynamique, surcharge des opérateurs d’allocation et de désallocation) ;
  • l’introspection sur les types de données lors de l’exécution ;
  • l’utilisation de la  STL, bibliothèque normalisée de classes et de fonctions C++,
  • l'utilisation de la norme du langage C++.


Niveau requis : Quelques notions légères de programmation et d’informatique. Nous (re)verrons à la demande des élèves les différentes notions qui pourraient leur faire défaut.


Modalités d'évaluation : Projet de programmation avec choix entre différents sujets suivant les thèmes du cours que les élèves souhaiteront approfondir.


Dernière mise à jour : samedi 11 décembre 2010

© Mines de Paris 2017 - Réalisé par Winch Communication