logoPSLensDI

COMPUTER SCIENCE sTUDiES
at École Normale Supérieure

 ************************************

Academic year  2016/2017

Map of the ENS to find  classrooms

************************************************

1. Computer science at ENS Paris and the ENS diploma

2. Admission conditions

3. Practical information 

4. Organisation of the curriculum: overview

5. The curriculum in detail

                  6. Computer science courses outside the computer science curriculum

- First year: licence(L3)

- Maths-Computer science curriculum of the 1st year

- L3 research internship

- Second year: master(M1)

- Third year: master(M2)


Courses of the academic year 2016-2017

 

1.Computer science at ENS Paris and the ENS diploma  francais

1.1.The diploma of École normale supérieure

École Normale Supérieure offers a diploma which combines an excellent training in a main discipline with an opening in other disciplines.

The Diploma is open to "élèves normaliens" (student-civil servants or scholars of the international selection) and to students from French or foreign universities who are admitted to the ENS Paris after a specific admission procedure.

The ENS Diploma is awarded after three academic years (as a general rule), during which each student validates :

1.2.Computer science at École normale supérieure

Computer science studies differ according to whether computer science is or not the student's main discipline or speciality :

There are bridges between the different departments of the ENS. With the consent of the directors of studies, reorientations towards other disciplines can take place.

1.3. Objectives

The students registered in the computer science speciality of the ENS Diploma are administratively attached to the computer science department of the ENS. This departement offers them an original academic curriculum with a small number of students (about twenty students per year), a training as computer scientists with a solid background in pure and applied mathematics in various fields.  A close supervision of the students enables a faster pace. The courses are complemented by research internships.

The objectives of computer science studies at ENS are:

1.4. Careers

Each graduate of the ENS diploma in computer science will have obtained a research Master's degree. Therefore, s/he can start a PhD in computer science or in mathematics, which s/hewill achieve in principle after three years. Or, s/he may start a non-academic career after obtaining his/her Diploma.

Possible opportunities for graduates, after completing a PhD, are as follows:

Careers2014


2. Admission conditions francajs

Please read carefully the Admission Page of ENS Paris which describe all the recruitment procedures.

2.1.Civil servant students and international selection scholars

After obtaining 120 ECTS units (level L2) in preparatory classes for grandes écoles (CPGE) and succeeding the competitive exam for the ENS, civil servant students start their studies in computer science at ENS Paris at the L3 level.

The international selection scholars start their studies in computer science at ENS Paris, either at the L3 level or directly at the M1 level, according to their profiles.

2.2.The students of the ENS diploma (Recruitment Based upon Written Application)

Students from either a preparatory class or a French or foreign university, having obtained (directly or by equivalence) 120 ECTS units(level L2) or 180 ECTS units (level L3) are allowed to apply for the ENS Diploma to follow studies in computer science.

In computer science, the general rule is to recruit students at the level of the third year of the Bachelor's (L3). Recruitment may however be possible at the level of the the Master's level (M1).


The application dates (between mid-April and mid-July), conditions and procedures are updated every year  at the following URL:

http://diplome.di.ens.fr/Candidature.html

N.B. CROUS Scholarships:
Application for CROUS scholarships  have to be made before 30 April each year.
The 1st year students in computer science at ENS Paris will be registered in L3 computer science at University Paris 7.
The 2nd year students in computer science at ENS Paris will be registered in M1 computer science at ENS Paris.

3. Practical information francais


3.1. Persons in charge

Director of studies as from 1 October 2012:

Marc Pouzet

Deputy Director of studies  as from 1 July 2017:

Jérome Féret

Director of teaching activities:

David Naccache as from June 2016

Secretary :

Isabelle Delais

Écolenormale supérieure

Département d'informatique

45, rue d'Ulm - 75230 Paris cedex 05

Telephone :+33(0) 1 44 32 20 45

E-mail: diplome@(trap)di.ens.fr ou isabelle.delais@(trap)ens.fr

Office: B10 - Ground floor - Aile Rataud

Access maps: http://www.di.ens.fr/AccesDI.html.en


3.2. Registrations

In mid-September, the students admitted to prepare the ENS diploma in computer science, the civil servant students and the international selection scholars who wish to study computer science are requested to go and meet the Computer science studies secretary in order to see to the various registrations and to have a tutor chosen for them.
Computer science students must register, for each one of the three years of their curriculum, both (i) to the university degree corresponding to their current academic year and (ii) to the ENS diploma:

University degree  ENS Diploma
 1st year: registration in L3 at University  Paris 7           registration at ENS
2nd year: registration in M1 (M.P.R.I.) at ENS registration at ENS
3rd year: registration in M2 (M.P.R.I.) at ENS registration at ENS

University degree: after being admitted to study in computer science at ENS Paris, the students register in the third year of the Bachelor (L3) - via the computer science studies secretary - at University Paris 7, which awards them the Bachelor's diploma at the end of the first year of the curriculum. During the next two years, the students register in the Master parisien de recherche en informatique (M.P.R.I.) at ENS, which awards them the Master's diploma at the end of their curriculum. For the 3rd year, instead of the MPRI,  it is  possible to register in another Master's (such as the research Master's «Mathématiques appliquées — mathématiques/vision/apprentissage» (Applied mathematics – mathematics/vision/learning) of École normale supérieure de Cachan).

ENS diploma: the student registers in the Diplôme de l’École normale supérieure» every year of the curriculum. The computer science studies secretary provides some of the mandatory documents for the registration.

3.3. Tutors and programs of studies

A tutor is chosen for each student. The tutors will help the students organize their studies and will advise them for their internships, their research, their careers.
Students are requested to meet their tutors regularly
Students may ask to have their tutors changed.

Each year, the students sign a program of studies (also called contract of studies). It is given to the ENS direction of studies  after it has been signed by their tutors and by the director of studies of the computer science department.

3.4. Exams

Attending courses, tutorials and project tutorials is highly recommended.

A student whose final mark is below the average (10/20) can ask to take a second exam (examen de rattrapage) on the condition that s/he has taken all the exams of the course. The final mark after a second exam will be 10/20 maximum.

Exception : in case of absence with a medical certificate, students can take a second exam and their final marks can be above 10/20.

4. Organisation of the curriculum: overview  francais

Computer science studies at ENS Paris are organized over three years, corresponding to the third year of the Bachelor's (Licence L3) and to the two years of a Master's (M1 & M2). At the end of their studies, ENS students who have obtained a Research Master's and validated additional courses for 72 ECTS units will be awarded the Diploma of École Normale Supérieure.

The licence L3 (Bachelor's) in computer science, within the partnership with University Paris 7, requires to obtain 60 ECTS, divided in 48 ECTS of courses of L3 level (first and second semesters) and M1 level(second semester) and 12 ECTS for the research internship which takes place in a laboratory (in universities or in the industry) -with a priority to locations in France outside Paris- and which lasts about 2 months between June and August.

Students also validate additional courses for the ENS diploma (at least 24 ECTS recommended every year).

A curriculum in maths and computer science is offered in the first year. The ENS civil servant students and international selection scholars who will choose it will be registered in L3 of Mathematics and in L3 of Computer Science and will have to validate both L3 (120 ECTS). (cf. 5.2. First year : maths-computer science curriculum).
This curriculum, which demands a lot of work, offers to motivated civil servant-students and international selection scholars:
- a double curriculum in both mathematics and computer science during a year;
- the possibility to postpone by one year the choice between mathematics and computer science.

The first year of the Master's (M1) requires to obtain 60 ECTS, divided in 30 ECTS of courses of level M1 (first semester) and 30 ECTS for a a research internship in a foreign laboratory (second semester).

The students also validate additional courses for the ENS diploma (at least 24 ECTS recommended every year).

The second year of the Master's (M2) requires to obtain 60 ECTS, divided in 30 ECTS of courses of level M2 (first semester) and 30 ECTS for a a research internship in a laboratory in France or abroad (second semester).

The students also validate additional courses for the ENS diploma (at least 24 ECTS recommended every year).

At the end of the Master's, the student usually chooses a PhD supervisor and subject. At this stage, the student gradually integrates a research laboratory.

Besides the L3, M1 and M2 internships, as from the 2nd year, students may spend a whole year abroad doing an internship.
NB. Please note that internships need to be prepared several months in advance in order to obtain permissions from the directors of studies, authorizations of the foreign laboratory or company, visas for a long stay in a foreign country, signatures of internship agreements and sometimes authorizations to take long leaves of absence ("Congé sans Traitement" for student-civil servants, "Congé avec Suspension de Bourse" forinternational selection scholars or "Césure" for students of the ENS diploma).

5. The curriculum in detail francais

5.1. First year: licence (L3)  francais

5.1.1 Computer science courses

The 5 following courses are mandatory:

- Algorithmique et programmation (Algorithms and programming)(9 ECTS) - 1st semester

- Langages de programmation et compilation (Programming languages and compilation)(9 ECTS) - 1st semester

- Langages formels, calculabilité et complexité (Formal languages, computability and complexity) ((9 ECTS) - 1st semester

- Système digital: de l'algorithme au circuit (Digital system: from algorithm to circuit)(9 ECTS) - 1st semester

- Systèmes et réseaux (Operating systems and computer networks)(9 ECTS) - 2nd semester

Students must follow and validate at least 2 computer science course among the following.
One of these courses may be replaced by a mathematics or maths-computer science course.

- Bases de données (Databases)(9 ECTS) - 2nd semester. 

- L'Informatique scientifique par la pratique (Scientific computation course)(9 ECTS) - 2nd semester.

- Initiation à la cryptologie (Basics of cryptology) (9 ECTS) - 2nd semester.

- Logique informatique (Computer science logic) (6 ECTS) - 2nd semester. (This course takes place in ENS Cachan)

- Sémantique et Application à la Vérification de Programmes (Semantics and Application to program verification) (9 ECTS) - 2nd semester

- Théorie de l'information et codage (Information Theory and Coding) (12 ECTS) - 2nd semester. In 2016-2017, course specific to the Mathematics and Computer Science curriculum

On the condition that the professor in charge of the course and the computer science director of studies agree to it, it may be possible to do an additional project (3 ECTS)

5.1.2 Maths courses

Students must follow and validate at least 2 mathematics or maths-computer science course during the first 2 years of the computer science curriculum.

During the 1styear, students may follow and validate courses in the list below or any other maths courses elsewhere with the agreement of the tutor and that of the director of studies.

- Algèbre1(Algebra1) (DMA course 12 ECTS) - 1st semester

- Intégration et probabilités de base(Integration and Basic Probability Theory) (DMA course 12 ECTS) - 1st semester

- Structures et algorithmes aleatoires(Random structures and algorithms (INFO course 9 ECTS) - 1st semester

- Topologie et calcul differentiel (Topology and differential calculus) (DMA course 12 ECTS) - 1st semester

- Analyse complexe (Complex analysis) (DMA course 12 ECTS) - 2nd semester

- Traitement du signal(Signal Processing) (INFO course 9 ECTS) - 2nd semester. Course specific to the Mathematics and Computer Science curriculum

5.1.3 Research internship francais

Students must do an internship of introduction to research lasting about 2 months between June and August in a university or industrial laboratory, first and foremost in France and outside the Paris area,to validate 12 ECTS for the licence (L3). An internship report is submitted at the end of August and a defence/presentation of the internship is done at the beginning of September.

L3 internships offers and maths-computer science presentation subjects: http://pierre.senellart.com/stages-l3/liste

Instructions for internships and maths-computer science presentations: http://pierre.senellart.com/stages-l3/


Reminder: students also validate additional courses for the for the ENS diploma (at least 24 ECTS recommended every year).

At the end of the first year, the board of examiners (commission des études), within the partnership with University Paris 7, decides on awarding the Bachelor's (Licence L3) to the students and on their admission into the second year of the ENS diploma.

5.2. First year: mathematics and computer science curriculum  francais

The maths-computer science curriculum is jointly organized by the DMA (department of mathematics) and the DI (department of computer science)of ENS.
Obtaining the first year of the maths-computer science curriculum requires obtaining the L3 of Mathematics and the L3 of Computer Science.

The civil servant-students admitted to ENS Paris via the INFO competitive exam are to register at the DI(computer science departement) and those admitted to ENS Paris via the MPI competitive exam are to register at the DMA (department of mathematics).

They will have a tutor in the department where they are registered.

5.2.1 Obtaining the L3 of Computer science

On the one hand, it is necessary to validate at least 36 ECTS among the following courses:

- Systèmes et réseaux (Operating systems and computer networks) (9 ECTS) - 2nd semester - Mandatory

- Algorithmique et programmation (Algorithms and programming) (9 ECTS) - 1st semester

- Langages de programmation et compilation (Programming languages and compilation)(9 ECTS) - 1st semester

- Langages formels, calculabilité et complexité (Formal languages, computability and complexity) (9 ECTS) - 1st semester

- Structures et algorithmes aleatoires(Random structures and algorithms) (9 ECTS) - 1st semester

- Système digital: de l'algorithme au circuit (Digital system: from algorithm to circuit) (9 ECTS) - 1st semester



- Bases de données (Databases) (9 ECTS) - 2nd semester.

- L'Informatique scientifique par la pratique (Scientific computation course) (9 ECTS) - 2nd semester

- Initiation à la cryptologie (Basics of cryptology) (9 ECTS) - 2nd semester

- Logique informatique (Computer science logic) (6 ECTS) - 2nd semester. (This course takes place in ENS Cachan)

- Sémantique et Application à la Vérification de Programmes (Semantics and Application to program verification) (9 ECTS) - 2nd semester

- Traitement du Signal  (Signal Processing) (9 ECTS) - 2nd semester

On the condition that the professor in charge of the course and the computer science director of studies agree to it, it may be possible to do an additional project (3 ECTS).

On the other hand, it is also necessary to validate a maths-computer science presentation (12 ECTS) and an Internship (12 ECTS):

This consists in:

  1. a bibliographic work supervised by a researcher, the writing of a report and a presentation and
  2. a research internship in computer science of at least 6 weeks between June and August. It takes place in a research laboratory (in a university or in the industry), first and foremost in France and outside the Paris area.
    The subjects of the presentation (exposé/mémoire) and the internship must be related to each other.

5.2.2 Obtaining the L3 of Mathematics

It is necessary to validate the 5 following L3 courses, equivalent to 60 ECTS:

- Théorie de l'information et codage (Information Theory and Coding) (INFO course 12 ECTS specific to the Mathematics and Computer Science curriculum) - 2ndsemester. Mandatory

- Algèbre1 (Algebra1) (DMA course 12 ECTS) - 1st semester

- Intégration et probabilités de base (Integration and Basic Probability Theory) (DMA course 12 ECTS) - 1st semester

- Topologie et calcul différentiel (Topology and differential calculus) (DMA course 12 ECTS) - 1st semester

- Analyse complexe (Complex analysis) (DMA course 12 ECTS) - 2nd semester


A L3 course (except Théorie de l'information et codage [Information Theory and Coding] ) can be replaced par a M1 fundamental course.

5.2.3 After the mathematics and computer science curriculum

At the end of the first year, it is necessary to choose between the Master M1 in computer science and the Master M1 in mathematics, with the agreement of the departments.

Continuation in the Master M1 in computer science:

The fundamental computer science courses which were not validated during the 1st year will have to be validated:
Algorithms and Programming; Formal Languages,computability and complexity; Programming languages and compilation; Digital system;

These courses may be used to validate the M1 in computer science.

Continuation in the Master M1 in mathematics:

The L3 maths courses which were not validated during the 1st year will have to be validated

One of these courses may be used to validate the M1 in mathematics.

5.3. Second year: Master (M1) francais

5.3.1 First semester: courses

Students in M1 of Computer Science (M1 Informatique) must validate courses for at least 30 ECTS during the 1stsemester.
It is strongly advised to discover several fields of research in computer science during the Master M1.

Computer science courses can be chosen in the following list or among the MPRI courses (Parisian Master of Research in Computer Science).

- Apprentissage statistique (Statistical machine learning) (INFO course: 9 ECTS)

- Catégories, lambda-calculs (Lambda-calculi and domains) (MPRI 1-20 and INFO course : 9 ECTS)

- Complexité avancée (Advanced complexity)((MPRI 1-17 course: 6 ECTS) This couse takes place at ENS Cachan

- Introduction à la vision artificielle (Introduction to Computer Vision) (INFO course: 9 ECTS)

- Modèles et Algorithmes des réseaux (Network models and algorithms) (INFO course: 9 ECTS)

- Optimisation Combinatoire et Convexe (INFO course: 9 ECTS)

- Planification de mouvement en robotique et en animation graphique : du continu au combinatoire via la commandabilité des sytèmes (MPRI 1-19 course and INFO course: 9 ECTS)

It is also possible, with the agreement of the tutor and that of the director of studies, to choose courses in other Masters such as for instance the MVA (Mathematiques, Vision, Apprentissage) master of ENS Cachan.

In mathematics, students may validate courses of the list below or any other maths courses elsewhere with the agreement of the tutor and that of the director of studies.
Reminder: Students must follow and validate at least 2 mathematics or maths-computer science course during the first 2 years of the computer science curriculum.

- Algèbre1(Algebra1) (DMA course 12 ECTS) - 1st semester

- Intégration et probabilités de base(Integration and Basic Probability Theory) (DMA course 12 ECTS) - 1st semester

- Logique (Logic) (DMA course 12 ECTS) - 1st semester

- Statistique (Statistics) (DMA course 12 ECTS) - 1st semester

- Structures et algorithmes aleatoires(Random structures and algorithms (INFO course 9 ECTS) - 1st semester

- Topologie et calcul différentiel (Topology and differential calculus) (DMA course 12 ECTS) - 1st semester

5.3.2 Second semester: internship

Students in M1 of Computer Science (M1 Informatique) must do a research internship of about 5 months in a laboratory abroad to validate 30 ECTS for their Master M1.

Non-French speaking students can do their internships in France.

Students receive help to find an internship subject and location by their tutors, the person in charge of M1 internships and the director of computer science studies. A meeting is organized in October each year to prepare M1 internships in order to find all subjects and locations before the end of December.

The subject and location of each M1 internship must be approved by the director of computer science studies.

In order to validate his/her M1 internship, each student student will have to submit an internship report by the end of August and to make a presentation in the beginning of September. 

If a student cannot do his/her M1 research internship abroad (health reasons,etc.), he/she will have to validate a foreign language course at ENS in order to conform with French regulations about the Master's diploma which stipulates that the Master's degree can only be issued only after validation of the ability to master at least one foreign language and that typical curricula include courses for students to acquire this skill.


Reminder: students also validate additional courses for the for the ENS diploma (at least 24 ECTS recommended every year).

At the end of the second year, the board of examiners (commission des études), decides on validating the Master M1 to the students and on their admission into the third year of the ENS diploma.

5.4. Third year: Master (M2)  francais

5.4.1 First semester: courses

Students must validate 30 ECTS of courses of the M2 MPRI (Master Parisien de Recherche en Informatique). They may be allowed to validate a few courses outside the MPRI with the agreement of their tutors and that of the ENS representative on the MPRI's Studies Committee. Please read carefully the rules to choose the M2 MPRI courses.

Instead of the M2 MPRI, students may prepare and validate the M2 of the MVA Master (Mathématiques, Vision, Apprentissage) of ENS Cachan with the agreement of their tutors and that of the director of computer science studies.

****************************************************************

N.B.  The 3 following courses of the MVA Master usually take place at ENS Paris  from end of September until end of December.

- Méthodes mathématiques pour les neurosciences (Mathematical Methods for Neurosciences) (5 ECTS INFO & MVA course & UPMC Maths et Applications)

- Reconnaissance d'objets et vision artificielle (Object recognition in computer vision) (5 ECTS INFO & MVA course)

- Représentation parcimonieuse par ondelettes (Sparse Wavelet Representations and classifications) (5 ECTS INFO & MVA course)


5.4.2 Second semester: internship

Students in the M2 MPRI (Master Parisien de Recherche en informatique - Parisian Master of Research in Computer Science) must do a research internship of about 5 months in a laboratory in France or abroad to validate 30 ECTS for their Master M2. The subject, abstract and location of the internship must be approved by the ENS representative on the MPRI's Studies Committee. Please read carefully:
https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=stages
In order to validate his/her M2 MPRI internship, each student student will have to submit an internship report by the end of August and to make a presentation in the beginning of September.

As to the M2 MVA, the mandatory internship is of about 4 months and takes place between April and August. 

Reminder: students also validate additional courses for the ENS diploma if they have not yet validated the 72 additional ECTS required.

5.5. Additional courses and the ENS diploma

 

N.B. Modifcations as from academic year 2016-2017.  Please read carefully:  http://www.ens.fr/formation/enseignement/article/diplome-de-l-ens?lang=en


Additional courses or activities for the ENS Diploma  (Minimum of 72 ECTS required as from  2016-2017) can be classified into three categories:

In computer science, it is recommended to attend and validate languages courses at ENS ECLA (Espace des Cultures et Langues d'Ailleurs).
Courses of English for scientists are highly recommended.


A course validated for the L3, M1 or M2 diplomas cannot be validated a second time within the additional courses for the ENS diploma.

At the end of their studies at ENS Paris, the students who meet the requirements receive the ENS Diploma with a main speciality or major in the discipline of the Master's and sometimes with a second speciality or minor in another discipline.  (cf.1.1.The diploma of École normale supérieure).

6. Computer science courses outside the computer science curriculum francais


6.1. Computer science as "second speciality or minor" of the ENS diploma

 A student registered in a speciality or discipline different from computer science (and therefore attached to another ENS department) can choose computer science as second speciality or minor for his/her diploma.

It is necessary to contact the director of computer science studies who will make sure that a coherent group of computer science courses are validated (at least 24 ECTS).


6.2. Computer science at ENS


6.2.1 L3 courses of the first semester


The students who already have some knowledge in computer science may choose L3 courses during the first semester.

6.2.2 The seminar of computer science

The general seminar of the Department of Computer Science brings together general lectures designed to be accessible to everyone: undergraduate and graduate students, PhD students and researchers.
It takes place on every other Wednesday at 17.00 at ENS.
The program is published : http://www.di.ens.fr/SeminaireGeneral.html.fr
Students who attend the computer science seminar regularly during their ENS studies (about 24 seminars) may obtain 3 ECTS for the ENS diploma.
The students will have to make sure that their names are registered on the attendance sheets and will have to ask for the validation of these 3 ECTS at the end of their studies.

6.2.3 Introductory course in programming

The computer science department also offers a course in programming, open to all students: 

- Initiation à la programmation pour pour non-informaticiens (Programming for non-computer scientists) 

Zhentao LI

(3 ECTS)

(Course taught in the  2nd semester)

This introductory course is open to students from all Science and Humanity majors. No prior knowledge of computer science is required. The course does not aim towards any specific application of programming but will adapt to the needs of the students. Students that will be required to program software during their research may be interested in taking this course.


6.2.4 MOOC (Massive Online Open Course), "Algorithmes d'Approximation"


A MOOC (Massive Online Open Course), "Algorithmes d'Approximation"  will be offered during the 2015 autumn.. Ce sera un cours interactif diffusé sur le web.

  Level M1, 10 weeks with 1 video of 1 hour per week. No ECTS. Claire Mathieu

More information : http://www.ens.fr/savoirs/mooc-et-flot/  and  https://www.coursera.org/ens

http://savoirs.ens.fr/expose.php?id=2249




9. Computer science courses of the academic year  2017/2018   francais

- Algorithmique et programmation (Algorithms and programming)

- Algorithmique et combinatoire des graphes géométriques - MPRI 2-38-1(Algorithms and combinatorics for geometric graphs)

- Algorithmes d'Approximation (MOOC Niveau M1 automne 2015) https://www.coursera.org/ens

- Apprentissage statistique (Statistical Machine Learning)

- Bases de données (Databases) ENS Cachan

- Catégories Lambda-Calculs- MPRI 1-20 (Categories and lambda-calculi)

- Complexité Avancée- MPRI 1-17 (Advanced complexity

- Fondements sur la modélisation des réseaux - MPRI 2-17-1(Foundations of network models)

- L'Informatique Scientifique par la pratique - MPRI 1-23 (Scientific computation course)

- Initiation à la cryptologie - MPRI 1-13 (Basics of cryptology

- Interprétation Abstraite : Application à la Vérification et à l'Analyse Statique -MPRI 2-6(Abstract interpretation: application to verification and static analysis)

- Initiation à la programmation pour pour non-informaticiens (Programming for non-computer scientists)

- Introduction à la vision artificielle (Introduction to computer vision

- Langages de programmation et compilation (Programming languages and compilation)

- Langages formels, calculabilité et complexité (Formal languages, computability and complexity)

- Logique et Informatique (Computer Science Logic) ENS Cachan

- Méthodes mathématiques pour les neurosciences -Master MVA Course (Mathematical Methods for Neuroscience)

- Modèles et Algorithmes des Réseaux Sociaux (Network models and algorithms)

- Optimisation Combinatoire et Convexe ( )

- Optimisation Convexe, algorithmes et applications - Master MVA Course (Convex Optimization, Algorithms and Applications)

- Planification du mouvement en robotique et en animation graphique : du continu au combinatoire via la commandabilité des systèmes - MPRI 1-19(Robot motion planning: from continiuty to combinatorics via system commendability)

- Programmation parallèle et réactive (Parallel and reactive programming)

- Protocoles cryptographiques : preuves formelles et calculatoires - MPRI 2-30(Cryptographic protocols: computational and symbolic proofs)

- Reconnaissance d'objets et vision artificielle - Master MVA Course (Object recognition in computer vision)

- Représentation parcimonieuse par ondelettes - Master MVA Course (Sparse Wavelet Representations and classifications) Cancelled as from 2017-2018

- Réseaux de communication (Communication Networks) neither taught in 2013-2014, nor in 2014-2015

- Sémantique, langages et algorithmes pour la programmation multicore -MPRI 2-37-1(Semantics, languages and algorithms for multicore programming)

- Sémantique et application à la vérification de programmes(Semantics and application to program verification)

- Structures et Algorithmes Aléatoires (Random Structures and Algorithms

- Système digital: de l'algorithme au circuit (Digital System: from algorithm to circuit

- Systèmes et réseaux (Operating systems and computer networks)

- Systèmes synchrones  -MPRI 2-23-1(Synchronous systems)

- Techniques en Cryptographie et Cryptanalyse -MPRI 2-12-1(Techniques in Cryptography and Cryptanalysis)

- Théorie de l'information et codage (Information Theory and Coding)

- Traitement du signal (Signal Processing) Cancelled as from 2017-2018

Algorithmique et combinatoire des graphes géométriques (Algorithms and combinatorics for geometric graphs) francais

(Eric Colin de Verdière, Claire Mathieu)

The course revolves around exact and approximation algorithms for embedded graphs: planar graphs and graphs drawn without crossings on surfaces. It is at the frontier of "classical" graph algorithms and computational geometry, and combines several directions of active research that share common background and techniques:

(MPRI course : 3 ECTS)

Please see description update and more details of this course MPRI 2-38-1 at: https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-38-1

(Last update : June 2014)

Algorithmique et programmation (Algorithms and programming) francais

(Anne Bouillard)


The course includes three parts: a basic course, an advanced course and a project.
Each week the lecture has two independent parts, the first covering the basic concepts and the second covering more advanced concepts.
The basic course is standard, most of its contents can be found in typical algorithmic textbooks such as Kleinberg - Tardos or Cormen - Leiserson - Rivest -Stein ; the exercise sessions develop and the exams are on notions from the basic course.
The advanced course provides more sophisticated algorithms.
The project implements in C an algorithm or data structure.

Prerequisites

Some programming basics. Elementary algorithms : binary search, insertion sort, selection sort, binary search trees, graphs (definition), breadth-first search, depth-first search.

Basic course

  1. Priority queues. Heap data structure. Heapsort. Dijkstra. Prim. Huffman.
  2. Complexity of mergesort . Average complexity of quicksort. Decision trees and lower bounds.
  3. Kruskal . Boruvka. Union - Find.
  4. Red - black trees , splay trees.
  5. Fast Fourier Transform.
  6. Hashing. Bloom filters.
  7. Dynamic Programming. All pairs shortest paths. Hidden Markov chains.
  8. Algorithms on words. Sequence Alignment.
  9. Graph algorithms. Connected components, articulation points, strongly connected components, 2 -SAT.
  10. Flows.
  11. Linear programming. Duality. Simplex.
  12. Multiplication, exponentiation.
  13. Reductions and NP -completeness

Advanced course

We will discuss selected examples from the following topics. Advanced data structures : binomial heaps. Computational geometry and Voronoi diagrams. Inverse Ackermann function and analysis of Union - Find. Treaps. Online algorithms : ski rental . Streaming algorithms. Four Russians algorithm. Algorithmic game theory. Edmonds’ algorithm. Approximation algorithms . Ellipsoid method. Algorithm of Goemans and Williamson. Primality test. Stochastic optimization. FPT algorithms. Suffix trees.

Practical information

Course page: http://www.di.ens.fr/algoL3/

3 hours of lectures and 2 hours of tutorials per week.

Evaluation: homeworks, project, midterm and final.

Information specific to the 2014-2015 academic year

Schedule: The course will take place on Mondays 3:15 p.m. to 6:15 p.m. For exercise sessions, the students will be divided into two groups, one on Tuesday evening and the other on Thursday evening.
Classes start on Monday, September 22; there is no class on Monday, November 10; midterm on Monday, November 17; final on Monday, January 19.


(Computer science course :6 ECTS in the past  but 9 ECTS as from the 2013-2014 academic year)

 (Last update: June  2014)

Algorithmique des réseaux sociaux (Algorithms and models for social networks) français

(Marc Lelarge)

This course is an introduction to the mathematical and algorithmic techniques needed to model and study social networks.
In the first part, we present the main models of random graphs and their properties.
In a second part, we study the dynamics of diffusion and influence in these networks and their algorithmic implications.
In the last part, we will see the mathematical foundations of inference algorithms related to the first two parts.
Here are some examples that will be addressed during this course:
pagerank, streaming algorithms, communities detection, spectral algorithms, crowd-sourcing algorithms, recommendations algorithms.

Web page of the  course in 2013-2014: http://www.di.ens.fr/~lelarge/soc.html

(Computer science course: 6 ECTS)

(Last update: June  2014)

New M1 course in  2013-2014. Will only be taught every 2 years. Not taught in 2014-2015, nor in 2015-2016


Apprentissage statistique  (Statistical machine learning)francais

(Francis Bach)


Statistical machine learning is a growing discipline at the intersection of computer science and applied mathematics (probability / statistics, optimization, etc.) and which increasingly plays an important role in technological innovation.

Unlike a course on traditional statistics, statistical machine learning is particularly focused on the analysis of data in high dimension, as well as the efficiency of algorithms to process the large amount of data encountered in multiple application areas such as image or sound analysis, natural language processing, bioinformatics or finance.

The objective of this class is to present the main theories and algorithms in statistical machine learning. The methods covered will rely amongst others on convex analysis arguments.

The practical sessions (more than half of which will be realized with computers) will lead to simple implementations of the algorithms seen in class and with applications to various domains such as computer vision or
natural language processing.

A natural follow-up to this class is the master M2 MVA of ENS Cachan.

Page of the course : http://www.di.ens.fr/~fbach/courses/fall2016-ens/

Former page of the course : http://www.di.ens.fr/~slacoste/teaching/apprentissage-fall2015/


(It was the Course specific to the L3 Maths-Computer Science and Computer Science-Maths curricula in 2011-2012 and 2012-2013 when it was a maths course of 12 ECTS.

 Old pages: http://www.math.ens.fr/cours-apprentissage/ and http://www.math.ens.fr/enseignement/fiche_cours.html?cours=62

This course was not  taught in 2013-2014 and became a M1 course in 2014-2015. )

(Computer science M1 course: 9 ECTS as from 2016-2017, 6 ECTS in 2014-2015 and 2015-2016)

(Last update: July 2016)

Bases de données (Databases) francais

(Pierre Senellart)

This course covers principles of database management systems (DBMSs). DBMSs are generic software allowing storage and efficient management of data for a large range of applications. On the practical side, DBMSs are sophisticated pieces of software, very broadly used, prevalent in the industry. On the theory side, the conception of these systems relies on conceptual, logical, and algorithmic foundations connected to other areas of computer science. The course will go from theoretical aspects of DBMSs to practical ones, focusing on DBMSs based on the relational model.

The following topics will be covered in the 12 lecture sessions, which will be accompanied by exercise and lab sessions on the same topics.

1. Introduction to data management, the relational model, the relational algebra, SQL
2. Logical aspects: relational calculus, domain independence, Codd's theorem
3. Recursion, Datalog, fixpoint languages, second-order logic
4. Computational complexity of query languages
5. Constraints on data: functional dependencies, inclusion dependencies, chase
6. Schema design, normalization
7. Static analysis: query minimization, acyclic queries, query rewriting
8. Virtual and materialized views, view maintenance, view update, data integration
9. Query optimization: plan generation, cost models, histograms
10. Indexing and storage
11. Transactions and concurrency control: serializability, two-phase locking, timestamping
12. Extensions and applications: distribution, non-relational data, Web applications and security

The evaluation of the course will be in part through continuous assessment, and in part through a final exam.

Bibliography:
- M. Benedikt and P. Senellart, Databases. E. K. Blum et A. V. Aho, editors, Computer Science. The Hardware, Software and Heart of It, pp. 169‑229. Springer-Verlag, 2012. http://pierre.senellart.com/publications/benedikt2012databases.pdf
- S. Abiteboul, R. Hull et V. Vianu, Foundations of Databases. Addison-Wesley, 1995. http://webdam.inria.fr/Alice/
- H. Garcia-Molina, J. Ullman, J. Widom, Database Systems: The Complete Book. Pearson, 2008.

Former page of the course: http://abiteboul.com/TEACHING/DBCOURSE/

(Computer sciences course : 9 ECTS as from 2016-2017, 6 ECTS before)

(Last update: July  2016)

Catégories, lambda-calculs (Lambda-calculi and domains) francais

(Paul-André Melliès)

This course is concerned with the syntax and semantics of programming languages, starting from the lambda-calculus. This formalism, which was introduced in logic in the 1930's, has met computer science in the 60's, when it was used for the formal specification of programming languages such as ALGOL, or for the design of languages like LISP, Scheme, or CAML. The lambda-calculus offers a rich dictionary of correspondences between programming and logic:
proofs and programs, types and formulas or specifications.

We shall prove the main syntactical theorems of the lambda-calculus: confluence, standardisation, termination. Then we shall present the models of the lambda-calculus: to this aim,the language of category theory will be used.

Interpreting a language in a model is akin to a compilation, and as a matter of fact models offer occasions to return to syntax: abstract machines for program execution, proofs of properties of programs. Similarly, observations on a particular model of the lambda-calculus have lead Girard tolinear logic, which has connectives allowing to control hypotheses viewed as resources.

We shall also discuss extensions of the lambda-calculus with imperative features such as references and exceptions, both at a syntactical and semantical level. Here too, categories provide suitable abstractions such as monads, which allow for a modular and uniform view of different notions of effects in programming.

Finally, links with concurrency theory (pi-calculus, join calculus) will be sketched.

Recommended reading for the course:

- Domains and Lambda-calculi. R. Amadio et P.-L. Curien. Cambridge University Press, 1998.

- Categorical semantics of linear logic. P.-A. Melliès. Published in the collection 'Panorama et Synthèse', Société Mathématique de France, 2009.

And also :

- Semantics of programming languages. C. Gunter. MIT Press, 1992.

- Categories, types and structures. A. Asperti and G. Longo. MIT Press, 1991 (sold out, but available on G.Longo 's webpage : http://www.di.ens.fr/users/longo/files/CategTypesStructures/book.pdf )

- Theories of programming languages. J. Reynolds. Cambridge University Press, 1992.

For the lambda-calculus :

- The Lambda-calculus. H. Barendregt. North Holland, 1984.

- Lambda-calcul, types et modèles. J.-L. Krivine. Masson, 1990.

Pour category theory, read the first chapters of :

- Toposes, Triples and Theories. M. Barr and C. Wells. Springer, 1985.

- Sheaves in Geometry and Logic: a first introduction to topos theory. S. Mac Lane and Ieke Moerdjik. Springer, 1992.

(MPRI 1-20 course  : 9 ECTS as from 2016-2017 and 6 ECTS before)
 More information:  http://www.pps.jussieu.fr/~mellies/mpri-ens.html

(last update : July 2016)

Complexité avancée (Advanced Complexity) francais

(Jean Goubault-Larrecq)

Complexity theory goes well beyond NP-completeness. The aim of this course is to have a look at several other fundamental complexity-theoretic constructions: space complexity, alternating machines, randomized machines.  We shall see a few fascinating theorems: that alternating time is equivalent to deterministic space for example, or Shamir's IP=PSPACE theorem.

Outline

References

Christos H. Papadimitriou. Computational Complexity. Addison-Wesley, 1994.

Sanjeev Arora and Boaz Barak. Computational Complexity. Cambridge University Press, 2009. (a former version is available here: http://www.cs.princeton.edu/theory/complexity/)

Courses in French:

(Computer science course:6 ECTS)

Webpage of this  MPRI M1-17 course: https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-1-17
(last update : July 2013)

L'Informatique scientifique par la pratique (Scientific computation course) francais

(David Naccache)

The ENS’ Scientific computation course allows students to write their first scientific paper by tackling a real research problem in a team supervised by a professor and senior PhD students.

Research is conducted by applying mathematical and computational techniques learnt during other ENS courses and by exploring and by learning new theoretical tools as needed.

At the beginning of the course, we expose to students a panel of mathematical and computational challenges. Students form groups and each group selects a challenge. 

The challenge is researched (under supervision) and theoretical solutions are proposed and debated. Solutions are analyzed and coded. 

Results are structured (in English) and formatted as a “professional” research paper that can be submitted to a peer-reviewed conference (or even a journal).

40% of the papers written by students during this course are indeed accepted by international conferences (after being reviewed by program committees of scientific conferences).

Publications are frequently co-authored with experimented researchers who integrate the models, theory and programs written by the students in larger research endeavors. To date, students co-signed papers with researchers affiliated with Telecom ParisTech, Ecole des mines de Saint Etienne, Samsung Research, Altis Semiconductor, Université de Bucarest, Ingenico, Technische Universität Darmstadt, University of Bristol, Morpho, ETS Montréal, Université Paris 8 etc.

(Computer science course: 9 ECTS as from 2016-2017, 6 ECTS before)

(Last update: July 2016)

Initiation à la cryptologie (Basics of cryptology) français

(David Pointcheval, Jacques Stern, Damien Vergnaud)

 This course is aimed at students interested in mathematical and practical aspects of algorithmics. Its goal is to teach the fundamentals of cryptology and the main tools that are used to solve security problems. 

This course is also proposed as a level 1 course for the MPRI and therefore serves as a preparation for the level 2 course in cryptology for the MPRI.

This course consists in 6 relatively independent parts, each having 4 hours of teaching and 4 hours of exercises.

(Computer science course: 9 ECTS as from 2016-2017, 6 ECTS before)

 More information about this MPRI 1-13 course on its page on the MPRI website : https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-1-13

(Last update: July 2016)

Initiation à la programmation pour non-informaticiens (Programming for Non-computer Scientists) francais

(Zhentao LI)

This introductory course is open to all students, from Humanities as well as the sciences. No prior programming or computer science knowledge is needed. The course does aim to provide a specific application of programming but will instead adapt to the needs of the students. This course may be of interest to students that will have to program simulations for their research, but also to anyone who is interested in knowing how computer programs are made.

(Computer Science course 2nd semester : 3 ECTS)

Webpage:  https://www.di.ens.fr/~zhentao/intropython/

(last update: Sept 2015)

Interprétation Abstraite : Application à la Vérification et à l'Analyse Statique (Abstract Interpretation : application to verification and static analysis) français


NB. Old description Please see MPRI  page of the course : https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-6

The static analysis of programs consists in verifying statically (without execution) dynamic program properties (at runtime).

The classes properties to be verified are diversified, ranging from safety (for example the absence of runtime errors), liveness (such as the guarantee of response to a signal) to security (for example, the confidentiality of information handled by a program)..

The major difficulty to automatically prove these dynamic properties is to find inductive arguments to make the proof (for example, by induction on the number of program elementary steps). Various solutions can be considered: asking the end-user (deductive methods), using finitary models (model-checking) or compute the inductive argument by approximation of the program semantics (using the fixpoint approximation techniques of abstract interpretation).

The course explores this last technique, first recalling the bases, then exploring a number of infinitary abstractions so as to handke a great number of applications to the analysis of infinite state systems, whether emerging, classical or industrialized. 

Contents of the course (for information only):

References:

(Computer science course: 6 ECTS)

More information about this MPRI 2-6 course on its page on the MPRI website: https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-6

Introduction à la vision artificielle (Introduction to Computer Vision) francais

(Mathieu AUBRY)

This class presents an overview of the principles and techniques underlying computer vision, a scientific field whose aim is to equip computers with the ability to make sense of digital imagery (still images and video sequences).
The class will include programming assignments.

Outline :

1. Image formation: Camera models, light and color.

2. Local image processing: Filters, edge detection, features, texture.

3. Grouping: Clustering, fitting, and Segmentation.

4. Combining multiple images: Multi-view geometry, stereo, structure from motion.

5. Scene understanding: Face detection and recognition, bags of features for category-level object recognition.

 

Reference :

D.A. Forsyth et J. Ponce, "Computer Vision: A Modern Approach", Prentice-Hall, 2002.

(Computer science course: 4 ECTS in 2012-2013, 6 ECTS in 2013-2014, 2014-2015, 9 ECTS as from 2016-2017)

(Last update: June 2017)

Langages de programmation et compilation (Programming languages and compilation) francais

(Jean-Christophe Filliâtre)

This course is an introduction to the main concepts of programming languages through compilation, that is the translation from a high-level language to machine language. The course includes practical work where some notions are implemented. The evaluation includes a compilation project.

(Computer science course :6 ECTS in 2012-2013 but 9 ECTS as from 2013-2014)

Web page of the course  : http://www.lri.fr/~filliatr/ens/compil/ 

(Last update : July 2013)

Langages formels, calculabilité et complexité  (Formal languages, computability and complexity) francais

(Damien Vergnaud)


1: Regular languages, their properties and their characterization by automata, regular expressions, logical formulae and monoids. Star-free languages.

Introduction to languages of infinite words.

2: Grammars and Chomski hierarchy. Context-free languages, their properties and their characterization by pushdown automata.

3: Computability (recursive functions and Turing Machines). Decidable, undecidable, semi-decidable problems.

4: Time and space complexity. Complexity bounds. Complexity classes (NP, Pspace) and complete problems.

------------------------------

Course web page of Eugene Asarin: http://www.liafa.jussieu.fr/~asarin/ENS/lf.html

Manual for this course (in French) :http://www.liafa.jussieu.fr/~carton/Lfcc/

Exercises web page of Anne Bouillard :  http://www.di.ens.fr/~bouillar/enseignement.html

Previous page of this course: http://www.liafa.jussieu.fr/~carton/Enseignement/Complexite/ENS/

(Computer science course : 6 ECTS in 2012-2013 but 9  ECTS as from 2013-2014)

(Last update : July 2013)

Logique et informatique (Computer Science Logic) francais

(Jean Goubault-Larrecq) 

This course explores the basics of the lambda-calculus, a tool invented by the logician Alonzo Church in the 1930s, and which is instrumental today both in semantics of programming languages (computer science) and in proof theory (logic).

- Lambda-calculus and functional languages:

- Logical aspects:

References:

(Computer science course  : 6 ECTS).  This  course takes place at ENS Cachan in the 2nd semester.

Lecture notes are available at  :  http://www.lsv.ens-cachan.fr/~goubault/Lambda/loginfoindex.html

(last update: July 2013)

Méthodes mathématiques pour les neurosciences (Mathematical Methods for Neurosciences) francais

(Romain Veltz, Etienne Tanré)


We present a number of mathematical tools that are central to modeling in neuroscience. The prerequisites to the course are a good knowledge of differential calculus and probability theory from the viewpoint of measure theory. The thrust of the lectures is to show the applicability to neuroscience of the mathematical concepts without giving up mathematical rigor. The concepts presented in the lectures will be illustrated by exercise sessions.


The web page of the course: http://romainveltz.pythonanywhere.com/teaching/

Computer science  & Master MVA course : 5 ECTS & UMPC Maths & Applications course. (NB. 5 ECTS as from 2015-2016. 4 ECTS before)
(last update: September 2015)

Modèles et Algorithmes des réseaux (Network models and algorithms) francais

(Ana Busic & Marc Lelarge)

This course is an introduction to mathematical methods and algorithms for network modeling and analysis. The focus will be on communication networks, social networks, and energy (smart-grid).

The objective of the course is to analyze large-scale networks. Specifically, we will study the emergence of global coordination through local actions based on partial and local information.

We will study the following questions: resource sharing, opinion aggregation and distributed coordination, propagation of information and influence in a network, content distribution.

Some examples of concrete applications that will be considered in this course: Why Internet does not collapse under congestion? Is it fair that my neighbor has higher throughput? How do search engines work? Can we increase our influence in a social network? Is it possible to have renewable and reliable energy?  

We will use mainly convex optimization, distributed algorithms, and probabilistic models and algorithms.

Course web-page: http://www.di.ens.fr/~busic/mar/

 (Computer science course: 9 ECTS as from 2016-2017, 6 ECTS before)

(last updated : July 2016)

Optimisation Combinatoire et Convexe

(Alexandre d'Aspremont)

Ce cours est une introduction aux problèmes et concepts en optimisation combinatoire et convexe. Le but est d'apprendre à reconnaitre, transformer et résoudre ces problèmes d'optimisation.

Nous regarderons de manière plus approfondie les notions de théorie des graphes, de programmation linéaire et de flots vus dans le cours Algorithmique et Programmation.

Une partie du cours traitera de l'analyse convexe, de la dualité et de la théorie des couplages et ses applications. L'autre moitié se porte sur les algorithmes, notamment les algorithmes de premier ordre et les méthodes de point intérieur, du simplexe et de l'ellipsoïde.

Plusieurs applications illustreront les techniques vus dans ce cours.

Evaluation : Projet avec soutenance et examen écrit

(Cours Info : 9 ECTS)

Nouveau cours de M1 en 2015-2016

(maj ce descriptif : mai 2015)

Optimisation Convexe, algorithmes et applications - Master MVA Course (Convex Optimization, Algorithms and Applications)francais

(Alexandre d'Aspremont)

The objective of this course is to learn to recognize, transform and solve a broad class of convex optimization problems arising in various fields such as machine learning, finance or signal processing. The course starts with a basic primer on convex analysis followed by a quick overview of convex duality theory. The second half of the course is focused on algorithms, including first-order and interior point methods, together with bounds on their complexity. The course ends with illustrations of these techniques in various applications.

Master MVA page of the course: http://math.ens-paris-saclay.fr/version-francaise/formations/master-mva/contenus-/convex-optimization-and-applications-in-machine-learning-161994.kjsp?RH=1242430202531
Web page of the course: http://www.di.ens.fr/~aspremon/OptConvexeM2.html

Computer science  & Master MVA course : 5 ECTS.

(last updated: June 2017 )

Planification de mouvement en robotique et en animation graphique : du continu au combinatoire via la commandabilité des sytèmes
(Robot Motion Planning and Control: from continuity to combinatorics via system commandability) francais

(Jean-Paul Laumond, Nicolas Mansard)

Algorithmic motion planning addresses the Piano Mover Problem. It aims at computing collision-free paths for a mechanical system moving in an environment cluttered with obstacles. The systems may be a mobile robot, a robot arm, a humanoid robot or a digital actor. All methods consist in exploring the the so-called Configuration Space: a configuration is a set of parameters allowing to locate the system in its environment. Obstacles in the physical world are transformed into obstacles in the configuration space. Motion planning for a physical system is then equivalent to motion planning for a point in some manifold populated with obstacles.

References:

(Computer science course: 9 ECTS as from 2016-2017, 6 ECTS before)

(Last updated: July 2016)

Programmation parallèle et réactive (Parallel and reactive programming) Français

(Albert Cohen)



Parallel computing is essential in the quest for higher performance, pervading all areas of computer science and its applications. Reactive systems, also called cyberphysical, range from embedded control to graphical user interfaces and sensor networks. This new course sets correction and modularity as priorities in the introduction to parallel and concurrent programming.

The first part of the course explores the main forms of parallelism, with a focus on determinitic constructs, their expression in programming languages, the tradeoffs between abstraction and efficiency, in shared or distributed memory. We will use the Rust language, and the course will open on the processing of massive, distributed data and on GPU acceleration.

In a second part, we will study cooperative and synchronous parallelism in reactive systems, their distributed implementation, the links with event-driven programming, and the compilation of parallelism to reconcile modularity, performance and functional safety. We will use the ReactiveML language, and the course will open on the formal verification of parallel and reactive programs.

The Rust and ReactiveML languages will be introduced during the course.

New M1 course as from 2016-2017. 9 ECTS

Did not take place in 2016-2017 but is programmed for 2017-2018

  See time table: http://diplome.di.ens.fr/20162017emploiTempsan2Sem1.pdf

Will take place on Monday afternoons and Tuesday mornings from mid-September to the beginning of November 2017.

(Last updated: June 2017) 

 

Reconnaissance d'objets et vision artificielle (Object recognition in computer vision) francais

(Josef Sivic, Ivan Laptev, Cordelia Schmid, Jean Ponce)

Automated object recognition - and more generally scene analysis - from photographs and videos is the great challenge of computer vision. This course presents the image, object and scene models, as well as the methods and algorithms, used today to address this challenge.
Course Outline  :

- Visual features: interest points, affine regions, invariants, Sift descriptors.

- Detecting specific objects and object classes: 2D and 3D alignment, voting methods, face detection and Adaboost.

- Image classification: bags of features and support vector machines, grids and pyramids, convolutional networks.

- Detecting object categories: constellations of visual features, part-based models, sliding window methods, weakly supervised model learning.

- Going further : scene analysis, understanding human activities in videos.

    References :

Web page of the course : http://www.di.ens.fr/willow/teaching/recvis15/
Computer science  & Master MVA course : 5 ECTS.
(NB. 5 ECTS as from 2015-2016. 4 ECTS before)


(Last updated: Sept 2015)

Représentation parcimonieuse par ondelettes (Sparse Wavelet Representations and classifications)français

(Stéphane Mallat)

Cancelled as from 2017-2018


Objective of the course:
The course introduces sparse wavelet representation techniques, for compression, noise removal and for audio and image classification.

Reference:
Une exploration des signaux en ondelettes", S. Mallat, Éditions de l'Ecole Polytechnique.

The Master MVA page of the course

Computer sciences & Master MVA course : 5 ECTS (NB. 5 ECTS as from 2015-2016. 4 ECTS before)

Timetable and room  : http://diplome.di.ens.fr/20152016emploiTemps3anM2.pdf

(Last update: July 2015)

Sémantique et application à la vérification de programmes (Semantics and application to program verification)français

(Xavier Rival)

Abstract:

In this lecture, we will study techniques for reasoning about programs, so as to verify correctness properties.
We will first set up the foundations of the semantics of programming languages and the notion of program proofs, using Hoare triples.
Then, we will formalize various kind of relevant properties (safety, liveness, security).
Last, we will focus on approaches for automatic program verification (abstract interpretation based static analysis, model checking of finite systems, solving modulo theory): the inferrence of the proofs is then performed by another computer program.

Contents:

In addition to the theory, we will present practical application for those techniques in TDs and TPs.

(Computer science course: 9 ECTS) New course that will be taught in the 2nd semester as from 2013-2014

Page 2015 of the course :  http://www.di.ens.fr/~rival/semverif-2015/

(Last update: February 2015)

Structures et Algoritmes Aléatoires (Random Structures and Algorithms) francais

(Anne Bouillard)

Objectives: this course aims at presenting the basics of discrete probabilities.

Outline: there will be two parts:

Discrete probabilities and applications:

Markovian models:

For each item, examples related to various fields of computer science will be given.

Course: Anne Bouillard TD: 


(Computer science course : 6 ECTS in 2012-2013 but 9 ECTS as from 2013-2014)
Webpage : http://www.di.ens.fr/~bouillar/SAA/index.html
(last update : July 2013)

Système digital : de l'algorithme au circuit (Digital system: from algorithm to circuit) francais

( David Naccache)


The course lectures present the hardware component in our information world. From the principles for designing and realizing circuits, to various high-performance computing applications, from physics, electronics, algebra and telecommunications. Each application goes from the algorithm (software) to the circuit (hardware): same operations, different performances.

The practical part is a project, to be realized in small groups: each group must entirely design a microprocessor, and realize it with elementary logic gates; one then simulates the gate network in action, and program the micro so as to turn it into a digital clock, and simulated in real-time.

  1. Digital Synchronous Circuit: Combinational circuit, logic gates. Clocked register; digital synchronous circuit; Digital clock example. Complexity and BDD circuit synthesis.
  2. Binary Numbers: from bits to 2adic integers; Boolean algebra and Ring; Hyper-cube and integer sets. 2adic arithmetic and bit-serial circuits. Logic and set operations over binary integers: Binary Algebra.
  3. Electronic Circuits: from gates to transistors; from logic to layout design rules. Electric schemas and micron drawing of a serial adder. RAM and RAM memory structures. Fabrication technologies; Moore’s laws.
  4. Silicon Arithmetic: adders and multipliers; serial and parallel; minimal depth. Optimal area/time tradeoffs. Arithmetic and Logic Unit. Hensel’s division; 2adic square root.
  5. Universal Machines: silicon Turing machine; Church programmable micro-processor. Computable real numbers, and limits to automatic computations. On-line arithmetic: 2adic vs. real numbers. Programmable logic FPGA and dynamically reconfigurable systems.
  6. Scientific computations: Useful algorithmes for calculating in hardware and in small firmware, base conversion, accessing bits, manipulating data, implementing trigonometric functions, roots, logarithms etc. Multiprécision and error estimation.

(Computer science course: 6 ECTS in 2012-2013 but 9 ECTS as from 2013-2014)

More information about the course at: http://www.di.ens.fr/~jv/HomePage/teaching.html

 2015-2016 webpage of the course: http://www.di.ens.fr/~bourke/sysdig.html

(last update : June 2016 )

Systèmes et réseaux

(Marc Pouzet)

Le cours de systèmes  présente les concepts fondamentaux des systèmes d'exploitation, leur utilisation et leur mise en œuvre dans un système UNIX.


(Cours Info : 6 ECTS in 2012-2013 but 9 ECTS as from 2013-2014)

Web page of the course : http://www.di.ens.fr/~pouzet/cours/systeme/


Théorie de l'information et codage (Information Theory and Coding) francais

(Anne Bouillard)


This course introduces information and coding theory.
We are interested  in the quantity of information contained in a message and in the means to transmit it through a transmission channel that may introduce errors.
We will then study compression algorithms and coding techniques that enables the detection and correction of errors of transmission.

I - Data compression: compression rate and entropy; Huffman, Ziv-Lempel algorithms and their optimality.

II - Transmission Channel : channel capacity, Shannon's theorem

III - errors correcting codes : linear, cyclic codes, Hamming code, BCH.

References:

Webpage of the course  : http://www.di.ens.fr/~blaszczy/cours-it.html


(Computer science course : 6 ECTS in 2012-2013 but 9 ECTS in 2013-2014, 2014-2015,2015-2016 and 12 ECTS as from 2016-2017)

As from 2016-2017, course specific to the Mathematics and Computer Science curriculum

(last update: June 2017)

Traitement du Signal  (Signal Processing)francais

(Stéphane Mallat)

Cancelled as from 2017-2018


This course introduces digital signal processing together with related tools in harmonic analysis, probability and statistics.
It covers applications and algorithms for audio and image processing.
The following topics will be covered:

Each course will be followed by a session of exercices or computer simulations.

(Computer science course: 6 ECTS in 2012-2013, 12 ECTS in 2013-2014, 2014-2015 and 2015-2016 when it is the specific course to the L3 Maths-Computer Science and Computer Science-Maths curricula

and 9 ECTS in 2016-2017)

(last update: June 2016)

10. Anciennes plaquettes d'enseignement (Former brochures of computer science studies) français

Brochure of computer science studies 2012-2013 in .pdf format