Site de l'Université | English version
Année académique 2014-2015Données en date du : 12/05/2015
INFO0902-1  Structures des données et algorithmes

Durée :  30h Th, 20h Pr, 40h Proj.
Nombre de crédits :  
Bachelier en sciences de l'ingénieur, orientation ingénieur civil, 2e année5
Master en ingénieur civil en informatique, à finalité approfondie, 1re année5
Master en ingénieur civil en informatique, à finalité spécialisée en gestion, 1re année5
Master en bioinformatique et modélisation, à finalité approfondie, 1re année6
Master en bioinformatique et modélisation, à finalité approfondie, 1re année6
Master en bioinformatique et modélisation, à finalité approfondie, 2e année6
Master en sciences mathématiques, à finalité approfondie, 1re année8
Master en sciences mathématiques, à finalité didactique, 1re année8
Master en sciences mathématiques, à finalité spécialisée en gestion, 1re année8
Master en sciences mathématiques, à finalité spécialisée en informatique, 1re année8
Master en sciences mathématiques, à finalité spécialisée en informatique, 2e année6
Master en sciences mathématiques, à finalité spécialisée en statistique, 1re année8
Master en sciences mathématiques, à finalité spécialisée, 1re année8
Master en sciences mathématiques8
Nom du professeur :  Pierre Geurts
Langue(s) du cours :  
Langue française
Organisation et évaluation :  
Enseignement au deuxième quadrimestre
Contenus du cours :  
La résolution de problèmes complexes consiste en grande partie en leur décomposition en sous-problèmes standards pour lesquelles existent des algorithmes et des structures de données efficaces et bien étudiés. Ce cours présente une introduction au fonctionnement et à l'emploi des principales structures de données et aux algorithmes associés.
Le cours abordera notamment:
  • Outils d'analyse d'algorithmes (correction d'algorithmes, notations asymptotiques)
  • Algorithmes de tris (tri par fusion, tri rapide, tri par tas...)
  • Structures de données élémentaires (piles, files, vecteurs, ensembles, files à priorité, tas, graphes...)
  • Structures de données de type dictionnaire (arbres binaires de recherche, tables de hachage, tries...)
  • Méthodes de résolution de problèmes (force brute, diviser pour régner, algorithmes gloutons, programmation dynamique...)
  • Algorithmes sur les graphes (parcours, recherche du plus court chemin, arbre recouvrant...)
L'approche se voudra scientifique: nous tenterons de déterminer systématiquement des bornes sur le temps d'exécution et d'exprimer les comportements asymptotiques de nos algorithmes.
Acquis d'apprentissage (objectifs d'apprentissage) du cours :  
A l'issue du cours, les étudiants maîtriseront les bases de l'algorithmique et auront une bonne connaissance des principales structures de données. Face à un nouveau problème d'implémentation, ils seront capables de faire un choix argumenté sur la structure et sur les algorithmes de manipulation de cette structures les plus appropriés étant donné les contraintes liées au problème. Ils seront également capables de mettre en oeuvre les principaux outils théoriques d'analyse de performance des algorithmes.
Prérequis et corequis / Modules de cours optionnels recommandés :  
Le cours suivant est pré-requis:
Activités d'apprentissage prévues et méthodes d'enseignement :  
L'apprentissage se fera au travers de cours théoriques hebdomadaires de 2h, par de répétitions (presque) hebdomadaires de 2h également et par le réalisation de projets. Ces projets viseront à mettre en pratique les notions théoriques vues au cours. Ils nécessiteront d'analyser un problème, déterminer le meilleur algorithme pour le résoudre et les structures de données associées, et d'implémenter la solution en langage C. La participation au cours théorique et aux répétitions est facultative mais vivement conseillée. La réalisation des projets est obligatoire.
Mode d'enseignement (présentiel ; enseignement à distance) :  
Le cours se donne au 1er quadrimestre en présentiel.
Lectures recommandées ou obligatoires et notes de cours :  
Plusieurs ouvrages de référence seront recommandés aux étudiants, mais non nécessaires. Les transparents utilisés pour le cours, les énoncés et solutions des exercices et autres matériels seront accessibles sur la page web du cours.
Modalités d'évaluation et critères :  
Modalités d'examen:
  • 1ère session (janvier): 3 projets (30%), examen écrit (70%). La réalisation des projets est requise pour avoir accès à l'examen.
  • 2ème session: 1 projet de rattrapage si l'étudiant n'a pas réalisé les projets de l'année (10%), examen écrit (90%)
Stage(s) :  
Remarques organisationnelles :  
Toutes les informations sur le cours (transparents, exercices de répétitions) sont disponibles sur cette page web: http://www.montefiore.ulg.ac.be/%7Egeurts/sda.html
Contacts :  
Enseignant: Pierre Geurts - Tel: 04/366.48.15 - e-mail: p.geurts@ulg.ac.be Assistant: Jean-Michel Begon
Moyens de contact privilégiés: e-mail ou contact personnel après le cours ou sur rendez-vous

Notes en ligne :  
Page web du cours
Cette page web contient les transparents du cours, les exercices de répétitions et les détails sur les projets.



Accueil

Bacheliers, masters, masters complémentaires et agrégations

Formations continues

Doctorat

Recherche par enseignant

Recherche par cours

Administration de l'Enseignement et des Etudiants - Responsable de l'information : Monique Marcourt, Direction générale à l'Enseignement et à la Formation - Réalisation SEGI