Conception et mise en ?uvre d'algorithmes

Ce cours vous fera découvrir différents aspects de la conception d'un programme. Au travers de nombreuses études de cas,nous mettrons en exergue les structures de données et les algorithmes permettant d'apporter des solutions. Comme souvent en informatique,il n'existe pas de solution unique et nous serons amenés à découvrir différentes classes d'algorithme et à les comparer. Nous introduirons à cet effet la notion de complexité d'un programme,c'est à dire à la fois une estimation du temps d'exécution de votre programme et de l'espace requis par celui-ci. Il est tentant de croire que le meilleur programme est celui qui minimise le temps d'exécution mais très souvent cette complexité est contrainte par la mémoire dont vous disposez. Ainsi,vous n'utiliserez peut-être pas le même algorithme selon que votre programme s'exécute sur un ordinateur ou un téléphone !  Programme du cours :  Ce cours présentera les structures de données les plus classiques comme les  tableaux,listes,piles,files,et arbres pour aller vers les graphes. En parallèle,on découvrira les grands concepts de l'algorithmique à travers des études de cas. Nous passerons ainsi en revue les tris,parcours,les arbres de recherche quaternaires,les algorithmes gloutons ainsi que les bases de la programmation dynamique.

Disciplines : Génie Logiciel : Programmation pour les catégories particulières d'ordinateurs, pour les systèmes particuliers d'exploitation, pour les catégories particulières d'utilisateurs,Génie Logiciel  : Langage de programmation en général
Mots-clés : algorithmique,programmation dynamique,structure de données,graphe,conception de programme,modélisation de problème
Type de document : texte,image,ressource interactive,ensemble de données
Type de ressource : lecture,self assessment,exercise,questionnaire,exam,étude de cas
Niveau : higher education,licence,bac+3
Publics visés : learner
Activité induite : apprendre,s'auto-former,s'exercer,s'évaluer,se former,lire,simuler
Proposition d'utilisation : Expérience recommandée : Bonne connaissance d'un langage de programmation et des bases de java, les exemples et exercices étant donnés dans ce langage.
Auteurs ou éditeurs : Dominique Rossin,École Polytechnique,UNIT,Benjamin Werner,Eric Vantroeyen