Master Informatique - Université de Lyon - Université Claude Bernard
  M1IF23 - Automne 2025

Programmation Avancée, Spécificités du C++

Organisation :

Emploi du temps : http://master-info.univ-lyon1.fr/M1/#24. Les salles sont indiquées dans l'ordre des groupes G1, G2, G3, G4, G5, G6 et G7. Attention, vous n'aurez pas de cours de Programmation Avancée le vendredi 24 octobre 2025, mais vous pourrez profiter des salles réservées pour travailler.

Cours :

Plan donné à titre indicatif. Il pourra y avoir des modifications dans le déroulement du cours et la composition des séances. Nous n'aurons probablement pas le temps d'aborder les notions indiquées en grisé, mais n'hésitez pas à les regarder pour compléter vos connaissances.

Cours 1 :  Mise à niveau et objectifs
Cours 2 :  Héritages et constructeurs, rvalue references, déplacement, objets fonctions

Cours 3 :  Objets fonctions, Généricité dynamique, polymorphisme
Cours 4 :  Généricité dynamique, RTTI, Sémantique des casts en C++,
Cours 5 :  Limites du polymorphisme dynamique, Généricité statique
Cours 6 :   Standard Template Library
Cours 7 :  Allocation dynamique personnalisée, Pointeurs intelligents,  Cours supplementaire non fait en séance : Héritage multiple, exception  
Cours 8 :   Métaprogrammation  Cours 9 :   Fin cours 08 + Les évolutions de C++ depuis C++11 et notamment les concepts 
  • Et tant d'autres choses!
  • TPs : 

    Les liens sur les TPs deviendront valides au fur et à mesure des séances.
    Le contenu des TPs est donné à titre indicatif et peut évoluer d'une année à l'autre.



    Examen :

    Pour vous entrainer, voici un exemple d'interro finale et de QCM (première session).
    Nous vous recommandons surtout de bien relire vos cours, de refaire les exemples et de revenir sur l'ensemble des exos posés en TP.
    BIEN REGARDER LES ELEMENTS DE CORRECTION PLACES SUR LE SITE WEB DU COURS

    TP noté :

    Le TP noté sera à faire en monome. Vous trouverez dans Tomuss, la salle à laquelle vousêtes affectés.
    Vous aurez uniquement droit :

        * à une page de votre navigateur ouverte sur Tomuss, aucun autre accès réseau n'est autorisé (pas de git, pas de chat, pas de cppreference, pas d'accès à la page du cours, etc...)
        * à un lecteur de pdf ouvert sur les slides du cours ainsi que sur les sujets de TP de l'UE (vous pouvez également disposer d'une version imprimée). VOUS NE DISPOSEZ EN REVANCHE PAS DES CORRECTIONS.
        * à votre éditeur préféré ouvert sur un projet vide


    Cela signifie que vous n'aurez pas droit à internet ni à vos codes écrits précédemment, ni à des ouvrages imprimés autres que les documents du cours. Votre application de mail ou de tchat devra également être fermée, ainsi que votre téléphone portable.

    Attention : Le chargé de TP pourra vérifier en cours de séance que vous respectez bien ces règles. Votre écran doit rester visible tout le temps de la séance.
      
    Regardez dans Tomuss à quelle salle vous serez affectés pour composer votre TP noté.
    A la fin de la séance vous devrez déposer une archive de votre travail sur Tomuss :

        * Attention de ne mettre que les .h et .cpp (si possible avec un Makefile).
        * L'archive (.zip ou .gz ou .tgz) que vous déposez DOIT porter votre nom.

    Bibliographie :

    Enseignants: