Crédits ECTS
3 crédits
Prérequis
Non
Objectifs d'apprentissage
Cette UE est une introduction à l’algorithmique (arbres, graphes, textes), à la complexité, à l’indexation et aux bases de données, outils indispensables pour un ingénieur généraliste.
Le but est en particulier d'amener les étudiants à être capable d'analyser / modéliser un problème donné, d'imaginer un algorithme permettant de le résoudre, de s'interroger sur son efficacité, et de l'implémenter concrètement en faisant des choix pertinents de programmation et en utilisant des structures de données adaptées.
Description du programme
Cette unité d'enseignement aborde :
⁃ La notion de complexité (pire cas, en moyenne, minimale)
⁃ Les données de type graphes et les algorithmes associés (parcours, plus court chemin, coloriage...)
⁃ Les données de type arbres et les algorithmes associés (recherche…)
⁃ Les données textes et les algorithmes associés (recherche, comparaison…)
⁃ La programmation dynamique
⁃ Le stockage et l’indexation des données
⁃ L’algèbre relationnelle
⁃ Les bases de données type SQL
⁃ Bases de la programmation
⁃ Introduction à la programmation orientée objet
L'enseignement est partagé entre cours magistraux, travaux dirigés focalisé sur les notions algorithmiques et travaux pratiques pour la mise en œuvre avec le langage python.
Compétences et connaissances scientifiques et techniques visées dans la discipline
- Savoir mobiliser et utiliser des approches algorithmiques fondamentales
- Maitriser des algorithmes pour des problèmes classiques et savoir les programmer
- Savoir utiliser des structures de données adaptées
- Maitriser les éléments fondamentaux de la syntaxe du langage de programmation python
Modalité de contrôle des connaissances
Mini-tests en début de TD (50%)
Devoir surveillé (50 %)
Bibliographie
Equipe pédagogique
T. Artières , F. Brucker, E. Daucé, C. Jazzar, P. Préa, R. Sicre
- Total des heures d'enseignement 72h
- Cours Magistral16h
- Travaux Dirigés18h
- Travaux Pratiques20h
- 18h