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ésenceLieu(x) : Grenoble
Langue(s) : Français
En bref
Période : Semestre 5Crédits : 9
Volume horaire
- CM : 30h
- TD : 30h
- TP : 30h
Contact(s)
Bruno GRENET
Pierre Karpman
Etudiants internationaux
Crédits : 0.0