The “Mathematics and Computer Science” track explores several interfaces between pure mathematics and computer science:

- Algebra, Number Theory, Cryptology
- Logic, Foundations of mathematics, and Formal Methods (including Set theory, Automated Reasoning, Proving programs to be correct, etc)
- Algorithmics (including probabilistic aspects)

It is similar in spirit to the “Algorithms and Foundations of Programming languages” track, but with actual courses from the Maths Department (which, among other things, allow to envisage a more advanced specialisation in Cryptology in the following years of training).

### Curriculum:

- Period 1 (September-November):
- 4 courses from among:
- INF550 - Advanced Algorithms - taught in French. (Gilles Schaefer)
- INF551 - Computational Logic: Artificial Intelligence in Mathematical Reasoning - taught in English. (Stephane Graham-Lengrand)
- INF558 - Information Theory - taught in English. (Jean-Pierre Tillich)
- MAT552 - Algebraic Number Theory - taught in French. (Gaetan Chenevier)
- MAT556 - Modules and Finite Groups - taught in French. (Anna Cadoret)

- 4 courses from among:

- Period 2 (December-February):
- 4 courses from among:
- INF561 - Randomization in Computer Science: Games, Networks, Epidemic and Evolutionary Algorithms - taught in English. (Benjamin Doerr)
- INF563 - Topological Data Analysis - taught in English & French. (Steve Oudot)
- INF568 - Advanced Cryptology - taught in English. (Francois Morain)
- MAT562 - Introduction to algebraic geometry and elliptic curves - taught in French. (Alena Pirutka)
- MAT563 - Groupes compacts et groupes de Lie - taught in French. (Benoit Stroh)

- 4 courses from among:

### Recommended Curriculum for Year 2 (M2):

- M2 AFP @ Paris-Saclay: Algorithms and Foundations of Programming Languages
- M2 LMFI: Logique Mathématique et Fondements de l’Informatique (in which case you should take INF551 and INF565)
- M2 MIC: Master Mathématiques et Informatique appliqués à la Cryptologie (in which case you should take INF558 and INF568)