v2.11.0 (6131)

Cours scientifiques - CSC_5CS02_AE : Algorithm Design and Analysis

Descriptif

This course aims at providing students with basic and more advanced notions of algorithm design and analysis. It covers important algorithmic techniques and their applications to various classical problems. For each algorithm studied, the course insists on data structures and implementation, and on complexity analysis. The goal is not to give an exhaustive review of existing algorithms, but rather to understand broad techniques that can then be reused in whatever problems the students will face in the future.   

The course emphasis is on methods and their theoretical analysis but a small number of selected algorithms will be implemented (in Python). The course gives methods that are generically useful for coding interviews, pointers will be given to students who want to train specifically for that exercise.

Prerequisites 

The required background for this course corresponds to the computer science courses of the 1st year of ENSAE, that is: basic familiarity with computer science, algorithms, and programming (in Python).

Format des notes

Numérique sur 20

Littérale/grade réduit

Pour les étudiants du diplôme MScT-Data and Economics for Public Policy (DEPP)

Le rattrapage est autorisé (Note de rattrapage conservée)
    L'UE est acquise si Note finale >= 10
    • Crédits ECTS acquis : 3 ECTS

    La note obtenue rentre dans le calcul de votre GPA.

    Programme détaillé

    The following outline is tentative and subject to changes depending on the speed of progress.  

    1. Greedy algorithms

    2. Dynamic programming 

    3. Graphs algorithms 

    4. Flows, cuts, and matching

    5. Application of linear programming to algorithms 

    6. Advanced topics: approximation algorithms, random algorithms, heuristics

    Veuillez patienter