v2.11.0 (5976)

Cours scientifiques - CSC_1S003_EP : Introduction to Algorithms

Domaine > Informatique.

Descriptif

Un algorithme est une séquence d'instructions qui nous permet de résoudre un problème en un nombre fini d'étapes. En tant que tels, les algorithmes sont les procédures que nous utilisons pour « calculer ». Nous étudions les algorithmes pour savoir ce qui peut réellement être calculé, en théorie et en pratique, et pour découvrir l'efficacité avec laquelle cela peut être fait.

Introduction aux algorithmes (CSC_S1003_EP) est une initiation à l'art et à la science des algorithmes. Ce cours apprendra aux étudiants à réfléchir sur les algorithmes, à résoudre un large éventail de problèmes au moyen d'un certain nombre de techniques algorithmiques, à comparer rigoureusement différents algorithmes et à prédire leurs performances, ainsi qu'à prouver formellement qu'un programme implémentant un algorithme est correct.

Objectifs pédagogiques

Apprendre quelques techniques algorithmiques de base : recherche exhaustive, algorithmes récursifs, diviser pour régner, programmation dynamique, algorithmes gourmands.

Savoir appliquer ces techniques à un certain nombre de problèmes standard sur des structures de données basiques : listes (tri), graphes (clôture transitive, chemins, plus petit arbre recouvrant), chaînes de caractères (recherche).

Apprendre à analyser la complexité asymptotique dans le pire des cas des programmes, y compris les programmes récursifs à travers l'utilisation de récurrences. Connaître différentes méthodes de résolution des récurrences et savoir quand celles-ci peuvent être appliquées (master theorem, méthode de l'arbre de récurrence, substitution de variables).

Apprendre les bases de la preuve de correction des programmes : triplets de Hoare, logique de Floyd-Hoare, invariants de boucle.

Pour les étudiants du diplôme Bachelor of Science de l'Ecole polytechnique

Vous devez avoir validé l'équation suivante : UE CSC_1F001_EP

Prerequisite: CSC_1S001_EP

Règle d'exclusion : UE CSC_1S004_EP

Format des notes

Numérique sur 20

Littérale/grade américain

Pour les étudiants du diplôme Bachelor of Science de l'Ecole polytechnique

Vos modalités d'acquisition :

5 quiz hebdomadaires.

Examen final (sur papier). 2 heures. Accès au matériel de cours autorisé.

Note finale = 0,5 * (4 meilleurs quiz, les meilleur compte double) + 0,5 * finale.

Le rattrapage est autorisé (Note de rattrapage conservée écrêtée à une note seuil de 10)
    L'UE est acquise si note finale transposée >= D
    • Crédits ECTS acquis : 2 ECTS

    Programme détaillé

    Unit 1: Introduction, Sorting, Divide and Conquer

    Unit 2: Complexity Analysis

    Unit 3: Correctness of Algorithms

    Unit 4: Dynamic Programming and Greedy Algorithms

    Unit 5: Graph Algorithms

    Unit 6: String Algorithms, Automata and Some Theory

    Unit 7: Automatic Differentiation

    Mots clés

    Algorithms, Complexity, Program Correctness

    Méthodes pédagogiques

    Exposés frontaux avec diapositives et tableau noir. Exercices guidés après la classe.
    Veuillez patienter