Syllabus des cursus de Centrale Lille

Algorithms and their complexity 1

Libellé du cours : Algorithms and their complexity 1
Département d'enseignement : EEA / Electronique Electrotechnique Automatique
Responsable d'enseignement : Monsieur PIERRE-ANTOINE THOUVENIN / Monsieur PIERRE CHAINAIS
Langue d'enseignement :
Ects potentiels : 0
Grille des résultats :
Code et libellé (hp) : MR_DS_S1_AC1 - Algo and their complexity 1

Equipe pédagogique

Enseignants : Monsieur PIERRE-ANTOINE THOUVENIN / Monsieur PIERRE CHAINAIS
Intervenants extérieurs (entreprise, recherche, enseignement secondaire) : divers enseignants vacataires

Résumé

The course will cover the following topics: • Fundamental properties of algorithms. • Algorithm writing with pseudo-code. • Recursion. • Formal notational methods for stating the growth of resource needs (efficiency and storage) of an algorithm (Big Oh, Little oh, Theta notations). • Time and space complexity. • Best-case and worst-case complexity. • Divide-and-conquer paradigm. • Backtracking. • Branch-and-bound. • Dynamic programming. • Greedy algorithms.

Objectifs pédagogiques

This course gives an overview about algorithms and computation with a particular focus on the cost of algorithms. The overall goal is to be able to understand a range of algorithmic approaches, use them to solve practical problems, evaluate their cost, and compare the costs of different algorithms solving a given problem. After successfully taking this course, a student should be able to: • Write recursive algorithms, • Understand the following families of algorithms and use them to solve problems: divide-and-conquer, backtracking, branch-and-bound, dynamic programming, greedy algorithms. • Understand and evaluate the time and space complexity of an algorithm. • Analyze worst-case and best-case running times of algorithms using asymptotic analysis. • Derive and solve recurrences describing the performance of recursive and divide-and-conquer algorithms.

Objectifs de développement durable

Modalités de contrôle de connaissance

Contrôle Continu
Commentaires: Quizzes, grading scale: (min) 0 – 20 (max) Homework, grading scale: (min) 0 – 20 (max)

Ressources en ligne

Introduction to Algorithms (Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest Clifford Stein) – McGraw-Hill.

Pédagogie

24 hours : 8 lectures, 8 tutorials. Language of instruction is specified in the course offering information in the course and program directory. English is the default language.

Séquencement / modalités d'apprentissage

Nombre d'heures en CM (Cours Magistraux) : 12
Nombre d'heures en TD (Travaux Dirigés) : 12
Nombre d'heures en TP (Travaux Pratiques) : 0
Nombre d'heures en Séminaire : 0
Nombre d'heures en Demi-séminaire : 0
Nombre d'heures élèves en TEA (Travail En Autonomie) : 0
Nombre d'heures élèves en TNE (Travail Non Encadré) : 0
Nombre d'heures en CB (Contrôle Bloqué) : 0
Nombre d'heures élèves en PER (Travail PERsonnel) : 0
Nombre d'heures en Heures Projets : 0

Pré-requis

This course requires some basic programming knowledge (expressions, variable, control flow statements, functions, arrays or lists) and some fundamental notions of mathematics (functions and sequences, recurrence relations). The knowledge of specific programming languages is not required.

Nombre maximum d'inscrits

Remarques