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 CHABANASContenu(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 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
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