Diplômes intégrant cet élément pédagogique :
Descriptif
L'objectif du cours est d'introduire les bases de l'algorithmique dans un cadre de programmation impérative. Par delà la présentation des algorithmes, structures de données et méthodologies de programmation classiques, le cours insistera sur les notions d'invariant et de complexité, fondamentales pour le développement d'applications à la fois robustes et performantes. Chaque nouvelle notion sera illustré par de nombreux exemples explicatifs. Les cours sont accompagnés de travaux pratiques de programmation et de travaux dirigés au cours desquels les étudiants apprennent à créer leurs propres algorithmes de manière robuste et performante.
- Notions d'états, d'assertions d'invariants. Illustration sur l'algorithme du tri par insertion
- Introduction à un langage de programmation
- Notions de complexité, illustration sur le tri par insertion
- Programmation par module/paquetage
- Algorithmes basés sur des modèles séquentiels
- Structures de données pour les ensembles dynamiques
- Pointeurs
- Tables de hachage
- Arbres
In this course we introduce the basics of Imperative Programming and Algorithmics.
- Notions of states, assertions and invariants. Illustration with the insertion sort algorithm.
- Introduction to a programming language
- Notion of complexity, illustration with the insertion sort
- Programming with modules/packages
- Sequential models of algorithms
- Data structures for dynamic sets
- Pointers
- Hash tables
- Trees
Pré-requis recommandés
Aucun
None
Bibliographie
Algorithmique, Cours avec 957 exercices et 158 problèmes, Thomas Cormen, Charles Leiserson, Ronald Rivest, éditions Dunod
Informations complémentaires
Lieu(x) : GrenobleLangue(s) : Français