UE Algorithmique et programmation

Diplômes intégrant cet élément pédagogique :

Organisation de l'enseignement :

Descriptif

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

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

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

Informations complémentaires

Méthode d'enseignement : En présence
Lieu(x) : Grenoble
Langue(s) : Français