Master 1 Foundations of Computer Science

The master 1 Foundations of Computer Science is a foundations oriented master. It is also sometimes called the MPRI master 1 (for reasons explained below). This page gathers information about the organization of the master (admissions are here).

Description

Everyone regularly experiences computer programs being inefficient or crashing. In order to avoid that, it is necessary to properly define and study what it means for a machine to compute something. This 2-years master program covers some of the theoretical approaches to computer science addressing this, often based on mathematical tools, with a view towards applications. The topics of the courses include

The master is research-oriented, with a focus on foundations: it aims at introducing students to contemporary theoretical computer science and most students do a PhD after the master, although it also leads to many possible careers in industry.

This master corresponds to the Parisian Master of Research in Computer Science (MPRI), which is run jointly by the following institutions: Université Paris Cité (coordinator), ENS Ulm, Université Paris Saclay (ENS Paris-Saclay) and Institut Polytechnique de Paris (École polytechnique, Telecom Paris). The first year takes place mostly at École polytechnique, while the second year takes place mostly at Université Paris Cité.

Organization

The starting dates are

The curriculum consists in 3 semesters:

  1. September-December: courses,
  2. January-March: courses,
  3. April-August: internship.

The master is joint with the Efficient Algorithms and Foundations of Programming Languages track of the Polytechnique school.

Courses

Over each period, at least four courses must be chosen among the following ones.

First period:

Second period:

The courses CSC_51050_EP and CSC_51051_EP are mandatory (but CSC_51050_EP can be replaced with FMA_51057_EP). It is possible (subject to validation) to follow a few courses from other tracks, or even departments or even schools (the MITRO track at Télécom Paris for instance). In particular, the following courses could be interesting:

First period:

Second period:

You can also follow a course to learn French for foreigners.

You can follow more than four courses over a period, but you have to identify in advance which of those are your four main courses, which you have to validate in order to validate your period. The main courses have to be computer science courses and cannot be changed after two course sessions. The other courses are optional ones , which will not prevent from validating the period if you fail, will not give you extra ECTS, but will still appear on your transcript.

Optionally, a project can be performed in addition to the courses (this is strongly advised) and should be discussed with the supervisor of the master as soon as possible. The project can last for one or two periods, but much better projects are generally achieved when performed over two periods. The project cannot be taken as a replacement for a course. You should register to CSC_50P13_EP.

Timetables

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 CSC_51071_EP CSC_51056_EP, CSC_51058_EP
10:45–12:45 CSC_51071_EP CSC_51056_EP, CSC_51058_EP
14:00–16:00 CSC_51063_EP CSC_51051_EP* CSC_51050_EP*, FMA_51057_EP MDC_51005_EP
16:15–18:15 CSC_51063_EP CSC_51051_EP* CSC_51050_EP*, FMA_51057_EP MDC_51005_EP

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 CSC_52003_EP, CSC_52062_EP CSC_52071_EP CSC_52068_EP
10:45–12:45 CSC_52003_EP, CSC_52062_EP CSC_52071_EP CSC_52068_EP
14:00–16:00 CSC_52064_EP CSC_52061_EP, CSC_52070_EP CSC_52001_EP, CSC_52060_EP, CSC_52080_EP
16:15–18:15 CSC_52064_EP CSC_52061_EP, CSC_52070_EP CSC_52001_EP, CSC_52060_EP, CSC_52080_EP

Internship

The internship should last (at least) 3 months (more precisely, 12 weeks). You should register to the course CSC_52991_EP and follow the rules given on the dedicated moodle page (in particular, you should begin to have a fairly precise idea of your internship in December).

ECTS

The whole year is 60 ECTS, split as follows:

Only the main courses (4 in each two first periods) count in the final number of ECTS.

Validation

Given a grade x for a course, the associated letter is

In order to validate a course, the student must have A, B or C. Within a period, a grade B can compensate for a D, and a grade A can compensate for an E. In order to validate the master 1 year, the student should have 60 ECTS.

For each non-validated course, a retake exam has to be offered. The student should get in touch with the teacher in order to fix the modality and the date.

Frequently asked questions

Where can I apply for a scolarship?

There are listed relevant sources of scolarships.

What can I do in the summer in order to get prepared for the master?

You should ensure that you are fluent with at least one programming language. A good choice for a first language is Python (tutorial). You might also want to discover other languages, for instance, functional ones such as OCaml (tutorial) or Haskell, low-level ones such as C or the more modern Rust (tutorial).

You should also make sure that you are acquainted with the basics of algorithms and complexity. An excellent book is Introduction to Algorithms by Cormen, Leiserson and Rivest.

Do I have access to student housing?

A limited number of student housing are available, you should apply as early as possible.

Can I follow courses at École polytechnique from other tracks?

Yes, as long as the set of courses remains coherent and validated by the supervisor. You can see the full list here.

Can I follow courses from other schools?

Unfortunately, not from schools outside IP Paris, because we do not have agreements with other schools (such as Université Paris-Saclay). In practice, if it is really justified, following such a course is tolerated but not at as mandatory course, at most one per period, and explicit agreement from the teacher must be obtained.

Can I learn French?

Yes, you can take an additional course to learn French.

Where can I find the rooms for my courses?

The website to track the courses you are registered to is Synapses. If you do not have access to it yet, contact the supervisor.

Where can I find the material for the courses?

All the material for the courses is available on moodle.

Until when can I change my registration to courses?

Obviously, the best is that you do not change your course selection after the beginning of the period. However, we do accept small adjustments to your selection up to three weeks after the courses started (the sooner, the better). After that, absolutely no change shall be performed.

Contacts