v2.11.0 (6271)

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

Littérale/grade américain

Numérique sur 20

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)
  • le rattrapage est obligatoire si :
    Note initiale <
  • le rattrapage peut être demandé par l'étudiant si :
    Note initiale <
L'UE est acquise si Note finale >= C
  • Crédits ECTS acquis : 2 ECTS

La note obtenue rentre dans le calcul de votre GPA.

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