Accueil  >>  Master  >>  Informatique  >>  Technologies de l'information et web  >>  Programmation avancée
  • Domaine : Masters du domaine SCIENCES, TECHNOLOGIES, SANTE
  • Diplôme : Master
  • Mention : Informatique
  • Parcours : Technologies de l'information et web
  • Unité d'enseignement : Programmation avancée
Nombre de crédits de l'UE : 3
Code APOGEE : INF1088M
UE Obligatoire pour ce parcours
UE valable pour le semestre 1 de ce parcours
    Responsabilité de l'UE :
CHAINE RAPHAËLLE
 raphaelle.chaineuniv-lyon1.fr
04.72.43.26.62
    Type d'enseignement
Nb heures *
Cours Magistraux (CM)
15 h
Travaux Dirigés (TD)
0 h
Travaux Pratiques (TP)
15 h
Total du volume horaire
30 h
* Ces horaires sont donnés à titre indicatif.
    Programme - Contenu de l'UE :

Le but de ce module est d'introduire la question de la généricité et de la méta-programmation dans le développement logiciel de librairies. Les librairies génériques doivent permettre la mise en place d'applications efficaces et robustes, dans des domaines multiples et variés.

Pour mettre en œuvre de telles librairies, le langage C++ offre un certain nombre d'outils comme l’identification dynamique de type mais aussi les templates, dont le mécanisme statique sera expliqué en détail.

Le C++ s’accompagne notamment d’une bibliothèque standard, la Standard Template Library (STL) qui offre un certain nombre de patrons (classes conteneurs, algorithmes, itérateurs) correspondant aux structures de données et aux algorithmes classiquement utilisés en Informatique. Nous rappellerons comment une telle librairie peut être utilisée, mais aussi comment mettre en place des librairies s'appuyant sur le même paradigme de programmation générique. En particulier, nous ferons référence au projet Boost qui correspond à un référentiel pour les évolutions futures du langage C++ et de ses normalisations.

Par ailleurs, le langage JAVA est le second langage à objets majoritairement utilisé par l’industrie, et ce cours reviendra sur les différences fondamentales de ce langage avec C++, avec toutes les conséquences en terme de philosophie de conception et style de programmation. Malgré leurs ressemblances superficielles, les programmes obtenus avec ces deux langages peuvent en effet avoir des comportements complètements différents. 

    Modalités de contrôle des connaissances et Compétences 2018-2019 :
TypeLibelléNatureCoef. 
CTContrôle TerminalCT : M1if02 Prog avanceeEcrit session 1 / Ecrit session 22
CCContrôle ContinuCC : M1if02 Prog avanceeContrôle Continu1
    Liste des autres Parcours / Spécialité / Filière / Option utilisant cette UE :
Date de la dernière mise-à-jour : 13/04/2018
SELECT * FROM parcours INNER JOIN ue_parcours ON PAR_ID_FK=PAR_ID INNER JOIN mention ON MEN_ID = PAR_MENTION_FK WHERE PAR_ACTIVATE = 0 AND UE_ID_FK='16766' ORDER BY UE_ID_FK ASC, PAR_ID_FK ASC