Niveau d'étude
Bac +3
ECTS
9 crédits
Crédits ECTS Echange
0.0
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Description
Savoir spécifier un problème et proposer une solution algorithmique, savoir l'implémenter dans un langage de programmation et savoir analyser sa démarche.
---------------------
Cet objectif se décline en plusieurs sous-objectifs :
- 1- savoir :
* utiliser les types abstraits algébriques (définitions, propriétés) et les implanter ; utiliser des assertions pour la vérification de programmes
* utiliser des éléments de programmation orientée objet (modularité, encapsulation, héritage)
- 2- savoir :
* mettre en oeuvre des schémas classiques d'algorithmes sous forme fonctionnelle et impérative (séquence, arbre, graphe...), en expression récursive et itérative.
* construire et utiliser des bibliothèques d'objets et de méthodes - (introduction à la généricité)
-3- avoir une démarche de raffinement et d'analyse de coût :
* connaître les grandes méthodes de résolution de problèmes : diviser pour régner, programmation dynamique, algorithmes probabilistes, algorithmes gloutons
* savoir évaluer et comparer des coûts
Heures d'enseignement
- CMCM30h
- TDTD30h
- TPTP30h
Pré-requis recommandés
Expression itérative et expression récursive. Structures de données de base : séquences (représentations tabulées et chainées) - Algorithmes de parcours de séquences - Interclassement de deux séquences - Algorithmes de tri
Période
Semestre 5
Bibliographie
Pour la conception d'algorithme:
- Types de données et algorithmes, Froidevaux, Gaudel, Soria, Edisciences 1994
Pour la description des algorithmes:
- Introduction à l'algorithmique par Cormen, Leisserson, Rivest et Stein, Dunod 2002
Pour la programmation:
- The Java programming language, Arnold, Gosling, Holmes, Addison Wesley, 2006