Learning outcomes

This course provides an introduction to various concepts related to algorithms and certain specificities linked to scientific computing, as well as practical application in a number of computer pool projects.

Goals

Know the basics of algorithm design and be able to analyse their complexity
    Be able to implement different kinds of algorithms in C and matlab languages
    be familiar with the various methods of numerical integration of differential equations
    be able to recognise problems of non-polynomial complexity
    devise heuristic or probabilistic algorithmic strategies

Content

The course will begin with a quick introduction to programming in the C language, as well as various advanced features of this language. The first mini-workshops will be devoted to exploring this language.

The rest of the theory course will cover the following elements:

    Good algorithmic practice, complexity classes, memory allocation and examples of sorting algorithms
    Algorithmic strategies: glutton, search tree, backtracking, dynamic programming, etc.
    Numerical integration methods: Euler, Runge-Kutta, predictor-corrector methods, etc.
    NP-complete problems
    Probabilistic algorithms, Monte-Carlo methods

Several important practical exercises, in C and Matlab, will be based on the content and examples of the theory course.

Assessment method

Assessment consists of two parts: continuous assessment of practical work and an oral examination.

    Continuous assessment of practical work: the practical work sessions in the computer pool will be made up of several practical tasks assessed and handed in according to the timetable and instructions defined by the assistants. The average of these assessments counts for 50% of the final mark, provided that this average is greater than or equal to 35% (7/20).
    Oral examination: the questions relate to the theory, both in terms of presentation of the material and demonstrations, as well as the student's ability to devise an algorithmic strategy based on a given problem. This assessment counts for 50% of the final mark, provided it is greater than or equal to 7/20.


These two assessments are considered to be separate learning activities within the same teaching unit. A mark of less than 7/20 in one of these two learning activities will automatically result in a failing grade for the teaching unit. A mark of 10/20 or above may be carried over to the August session of the same year only. There will be no assessment for this unit in the June session. If a student fails the continuous assessment in January, he/she may submit a new version of his/her practical work before the start of the August assessment session, in accordance with the procedures laid down by the teaching assistants.

Attendance at practical work is compulsory; insufficient attendance may result in a failing grade for the teaching unit. Continuous assessment work is individual; any collective work or plagiarism may result in a mark of 0/20 for the teaching unit for failure to comply with instructions.

Language of instruction

Français
Training Study programme Block Credits Mandatory
Bachelier en sciences mathématiques Standard 0 5
Bachelier en sciences mathématiques Standard 3 5