Algorithmique Responsable(s) : Roland Jégou DESCRIPTION GENERALE La notion fondamentale du cours est celle d'Algorithme qui est au coeur de l'Informatique aussi bien théorique que pratique, préliminaire nécessaire à la mise en oeuvre de tout programme, et cela quel que soit le langage utilisé. L'objectif visé de ce cours est de présenter les outils théoriques et pratiques permettant de concevoir, d'analyser et de mettre au point un algorithme résolvant un problème précis bien défini. Cela nécessite d'une part l'apprentissage des structures de données de base ainsi que leurs propriétés et leurs performances et d'autre part de méthodes de preuve et de calculs des complexités (en temps et en espace) d'un algorithme. MOTS-CLES Conception et Analyse d'Algorithmes, Structures de Données, Complexités (temps, espace), Algorithmes de Tri de de Recherche, Parcours de Graphes NOMBRE D’HEURES A L’EMPLOI DU TEMPS 21 DOMAINE(S) OU CHAMPS DISCIPLINAIRES Informatique, Systèmes d'information LANGUE D’ENSEIGNEMENT Français OBJECTIFS D’APPRENTISSAGE A la fin de l’unité pédagogique, l’élève sera capable de : Savoir décrire et justifier une démarche algorithmique en vue de résoudre un problème donné Écrire rigoureusement un algorithme en justifiant les structures de données utilisées Niveau de taxonomie 4. Analyser Priorité 4. Analyser Essentiel Essentiel Estimer correctement les complexités en temps et en espace d'un algorithme 4. Analyser Essentiel Maîtriser les structures de données fondamentales (tableaux, liste, queue de priorité (pile, file, tas), arbres, représentation des graphes) 1. Connaître Important Savoir utiliser et exploiter de façon pertinente et efficace les algorithmes de Tris et de Recherche, et de parcours de Graphes 3. Appliquer Important MODALITES D’EVALUATION DES APPRENTISSAGES Part de l’évaluation individuelle Examen sur table : 100 % Part de l’évaluation collective Livrable(s) de projet : 0 % Examen oral individuel : 0 % Exposé collectif : 0 % Exposé individuel : 0 % Exercice pratique collectif : 0 % Exercice pratique individuel : 0 % Rapport collectif : 0 % Rapport individuel : 0 % Autre(s) :0 0 % PROGRAMME ET CONTENUS Type d’activité pédagogique Cours Contenu, séquencement et organisation Formalisation de la notion d'algorithme (notions élémentaires de calculabilité). Définition d'un langage algorithmique simple permettant d'exprimer tout algorithme.Rappels sur les Tris. Structures et Algorithmes de Recherche (Searching). Algorithmes sur les graphes. Travaux Dirigés Complexités d'un Algorithme (dans les plus mauvais cas, en moyenne, en temps et en espace) et d'un problème (Bornes Inférieures). Notations asymptotiques. Travaux Dirigés Outils mathématiques: preuves, dénombrements, équations de récurrence, structures discrètes. Travaux Dirigés Algorithmes élémentaires sur les Graphes et Applications (parcours, connexités).