Les algorithmes sont au cœur de tout calcul. Ce cours, qui s'appuie sur les bases algorithmiques posées dans les premiers cours d'informatique (INF321 ou INF311+INF411), dotant l'étudiant d'un solide bagage en algorithmique moderne.

Après avoir suivi ce cours, l'étudiant aura une connaissance approfondie des algorithmes les plus importants, comprenant à la fois comment et pourquoi ils fonctionnent et étant capable de résoudre un large éventail de problèmes de calcul à l'aide de ces blocs de construction.

Il s'agit d'un matériel que toute personne souhaitant travailler dans le domaine de l'informatique ou dans un contexte lié à l'informatique doit connaître, que ce soit dans un environnement de recherche ou dans un environnement industriel.

En outre, nous donnerons également une brève introduction à plusieurs sujets plus récents tels que les algorithmes aléatoires, les algorithmes évolutionnaires, les algorithmes en ligne ou la théorie des jeux algorithmiques, qui ont eu un impact significatif sur la façon dont nous comprenons l'informatique aujourd'hui.Le cours est enseigné en anglais (amphis, poly), pour tout le reste, y compris l'examen, le français et l'anglais sont tous deux proposés.

After following this course, the student will have an in-depth knowledge of most central algorithms, both understanding how and why they work and being able to solve a wide range of computational problems with these building blocks.

This is material that everyone aiming to work in a computer science or computing-related context needs to know, let it be in a research or industrial environment.

In addition to this, we'll also give a brief introduction to several more recent topics like randomized algorithms, evolutionary algorithms, online algorithms, or algorithmic game theory, which had a significant impact on how we understand computing today.

The course is taught in English (lecture hall, poly), for the rest including the exam both French and English are proposed.