Tracks and courses of the 3A / M1 at École polytechnique

This webpage gathers information about courses for the 3rd year (which corresponds to Master 1) in computer science for students at École polytechnique: tracks, courses, etc. It is organized in 10 thematic tracks.

Introduction

Computers are present in all professional activities that students at École Polytechnique will have: from management of companies to the development of research or industrial products. In their activities, they will have to use software tools and develop new ones.

The courses offered to third and fourth year students at the Department of Informatics (Master level) aim at enabling students to acquire the knowledge necessary to understand the technological changes in the broad field of Science and Technologies of Information and Communication that constitute the landscape in which engineers, civil servants and researchers evolve.

Objectives

The Computer Science M1 program (PA Info, or IP Paris master 1 programs) has a triple mission: to provide the students with the core concepts of Computer Science, training them at the level of the best universities in the world; to start a specialization which will continue in fourth year either as a engineering-based training or as a research-based training; and to open up the students perspectives by exploring the fruitful interfaces with related disciplines (from other departments). This will provide the students with a high-level expertise to overcome challenges in industry, administration and research.

Prequisites

The generic prerequisites for a registration in PA Info are to have followed at least one Computer Science course (excluding modal) in 2nd year, and to have validated a Computer Science project in 2nd year (a modal counts as a project).

Rules

You choice of courses in a computer science track should fulfill the following requirements:

Future

The Computer Science programme leads to the following 2nd-years of Master, organised in partnership with other institutes, for instance:

Contact

In case you have any problem or question, you are strongly advised to ask it on the DIX Slack workspace (please sign in with you @polytechnique.edu email address) or contact Samuel Mimram who is in charge of the 3A at École polytechnique.

Algorithmics and Efficiency

This program focuses on the design of efficient and robust algorithms, making use of advanced algorithmic techniques, and involving mainly two domains: Image Procession / Computer Vision and Optimization / Operational Research.

The main goal of this program is to provide to students the notions and tools which are required to design efficient and robust algorithms for dealing with real-world problems, that involves structured and complex (huge) data. This is a multidisciplinary program, at the interface of several domains including algorithms, image processing, computer vision, optimization, computer graphics, computational geometry and randomized methods.

On the one hand, the goal is to generate curiosity and interest for the theoretical aspects of these domains (complexity of algorithms, parallel / distributed paradigms, …); on the other hand, this track aims to introduce students to a wide variety of problems and algorithmic solutions, ranging from experimental results to theoretical tools, showing their practical interest and efficiency through real-world applications

Future

The track will naturally lead to the following Master 2 programs (which are organized in partnership with other institutions):

Regarding the research internships in 3A, this track offers multiple possibilities both in academia and in industry. A non-exhaustive list of internships done by students in the previous years includes: Ubisoft, Dassault Systèmes, Facebook, Adobe, Apple, Google, Parrot, Disney, Lucas Films, EADS, Thalès, Siemens, CEA, INRIA, …

Courses

First period:

Second period:

Project: INF514

Internship: INF591

Timetable

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF573*
10:45–12:45 INF573* MAP557*
14:00–16:00 INF576 INF574* INF550* MAP557*
16:15–18:15 INF576 INF574* INF550* MAP557*

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF562* INF584
10:45–12:45 INF584
14:00–16:00 INF562* INF561* INF560* INF580
16:15–18:15 INF561* INF560* INF580

Contacts

The track coordinators are Luca Castelli Aleardi, Gilles Schaeffer.

Algorithms and Foundations of Programming Languages

This track allows students with a broad interest for Computer Science to pursue a balanced curriculum between two cardinal aims of the discipline, efficiency and safety. A strong emphasis is put here on theory and mathematical rigor but without loosing the contact with the practical purposes: solving complex tasks on computers in an efficient and reliable way!

This track is also accessible through the Foundations of Computer Science IP Paris M1.

Future

This track coincides with the M1 part of the Master Foundations of Computer Science of IP Paris, and naturally leads to the M2 part of the same Master, which is actually the joined program of Université de Paris, Université Paris Saclay, École Normale de Paris and IP Paris, under the name Master Parisien de Recherche en Informatique (MPRI). Students of this M1 track also enrolled or were accepted in Masters abroad, such as MIT, CMU, NYU, Oxford, Imperial, etc.

Note

There is a short but compulsory training course INF549 on OCaml programming, at the very beginning of the year (1h30 lecture + 3h practical). It is especially useful for courses INF551 and INF564.

Courses

First period:

Second period:

Project: INF513

Internship: INF591

Timetable

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF575 INF573 INF558
10:45–12:45 INF575 INF573 INF558
14:00–16:00 INF576 INF571, INF574 INF550* INF551*
16:15–18:15 INF576 INF571, INF574 INF550* INF551*

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF568
10:45–12:45 INF568
14:00–16:00 INF564 INF561 INF587 INF563
16:15–18:15 INF564 INF561 INF587 INF563

Contacts

The track coordinator is Gilles Schaeffer.

Cybersecurity

The cybersecurity program is concerned with the security of Internet, at large, and with the ever-increasing set of objects from our environment, that it ties together. Past the first era of discovery and the false illusion of new brotherhood-without-the-old-problems-related-to-bad-guys, people are starting to realize that on the Internet, there’re as many bad guys as elsewhere – and also, that there is nothing like a free lunch in securing our communications nowadays.

First, there is no global notion of security. Many problems are security problems: use your laptop and protect your own data; enable and protect the access to Internet; be sure that the communications cannot be eavesdropped, nor altered when you access your bank account; be sure to talk to the right person; and be sure that the communications network infrastructure (such as the Internet, the cell phone system) has not been corrupted and subverted, etc.

Since there is no unique way of accessing this virtual world, there is no unique way to tackle security issues. But what is clear is that one needs to understand how the systems work, how resistant they are, how one would design new and more secure applications. The same is true when you want to connect machines to other machines via networks that interfer with the physical world (old wires, WiFi, etc.) and on which information (packets) live their own life in an open though inpredictible way.

This track is also accessible through the Cybersecurity IP Paris M1.

Courses

First period:

Second period:

Project: INF520

Internship: INF591

Timetable

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF559* INF558*
10:45–12:45 INF559* INF558*
14:00–16:00 INF554 INF571* INF557* INF551, INF553
16:15–18:15 INF554 INF571* INF557* INF551, INF553

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF565* INF568*
10:45–12:45 INF565*, MAP569 INF568*
14:00–16:00 MAP569 INF586* INF587 INF563
16:15–18:15 MAP569 INF586* INF587 INF563

Contacts

The track coordinator is François Morain.

Data Science

Data Science is a new key area for interdisciplinary science involving mathematics, computer science. It involves a number of challenges in both data management and analyses require new approaches to support the big data era. These challenges span issues regarding generation of the data, their preparation and exploration and of course their analysis. Specific challenges include: dealing with highly distributed data sources, data sampling biases, different formats and structures, data integrity, visualization, machine learning and enabling predictions, real-time analysis and decision-making.

Recently the coupling among Artificial Intelligence methods and Bigdata management creates a very challenging environment where science and industry face huge challenges. This is what makes Data Science a uniquely interesting area with synergies to other fundamental sciences and applications to most scientific and industrial domains.

Future

This parcours equips the students with a solid background necessary for advanced M2 studies in the area of AI and Bigdata Management with a large range of real world applications. Natural choices for M2 studies include

Other choices abound in prestigious Universities around the world as Data Science has become a significant area of postgraduate and doctoral training.

Rules

Students who attended and validated INF442 (Algorithms for data analysis in C++) during their second year may replace INF554 (Machine Learning I) with an elective course in période 1. Still in période 1, MAT557 comes as a complement of INF556 and can therefore be selected only if INF556 itself has been selected. In période 2, considering the overlap between INF581 and MAP583, only one of them can be selected at a time.

Courses

First period:

Second period:

Project: INF517

Internship: INF592

Timetable

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF552, MAP553 INF556
10:45–12:45 INF552, MAP553 INF556
14:00–16:00 INF554*, MAP553 MAP573 MAT557 INF553*
16:15–18:15 INF554* MAP573 MAP553, MAT557 INF553*

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF582, MAP566
10:45–12:45 MAP569* INF582, MAP566
14:00–16:00 MAP569* MAP583 INF581 INF583*, MAP566
16:15–18:15 MAP569* MAP583 INF581 INF583*

Contacts

The track coordinators are Ioana Manolescu, Jesse Read.

Design of Intelligent Autonomous Systems

The Design of Intelligent Autonomous Systems track gives the theoretical basis for developing embedded and cyberphysical systems. These systems are blooming, and are already present in all aspects of our daily life: smart-apps on smartphones, primary flight computers (on airplanes); autonomous vehicles (Tesla, Google etc.) and drones, possibly organized in swarms; the smart-grid, among other exciting recent applications. There is no system nowadays, that can be designed, specified, developed, simulated nor verified without computer science through its most fundamental concepts: domain-specific langages, specification langages, formal methods, networks, distributed systems, learning etc. Jobs in these domains range from development to research (there are difficult theoretical problems in these fields), from engineering to project management in big firms or in startup or hi-tech companies.

This track is also accessible through the Cyber-Physical System IP Paris M1.

Future

This tracks has, as natural follow up in 4A:

Partnerships

This program is partially supported by the academic chair Engineering of Complex Systems, in partnership between Ecole Polytechnique, Télécom ParisTech, ENSTA ParisTech, and Thalès-DassaultAviation-DCNS-DGA. The chair can offer a certain number of grants for the best internship projects to go to other international institutions (some students went to CMU, GeorgiaTech, Berkely, Austin the last few years).

Courses

First period:

Second period:

Project: INF510

Internship: INF591

Timetable

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF575* INF559* INF558
10:45–12:45 INF575* INF559* INF558
14:00–16:00 INF554 INF571 INF557*
16:15–18:15 INF554 INF571 INF557*

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF565 INF567 INF568
10:45–12:45 INF565 INF567 INF568
14:00–16:00 INF564* INF586 INF560, INF581 INF580
16:15–18:15 INF564* INF586 INF560, INF581 INF580

Contacts

The track coordinators are Éric Goubault, Sylvie Putot.

High-performance computing

Le calcul haute performance (HPC) est devenu un point de passage obligé tant dans la recherche academique (validation de nouveaux modèles théoriques) que dans l’industrie (conception de nouveaux produits). De plus les technologies de base du HPC (telle que le parallélisme) se retrouvent utilisées maintenant dans nombre de produits à grande diffusion (tablettes ou téléphones mobiles). Cette fillière vise à former des cadres scientifiques de haut niveau à même de maîtriser deux évolutions technologiques majeures :

  1. Utilisation systématique du parallélisme (processeur multi-coeur, processeur graphique, supercalculateur, Cloud Computing),
  2. Utilisation de plus en plus importante du HPC dans les secteurs industriels et recherche.

Débouchés

Courses

First period:

Second period:

Project: INF518

Internship: INF591

Timetable

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF552 INF559*
10:45–12:45 INF552 INF559*
14:00–16:00 INF554 INF571, MAP572 INF553*
16:15–18:15 INF554 INF571, MAP572 INF553*

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30
10:45–12:45 MAP569
14:00–16:00 INF564, MAP569 MAP584 INF560* INF583*
16:15–18:15 INF564, MAP569 MAP584 INF560* INF583*

Contacts

The track coordinator is Patrick Carribault.

Image, Vision and Machine Learning

This track, proposed jointly with the Graduate Program in Artificial Intelligence & Advanced Visual Computing revolves around the following two main themes: Computer Graphics and Computer Vision, on the one hand, and Artificial Intelligence, on the other, while putting special emphasis on learning-based techniques, in general. Image processing, or more generally analysis, processing and synthesis of visual data in 2D and 3D are now at the heart of many real-world applications. From the entertainment industry (gaming, special effects, virtual and augmented reality) to applications in analyzing large amounts of visual data (scene understanding, robotics, drones, medical imaging, computer-aided design, social networks, etc.), it is now difficult to imagine communication and reasoning in the digital age without visual data.

The main notions presented in this track include: the basics of analyzing 2D images at the pixel level; Computer Vision and recent techniques based on convolutional neural networks; Computer Rendering on modern graphics hardware; Advanced analysis of 3D shapes and their collections, as well as deformation and animation of 3D models; classical and recent techniques in Artificial Intelligence. All of these topics aim at providing the basis necessary for addressing broad current scientific challenges, which include seamless integration between synthetic and real data, development of “intelligent” tools for vision and graphics; and real-time interaction with 3D data, among many others. Finally, the elective modules provide the students a chance for in-depth study of specific aspects of graphics and learning, depending on the interest and intended long-term personal plans. They also give an opportunity to gain better background in more general data analysis, and algorithm design. The modules of this track build upon techniques in efficient design and programming (C++, GPU) as well as tools from applied and pure mathematics (geometry, numerical optimization, probabilistic analysis) while opening the door to developing creative, personal solutions.

This track is also accessible through the Interaction, Graphics & Design IP Paris M1.

Future

This track can typically lead to the following programs in Master 2 level:

The research internships at the end of the year (3A) are open to a large number of possibilities in Computer Vision, Computer Graphics and Artificial Intelligence. These general areas are studied in both academic and industrial settings. Examples of companies and laboratories, that have hosted students in the past several years include: Ubisoft, Dassault Systèmes, Facebook, Adobe, Apple, Google, Bentley Systems, Parrot, Disney, Lucas Films, EADS, Thales, Siemens, CEA, Inria, etc.

Rules

Students of this track can choose their 4 courses per period from the provided list with the following additional constraint: At the end of the year, you must have attended, at least, to

Courses

First period:

Second period:

Project: INF515

Internship: INF591

Timetable

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF552 INF573 INF556, MAP555
10:45–12:45 INF552 INF573 INF556
14:00–16:00 INF554 INF574 INF550, INF555 MAP555
16:15–18:15 INF554 INF574 INF550, INF555

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF562 INF582, INF584, MAP566
10:45–12:45 MAP569 INF582, INF584, MAP566
14:00–16:00 INF562, MAP569 INF585 INF581 INF580, INF583, MAP566
16:15–18:15 MAP569 INF585 INF581 INF580, INF583

Contacts

The track coordinators are Damien Rohmer, Maks Ovsjanikov, Renaud Keriven.

Mathematics and Computer Science (MAT-INFO)

The mathematics and computer science track aims at providing motivated students with a training in both disciplines that allows them to enroll in a second year of Master either in mathematics or in computer science (or in one of the rare bi-disciplinary Masters). Avoiding an artificial combination of themes, it emphasises the interfaces between the disciplines and covers themes that complement each other: Number theory, Algebra, Cryptology, Logic, Foundations of Mathematics and Computer Science, etc.

Future

The advantage of this track is to keep doors open for the second year.

Around Paris, a natural continuation on the CS side is the IP Paris Master Algorithms and Foundations of Computer Science (which corresponds to the MPRI master); on the Math side, Masters are available at Université Paris-Sud and Université Pierre et Marie Curie; an excellent bi-disciplinary Master exists at Université Denis Diderot, namely Logique Mathématique et Fondements de l’Informatique (LMFI).

Abroad, as in the AFP track, some of our alumni went to (or were accepted by) Stanford, MIT, etc, and a rather unique programme continues the bi-disciplinary training: Oxford’s Mathematics and the Foundations of Computer Science (MFoCS).

Natural careers for which the track is particularly well-suited include, but are not limited to, a research-based / academic career or a career in national security institutions (ANSSI, etc).

Rules

We ask students to reach a satisfying equilibrium between Math and CS, and therefore pick at least 3 Math courses over the two coursework periods. The students of the track are offered a short training course INF549 on OCaml programming, at the very beginning of the year (1h30 lecture + 3h practical). It is especially useful for INF551.

Courses

First period:

Second period:

Project: INF519

Internship: INF591

Timetable

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 MAT552 INF556, INF558
10:45–12:45 MAT552 INF556, INF558
14:00–16:00 INF576, MAT556 INF550, INF555, MAT557 INF551
16:15–18:15 INF576, MAT556 INF550, INF555, MAT557 INF551

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF568
10:45–12:45 INF568
14:00–16:00 MAT562 INF561 MAT563 INF563
16:15–18:15 MAT562 INF561 MAT563 INF563

Contacts

The track coordinator is Olivier Bournez.

Optimization

Optimization is a scientific area at the intersection of computer science, applied mathematics, and engineering. It is part of a larger field called decision sciences, and has been described as “the science of better”.

The main motivation today for the study of optimization is the improvement of industrial processes. But there are few areas of knowledge where its application does not extend to. It is intensively used in logistics, transportation, scheduling, resource management, finance; but also biology, chemistry, physics, mathematics, economics, linguistics, philosophy, and more. Within engineering, electrical (INF569), mechanical (MAP562), and chemical are those on which it has the most important impact.

Optimization rests on a formal descriptive language called mathematical programming (MAP557, INF569, INF580), which is used to construct a formal model, called mathematical program (MP), of a given optimization problem. An MP is usually solved by an off-the-shelf piece of software called solver. A solver accepts all of the MP instances of a certain class and, given enough time, outputs the solution. Very large-scale MPs that defy general-purpose solvers need more investigation, work and algorithmic creativity to be solved (INF580, INF550). It is sometimes necessary to resort to hybrid approaches involving randomized heuristics (INF561), artificial intelligence (INF581) and machine learning (INF554, MAP569).

Projects (INF516) and internships (INF591) can be discussed with the person in charge of the Optimization PA (Leo Liberti). The proposed topics will be at the forefront of active research of the optimization professors and researchers at LIX. We offer opportunities for both theoretical and applied work.

This track is also accessible through the Operational Research IP Paris M1.

Future

This track naturally leads to the following Master 2 programs:

Courses

First period:

Second period:

Project: INF516

Internship: INF591

Timetable

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 ECO555*
10:45–12:45 ECO555*, MAP557*
14:00–16:00 INF554* INF550* ECO555*, MAP557*
16:15–18:15 INF554* INF550* MAP557*

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF569*
10:45–12:45 INF569*, MAP569
14:00–16:00 INF569*, MAP569 INF561 INF581, MAP562 INF580*
16:15–18:15 MAP569 INF561 INF581, MAP562 INF580*

Contacts

The track coordinator is Leo Liberti.

The Internet of Everything For a Digitized Society

In the 21th century, the need for ubiquitous connectivity of everything is unquestionable, for example for:

Going from internet-scale connectivity of just 10 billion devices today, to ubiquitous connectivity of 50+ billion devices (most of which will be embedded into larger systems) in 10 years, is at the same time an incredible vector of innovation, and a huge technical challenge.

This track covers all aspects of that challenge: from the fundamentals of communication, through internet-scale systems engineering, and towards the technologies that in the near (and, not so near) future will allow this ubiquitous connectivity to fulfil its potential and handle the security and privacy issues that come with it - and, of course, to the theoretical foundations enabling this digitisation revolution.

Courses

The first term (fall) offers foundational skills in concurrency, cryptology, operating systems and computer architectures, as well as modern communications. This includes understanding the principles behind algorithms, protocols, systems, and architectures that make the Internet, and the Internet of Things (IoT), work today. Bluetooth, ZigBee, Arduino, TLS/SSL, …, but also OSPF, and TCP/IP, are some of the technological exponents of these underlying principles, which will be studied through the courses this term.

The second term (winter) embraces “from fundamentals to reality”. Enjoying proximity with industry, this includes looking at how the principles examined during the first term are used in practice. For example, how does the CDN technology (Content Delivery Networking), used by Netflix, YouTube, …, to deliver massive amounts of real-time data across the Internet, actually work? What makes the Mobile Internet (2G, 3G, …) work? — and, how could it be used for connecting not just “cellphones and tablets” but also for providing ubiquitous connectivity for less powerful “objects”? In other words, what’s behind IoT technologies such as 5G, SigFox, or LoRa?

Partnership

This program is partially supported by the academic chair Internet-of-Everything, in partnership between Ecole Polytechnique and Cisco Systems.

Courses

First period:

Second period:

Project: INF512

Internship: INF591

Timetable

First period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF575 INF559* INF558*
10:45–12:45 INF575 INF559* INF558*
14:00–16:00 INF554 INF557* INF553
16:15–18:15 INF554 INF557* INF553

Second period:

Monday Tuesday Wednesday Thursday Friday
8:30–10:30 INF567*
10:45–12:45 MAP569 INF567*
14:00–16:00 MAP569 INF586* INF566* INF583
16:15–18:15 MAP569 INF586* INF566* INF583

Contacts

The track coordinators are Thomas Clausen, Juan Antonio Cordero Fuertes.