Niveau d'étude
Bac +5
ECTS
6 crédits
Crédits ECTS Echange
6.0
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Description
L'algorithmique est traitée sous trois aspects complémentaires : (1) méthodes d'analyse de problèmes et de construction de programmes ; (2) styles d'expression (impératif, fonctionnel) ; (3) Classes d'algorithmes liées soit à des structures d'information (séquences, arbres, ...), soit à des problèmes spécifiques (tri, gestion de tables, ...). Les objectifs de l'enseignement sont les suivants :
- Développer la capacité d'abstraction lors de la résolution des problèmes.
- Développer un savoir-faire méthodologique et technique : spécification de problèmes, énoncé de principes de solutions, application de schémas d'analyse, utilisation de structures de données abstraites.
- Initier aux concepts et techniques d'analyse des propriétés des algorithmes : preuve de correction partielle et de terminaison ; dénombrement d'opérations.
- Approfondir les techniques de représentation de structures fondamentales (sous forme contigüe ou chaînée) : ensembles, relations, séquences, arbres.
- Installer de bonnes habitudes et de bons réflexes en ce qui concerne : la lecture d'énoncés, la recherche d'idées de solutions, l'utilisation correcte des moyens d'expression, le recours à des techniques répertoriées.
Tout ceci est complété par l'enseignement "langages et programmation" et en particulier l'expérimentation pratique qu'il comporte.
Programme résumé :
- Langage des fonctions : expressions, fonctions, composition fonctionnelle, composition conditionnelle ; calcul de types
- Langage des actions : actions, états, assertions, invariants ; paramétrisation ; composition d'actions (séquentielle, conditionnelle, itérative)
- Construction méthodique d'itérations : schémas d'analyse
- Tableaux : accès direct, accès séquentiel, indirection ; schémas de traitement itératif.
- Ensembles, séquences, piles, files : algorithmes de base et représentation à l'aide de tableaux
- Notion de chaînage et application à la représentation des séquences
- Modèles d'accès séquentiel et algorithmes généraux associés
- Définitions inductives de types et de fonctions : cas des entiers naturels, des séquences et des arbres binaires.
- Composition récursive de fonctions : schémas d'analyse et application au traitement de séquences et d'arbres
- Composition récursive d'actions : schémas d'analyse et application au traitement de tableaux et de listes chaînées
- Représentation chaînée des arbres et des forêts : algorithmes récursifs et itératifs de base.
Heures d'enseignement
- CMCM46,5h
- TDTD46,5h
Période
Semestre 9