Programmation générique (INFO702_ISC)

Volume horaire: CM : 9h / TD : 9h / TP : 12h

Présentation

Ce module donne les éléments principaux de la programmation C++  . Un support de cours complet est mis à disposition des étudiants.

Objectifs

Introduire les ingrédients principaux de la programmation générique: fonctions et classes patron, bibliothèque générique STL, concepts et modèles de concepts, classes traits et méta-programmation.

Pré-requis

Savoir programmer en C : références, programmation objet classique avec héritage et polymorphisme, surcharge d'opérateurs, allocation dynamique.

Plan du cours

  • CM : Ce module a un double objectif. D'une part il donne les éléments principaux de la programmation C++, en supposant connu le C : références, programmation objet classique avec héritage et polymorphisme, surcharge d'opérateurs, allocation dynamique. D'autre part il expose les intérêts et introduit les ingrédients principaux de la programmation générique: fonctions et classes patron, bibliothèque générique STL, concepts et modèles de concepts, classes traits et méta-programmation. Un support de cours complet est mis à disposition des étudiants
  • TD : Chacun des TDs permet de mettre en pratique les différents concepts vus en cours. Les premiers TDs font travailler le C++ "classique", notamment les références et le polymorphisme. L'exemple d'un ensemble de formes avec des algorithmes aléatoires "presque sûrs" de tests d'inclusion permet de faire travailler la programmation orientée objet et la syntaxe C++. Ensuite, la programmation générique est travaillée à la fois sous ses aspects fonctions et classes. On montre l'intérêt de la spécialisation des conteneurs sur quelques exemples concrets, comme les "smart pointers".
  • TP: Les TPs sont organisés sous forme de deux grosses parties, avec un même fil rouge : le traitement d'image. La première vise à faire pratiquer la programmation orientée objet classique C++, en définissant une classe image, des opérateurs d'import/export (sérialisation), des traitements simples (seuillage, histogramme, égalisation). Elle permet aussi de pratiquer un peu la bibliothèque STL. La deuxième partie s'intéresse à la programmation générique proprement dite. Le conteneur Image devient générique et peut traiter de façon indifférente images couleur et noir et blanc. Des itérateurs génériques et des adaptateurs sont mis au point pour traiter les images de couleurs, afin de pouvoir accéder à leurs canaux couleur ou leur intensité comme si c'était des images en niveaux de gris.

Diplômes intégrant ce cours

En bref

Crédits ECTS : 3

Méthode d'enseignement
En présence

Forme d'enseignement
Travaux pratiques

Langue d'enseignement
Français

Contact(s)

UFR, Écoles, Instituts

Lieu(x)

  • Le Bourget-du-Lac (73)

Lieu(x) à l'étranger