Ensimag Rubrique Formation 2022

Algorithmique et programmation orientée objets - 4MMAPOO

  • Volumes horaires

    • CM 18.0
    • TD 18.0

    Crédits ECTS

    Crédits ECTS 4.0

Objectif(s)

L'objectif du cours est l’apprentissage de la programmation orientée objets et la mise en œuvre de solutions à des problèmes algorithmiques complexes. Le cours couvre une introduction à la programmation orientée objets, la conception d’algorithmes par analyse de leur coût puis leur implémentation dans un langage orienté objets. Il est illustré par la résolution de problèmes d'optimisation par différentes techniques (exploration combinatoire tronquée, programmation dynamique).

Contact Matthieu CHABANAS

Responsable(s)

Contenu(s)

* Bases de l’orienté objets : concept d’objet, écriture de classes et utilisation d’objets
* Polymorphisme, héritage
* Type abstrait d’ensembles d’objets (conteneurs et itérateurs) : étude de ces types abstraits, manipulation via la notion d’interface et utilisation d’une bibliothèque de composants
* Rappel des notions de coût et d’analyse d’un algorithme (coût en temps et mémoire ; analyse au pire cas, en moyenne et amortie)
* Conception de structures de données complexes, étude de coût
* Programmation récursive, Branch&Bound

Le cours s’appuie sur le langage Java.

La première partie (programmation orientée objet) est faite sous la forme d'un apprentissage par projet (APP). Des travaux pratiques en séance permettent d'appliquer les concepts vus en deuxième partie.



Prérequis

En terme de modules : Algorithmique et structures de données 1 et 2.
En terme de compétences : programmation impérative (itération, récursion, programmation procédurale, généricité ; mise en pratique). Structures de données

Contrôle des connaissances

CONTRÔLE CONTINU :
Type d'évaluation (ex : TP, assiduité, participation) :

SESSION NORMALE :
Type d'examen (écrit, oral, examen sur machine) : examen écrit, évaluation du rendu des APP (la note d'APP ne se rattrape pas)
Salle spécifique :
Durée : 3 h
Documents autorisés (ex : aucun, résumé feuille A4 manuscrite, dictionnaires, tous documents) :
Documents interdits (ex : livres, tous documents) :
Matériel (ex : calculatrices):

  • matériel autorisé, préciser :
  • matériel interdit, préciser :
    Commentaires :

SESSION DE RATTRAPAGE :
Type d'examen (écrit, oral, examen sur machine) :
Salle spécifique :
Durée :
Documents autorisés (ex : aucun, résumé feuille A4 manuscrite, dictionnaires, tous documents) :
Documents interdits (ex : livres, tous documents) :
Matériel (ex : calculatrices):

  • matériel autorisé, préciser :
  • matériel interdit, préciser :
    Commentaires :


N1 = (3*E + APP) / 4
N2 = (3*E2 + APP) / 4

Informations complémentaires

Cursus ingénieur->Filière MMIS->Semestre 3
Cursus ingénieur->Filière ISI->Semestre 3
Cursus ingénieur->Filière Télécom->Semestre 3
Cursus ingénieur->Filière SLE->Semestre 3
Cursus ingénieur->Filière IF->Semestre 3

Bibliographie

Introduction to Algorithms (chap 1-4, 17, 14, 15, 22, 24, 25), Cormen Leiserson Rivest Stein, MIT PRESS
Thinking in Java, B. Eckel, Prentice Hall