Phelma Formation 2022

Algorithmique et Programmation structurée orientée objet - 3PMRIAP4

  • Volumes horaires

    • CM 30.0
    • Projet 0
    • TD 30.0
    • Stage 0
    • TP 12.0

    Crédits ECTS

    Crédits ECTS 3.0

Objectif(s)

  • Maitriser les concepts avancés de la programmation structurée.
  • Connaître les structures de données classiques et les algorithmes associés
  • Acquérir les concepts de base de la programmation par objets.
  • Maîtriser le langage C++ et son environnement de travail
Contact Nicolas CASTAGNE

Contenu(s)

L'enseignement commence par des compléments de programmation structurée concernant les pointeurs et la gestion mémoire.
Il se poursuit en abordant les concepts essentiels de la programmation objet (Classes, Objets, Encapsulation, Héritage, Polymorphisme,...)
Les structures de données classiques (Piles, Files, Listes, Table de Hashage, Arbres) et leur utilisation sont ensuite étudiées.
Les différentes notions sont accompagnées d’exercices sur machine, en langage C++.
Toutes les séances comportent un peu de cours, et des TP et TP. 6 séances (12h) sont exclusivement en TP, sur des sujets plus complets de type projet.

  • Compléments de programmation structurée
    • pointeurs et gestion mémoire
    • pointeurs de fonctions
    • Récursivité
    • Introduction à la complexité
  • Programmation par objets en langage C++
    • Références, pointeurs et gestion mémoire, E/S
    • Classes et objets
      • Attributs et méthodes
      • Encapsulation
      • Constructeurs, destructeurs
      • Surcharge d’operateurs,
      • Protection, fonctions et classes amies
    • Héritage
      • Notion de base
      • Polymorphisme
      • Classes abstraites, fonctions virtuelles
      • Héritage multiple

-Structures de données et algorithmes (avec la STL)

    • Listes, piles, files
    • Dictionnaires et recherche : dichotomie, tables de hachage,
    • Arbres binaires de recherche, Tas


Prérequis

La connaissance de la programmation structurée en langage C est indispensable

Contrôle des connaissances

Session 1 :
Deux examens écrits, un en fin de premier semestre, un en fin de second semestre
Session 2 :
1 examen, ou un oral



Session 1 : 50% 1er Examen, 50% 2nd examen

Session 2 : écrit ou oral, qui remplace la totalité de la note de l'année

Informations complémentaires

Cursus ingénieur->APPRENTISSAGE MT->Semestre 5

Bibliographie

  • Guide de reference C++
    • Stroustrup: The C++ Programming Language, Fourth Edition, Addison Wesley. Reading Mass. USA. May 2013. ISBN 0-321-56384-0. 1360 pages
  • Recueil de conseils C++ / FAQ technique
    • Une mise à jour récente de cette FAQ, groupée avec celle de Bjarne Stroustrup :
      En ligne : https://isocpp.org/faq
  • Ouvrages pédagogiques C++
  • UML
    • Pierre-Alain MULLER, Nathalie GAERTNER : Modélisation objet avec UML. Best of Eyrolles ed. 2003.