Université Lyon 1
Université de Lyon
Arqus
Accueil  >>  Master  >>  Informatique  >>  M2 Intelligence artificielle  >>  Programmation avancée
  • Domaine : Masters du domaine SCIENCES, TECHNOLOGIES, SANTE
  • Diplôme : Master
  • Mention : Informatique
  • Parcours : M2 Intelligence artificielle
  • Unité d'enseignement : Programmation avancée
Nombre de crédits de l'UE : 3
Code APOGEE : INF1088M
    Responsabilité de l'UE :
CHAINE RAPHAELLE
 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 2021-2022 :
TypeLibelléSessionNatureCoef. 
CTCT : M1if02 Prog avancéesession 1Ecrit-
CTCT : M1if02 Prog avancéesession 2Ecrit-
CCCC : M1if02 Prog avancéesession 1Contrôle Continu-
CCCC : M1if02 Prog avancéesession 2Contrôle Continu-
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