Published on November 26, 2018 | Updated on March 21, 2023

Master's in the fundamentals of computer science

The Fundamental Computer Science program as part of the Master's in Computer Science aims to enable students to pursue a thesis from a large choice of subjects and to provide each student with the broadest possible scientific knowledge before they specialize.

CURRICULUM 

First year Master’s

Fundamental classes deepening student’s knowledge: the first semester courses are more fundamental and the second semester includes more specialized classes with more optional classes.


Second year Master’s

The courses available are completely updated every other year. The course selection process aims to provide a panoramic view of fundamental computer science while keeping up with current scientific progress. Of note among the many themes covered: optimization, logic, cryptography,
operational research, imaging, algorithmic geometry, complexity, graphs, quantum computing, machine learning, parallel computing.


PREREQUISITES FOR ADMISSION

Based on the application after the third year of a degree in computer science or mathematics with a computer science minor.

LIST OF TEACHING UNITS

1st semester:

• English
• Integrated project
• Performance Evaluation and Networks
• Compilers and Program Analysis
• Information Theory
• Parallel and Distributed Algorithms and Programs
• Optimisation and Approximation


2nd semester:

• Integrated project
• Cryptography and Security
• Computer Algebra
• Semantics and Verification
• Distributed Systems
• Programs and Proofs
• Data Bases and Data Mining
• Computational Complexity
• Computational Geometry and Digital Images
• Machine Learning
• Training Course (11 weeks)


3rd Semester:

• Optimal Decision Making and Online Optimization
• Computational Geometry
• Hard lattice problems
• Scheduling at scale
• Advanced Topics in Scalable Data Management
• Software Engineering & Compilation
• Modeling and performance evaluation of computer and communications system
• Complex Networks
• Lower bound methods
• Approximation Theory and Proof
• Assistants: Certified Computations
• Cryptanalysis
• Hardware Compilation and Simulation
• Combinatorial scientific optimization
• Topological combinatorics
• Advanced topics in semantics of programming language
• Logic, Automata and Games for Advanced Verification
• Automated Deduction, and opening to Distributed Algorithms


4th Semester:

• Training course (20 weeks)