Computer Science Studies

aT École normale supérieure

University year 2007/2008

 

 

 

Application for the computer science studies at ENS

Version française

 

Studies in computer science at ENS and the ENS Diploma

Persons in charge

Objectives and opportunities

Conditions for admission and procedure

Registration

Organization of the curriculum

Courses for university year 2007-2008

Computer science courses of the ENS Diploma (outside the computer science speciality)

This booklet is also available in PDF.


Studies in computer science at ENS and the ENS Diploma

Presentation of the ENS Diploma

Following the harmonisation of European higher education, the Ecole Normale Supérieure has created in 2005 its own degree entitled ENS Diploma. It constitutes the pedagogical and scientific framework into which the ENS offers to set the predoctoral studies, beyond the academic curriculum. Its purpose is to offer a diversity of curricula combining an education of excellence in the main discipline and a flexible and ambitious opening in other disciplines.

The Diploma is open to students from preparatory classes (preparing for entry to Grandes Ecoles) and to students from French or foreign universities willing to receive the same education as the civil servant students (“civil servant students”) and international division scholars). The students are subject to a specific selection procedure (cf. Conditions for admission).

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

- a high level academic curriculum sanctioned by a Masters degree in a discipline named the “main speciality of the Diploma”. As a general rule1, this curriculum comprises the third year of the Bachelor (L3) and the two years of the Masters (M1 and M2), and each one of the three years corresponds to the validation of 60 ECTS units (European Credit Transfer System);

- additional courses validated by at least 36 ECTS units for the three years. These can (i) be chosen in the main speciality (courses followed in the discipline of the Masters), (ii) constitute the “secondary speciality of the Diploma” (coordinated courses in another discipline) or (iii) take advantage of the diversity of courses proposed by the ENS to the students.

Computer science studies at École normale supérieure

Within the ENS Diploma, the studies in computer science differ according to whether this discipline is the main speciality of the student or not:

- Computer science students: students for which computer science is the main speciality are pedagogically and scientifically linked to the computer science department. The students registered in the computer science department follow the computer science speciality of the ENS Diploma, which is a specific high level curriculum comprising the third of year of the Bachelor (L3) and the two years of the Masters (M1 and M2).

- Students from another scientific department: the computer science department also offers courses to the students registered for other disciplines in other departments of the ENS. They can be arranged either as a coherent set of courses in computer science and constitute the secondary speciality of the student, or as a set of independent courses that the student validates for its Diploma degree with the consent of its tutor and the professors of these courses.

There are bridges between the different departments of the ENS. With the consent of the relevant direction of studies, students of the computer science speciality may be reoriented during their curriculum, either to other disciplines in the ENS Diploma, or to other academic curricula outside the Diploma.

Persons in charge

Director of studies:

Patrick Cousot

Assistant director of studies:

Laurent Mauborgne

Director of teaching activities:

Jean Ponce

Secretary:        

Sylvia Imbert

École normale supérieure

Département d’informatique

45, rue d’Ulm – 75230 Paris cedex 05

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

Fax: +33 (0)1 44 32 20 75

Email: diplome@di.ens.fr   

Homepage: http://diplome.di.ens.fr

Objectives and opportunities

Objectives of the computer science speciality of the ENS Diploma

The students registered in the computer science speciality of the Diploma are administratively linked to the computer science department of the ENS. This department offers for their main speciality an original academic curriculum with a small number of students (about twenty students per year, including the civil servant students and the international division scholars), which are trained as computer scientists with a solid background in pure and applied mathematics. Closer supervision of the students allows a faster pace and a deeper reflection than in other curricula. The courses are completed by mandatory research internships.

Objectives of the studies in computer science at ENS:

- integrating, in a top-level curriculum in computer science, civil servant students, international division scholars and students selected by the computer science department to follow their studies in the ENS Diploma (cf Conditions for admission);

- training for and by research, aiming at bringing the student to a high professional level, with top-level scientific courses. Research internships abroad, which are targeted and mandatory, open international opportunities for the student in its chosen domains;

- orienting each student according to its specific background and personal choices, thanks to a flexible structure. For this purpose, each student of the computer science speciality is personally monitored by a tutor all along its curriculum; he is also invited to follow introductory courses in other disciplines, which customize his curriculum.

Opportunities for graduating students of the computer science speciality of the ENS Diploma

Graduates of the ENS Diploma will have a research Masters. A graduate from the computer science speciality of the Diploma can then start a PhD in mathematics or computer science, which he will achieve in principle after two or three years of research work after his curriculum. He may also work immediately after obtaining his degree.

Possible opportunities for graduates, possibly after the PhD, are as follows:

- researcher in computer science in a public research institution (CNRS, CEA, INRIA, ONERA, CNES, etc.);

- professor/researcher in a French or foreign university;

- researcher in computer science in the industry (France Telecom, EADS, etc.);

- computer science engineer in the industry in France or abroad;

- teacher in preparatory classes or, more generally, in higher education (IUT, CNAM, etc.)

Conditions for admission and procedures

Civil servant students and international division scholars

After they have obtained 120 ECTS units (L2) by following the preparatory classes and passed the competitive exam for the ENS, civil servant students wishing to follow a curriculum in computer science start their studies in computer science at ENS by registering in the first academic year (L3).

The international division scholars have also access to the studies in computer science at ENS, either at the first year level (L3) or directly at the second year level (M1), depending on their previous studies in their former university.

The students of ENS

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

For the computer science speciality as in other disciplines within the ENS Diploma, the general rule is to select students at the third year of the Bachelor (L3). Access may however be granted at the Masters level (M1), in particular for students from foreign universities.

Application form for the computer science speciality of the ENS Diploma

The application form and conditions for application are available at the following URL:

http://www.ens.fr/entrer/diplome.php

Registration

The students of the computer science speciality of the Diploma 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 Diploma at ENS:

University degree:

1st year: registration at L3 at University Paris 7

2nd year: registration at M1 (M.P.R.I.) at ENS

3rd year: registration at M2 (M.P.R.I.) at ENS

ENS Diploma:

All years: registration at ENS

University degree: after they have been selected for the studies in computer science at ENS, the students register to the third year of the Bachelor (L3) at University Paris 7, which awards them the Bachelor diploma at the end of the first year of the curriculum. During the next two years, the students register to the Master parisien de recherche en informatique (M.P.R.I.) at ENS, which awards them the Masters diploma at the end of their curriculum. It is also possible to register to another Masters (such as the research Masters « 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 to the «Diploma de l’École normale supérieure» every year of the curriculum. He also signs a program of studies for the current year and leaves it to the direction of studies of ENS with the signatures of his tutor and of the director of studies of the computer science department. This document defines in particular the additional courses that the student wants to validate during the current year.

Organization of the curriculum

The studies in computer science within the ENS Diploma are organized over three years, corresponding to the academic years L3 (Licence), M1 and M2 (Master). The academic degrees are awarded provided 60 ECTS are validated each year. At the end of the three years, the student who has passed his Masters and validated additional courses for 36 ECTS units will be awarded the Diploma of École normale supérieure. Courses validated for a national university degree (Bachelor or Masters) may not be validated a second time as an additional course of the ENS Diploma.

The additional courses of the ENS Diploma are divided in three categories:

- a language course (3 ECTS). There is a structure at ENS, named ECLA (Espace des cultures et langues d’ailleurs), specialized in teaching language courses, which allows the student to validate this course in first, second or third year of the Diploma. A mathematical English course is also offered. This language course is not mandatory if the student has done an internship lasting at least 6 months in a foreign laboratory during his diploma.

- mandatory courses of the computer science speciality (cf. Organization of the curriculum), representing 12 ECTS units. These two courses must be chosen among the M1 and M2 courses of the Diploma which have not been already chosen for the M.P.R.I, or among M1 or M2 mathematics courses.

- freely chosen courses, including at least 12 ECTS units outside computer science. These can be chosen among the courses offered by the computer science department or by any other department of ENS, but also in other university curricula, with the agreement of their tutor, of the tutor and of the director of studies of the computer science department.

Students are strongly advised to validate additional courses for at least 12 ECTS every year.

First year

The licence (L3) is awarded by University Paris 7, it requires 60 ECTS, divided in 54 ECTS of courses at levels L3 (first and second semester) and M1 (second semester), and 6 ECTS of research internship. These courses are organized and taught at ENS. They are regularly renewed so as to closely follow the advancement of science. The diversity of the topics and teachers allows many different future opportunities for the students.

The students also validate additional courses for the ENS Diploma (at least 12 ECTS recommended every year). Additional courses in computer science at level M1 are offered during the second semester.

Research internships in laboratories (in universities or in the industry) are planned at the end of the first year for students, priority being given to locations in France outside Paris. A the end of the first year, the board of examiners, within the partnership with University Paris 7, decides on awarding the Bachelor diploma to the student, and on admission to the second year of the predoctoral studies in computer science.

Second year

The second year students can choose between:

1. A year consisting, during the first semester, of M2 courses for 30 ECTS, and during the second semester, of a research internship lasting at least 6 months in a foreign laboratory, for 30 ECTS. In parallel, mini-courses of research level are taught by specialists (most often foreign professors invited by ENS). The students also validate additional courses for the ENS Diploma (at least 12 ECTS recommended every year).

2. A full year of internship abroad, within exchange agreements between ENS and prestigious foreign universities.

The board of examiners meets again at the end of the second year and decides on awarding the first year of the Masters degree (M1) to the student, and on its admission to the third year of the predoctoral studies in computer science.

Third year

During this third year, the student completes his Masters by following M2 level courses during the first semester for 30 ECTS and, during the second semester, spends at least 5 months doing a research internship in France or abroad, for 30 ECTS. The students also validate additional courses for the ENS Diploma (at least 12 ECTS recommended every year).

At the end of the year, the student usually chooses a PhD supervisor and subject. At this level, the students progressively integrate a research laboratory. In order to facilitate the integration in the research field, it is often advisable to spend the whole year or part of the year in a laboratory in France outside Paris or in a European country.

The board of examiners decides on awarding the Masters degree to the student, which is then proposed to the direction of studies of ENS to obtain the Diploma. If the student has also validated additional courses for 36 ECTS units over the course of his curriculum, the ENS awards him the ENS Diploma with the main speciality corresponding to the one of his Masters and, if relevant, with a secondary speciality in another discipline (cf. Presentation of the Diploma).

Courses for university year 2007-2008

In the list of courses below, the names of the professors are in bold face; the contact details of the teachers are given separately in the directory of the ENS Diploma; the ECTS (European Credit Transfer System) units are indicated for each course between parentheses.

First year: licence (L3)

First semester

The student must validate at least 6 courses during the first semester for the licence (L3). The 4 following courses are mandatory.

Algorithms and programming

J. Stern, D. Vergnaud, P.-A. Fouque

(6 ECTS)

This course deals with the fundamental concepts of algorithmics. Each 3 hours class focuses on a new problematic. Each lecture is divided into two parts, the first devoted to basic knowledge, describing the required tools, and the second to one more advanced result. These tools are put in practice during tutorials. (détails)

Programming languages and compilation

P. Cousot, L. Mauborgne

(6 ECTS)

This course covers the main concepts of programming languages and their compilation, i.e. the translation of a high-level language into machine language (lexical and syntaxic analysis, typing, semantic analysis, production and optimization of intermediate and machine code, static analysis, proof of correctness of a compiler). (détails)

Formal languages, theory of computation, complexity and algorithm analysis

O. Carton, P.-A. Fouque

(6 ECTS)

Finite automata, rational languages, context-free grammars and languages, pushdown automata, Turing machines, theory of computation, time and space complexity. (détails)

Digital systems: from algorithms to circuits 

J. Vuillemin, F. Praden

(6 ECTS)

Various scientific domains are relevant to automatic information processing, from digital physics to computer science, via electronics, algebra and telecommunications. By describing several relevant examples, this course proposes a coherent approach to this diversity. (détails)

Additionally, the student must choose and validate two courses in mathematics among the 4 following courses.

Logic

P. Dehornoy, J. Levy

(6 ECTS)

Besides fundamental knowledge such as ordinal arithmetic and concepts of proof and completeness, the course presents limitation results: Gödel’s incompleteness theorems, indecidability theorems in set theory. (détails)

Algebra 1

F. Loeser

(6 ECTS)

Group actions; groups and geometry; noetherian rings; elementary field theory. (détails)

Integration and probability

J. Bertoin

(6 ECTS)

Integration: measurable spaces, integration with respect to a measure, construction of measures, the spaces Lp, product measures, signed measures, change of variables. Probability: foundations of probability theory, independence, convergence of random variables, conditioning. (détails)

Second semester

The student must validate 3 courses for the licence (L3). The following course is mandatory:

Operating systems and computer networks

J. Beigbeder

(6 ECTS)

System and networks programming, based on Unix: users, files and processes management; communication tools between processes, machines or via TCP/IP. Notions of security. (détails)

The student must choose and validate two M1 computer science courses, among the following courses. Each one counts 6 ECTS for the licence (L3). One of these courses may be replaced by a M1 course in mathematics.

The students are strongly encouraged to take an additional course in this list, as an additional course for the ENS Diploma.

The courses offered here are classified in Courses in common between mathematics and computer science and Computer science courses.

Courses in common between mathematics and computer science:

Algorithmic number theory

Marc Hindry

(6 ECTS)

Abelian groups and finite fields: Gauss sums, quadratic reciprocity law. Number of solutions of equations over a finite field. Applications: cryptography (RSA, primality test, factorisation). Algebraic Number Theory: cyclotomy, algebraic integer rings. Analytic Number Theory: Dirichlet series, prime number theorem and arithmetic progression theorem. Diophantine equations: elliptic curves, Siegel and Mordell-Weil theorems, effectivity questions. (détails)

Markov chains, Poisson processes and Gibbs fields

F. Baccelli, P. Brémaud

(6 ECTS)

Discrete random variables, generating functions. Random vectors, densities, characteristic functions. Borel-Cantelli lemma, strong law of large numbers. Discrete time Markov chains. Poisson point processes. Continuous time Markov chains. Gibbs fields. (détails)

Mathematical bases of signal theory

P. Brémaud

(6 ECTS)

This course gives the Fourier theory of functions and the spectral theory of wide-sense stationary stochastic processes in a form convenient for applications in signal processing. (détails)

Scientific computing

J. Ponce, R. Brette

(6 ECTS)

Classical numerical methods of scientific computing: introduction to SCILAB; polynomial interpolation; solving linear and non-linear equations; least-squares methods; solving polynomial equations; integrating ordinary differential equations; sample applications. Intended for students from scientific disciplines outside computer science familiar with elementary linear algebra, calculus and programming. (détails)

Neurons and populations of neurons: modelling and simulation

O. Faugeras, R. Brette

(6 ECTS)

Neurons communicate with each other by spikes, short discharges of electrical activity. This course addresses the following questions. How are these spikes generated? How can neurons transmit information? How does the connectivity of a population of neurons influence the type of activity it produces, and conversely, how does spike generation influence the connectivity of a population? (détails)

Computer science courses:

Databases

S. Abiteboul

(6 ECTS)

This course is an introduction to databases, insisting on the relational model and with openings on the Web. The subjects that are covered include: query languages, access structures, query optimization, transaction management, distributed databases.  Labs will focus on databases for Web applications. (détails)

Initiation to cryptology

J. Stern, P-A Fouque, D. Naccache

(6 ECTS)

This course aims 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. (détails)

Discrete and computational geometry

M. Pocchiola

(6 ECTS)

This course introduces to the objects, techniques and applications of algorithmic geometry and deals mainly with the study of line arrangements, geometric range searching and polytopes. (détails)

Computer science logic

J. Goubault-Larrecq, F. Jacquemard

(6 ECTS)

This course explores the basics of lambda-calculus, a fundamental tool both in computer science and logic – these two domains having strong links, via the Curry-Howard isomorphism. (détails)

Software engineering and distributed computing

J. Vermorel

(6 ECTS)

This course presents the fundamental concepts underlying software engineering, with a particular interest for complex and/or distributed systems. The course is associated to a software development project realized by the students organized in teams. Each session includes a regular talk followed by a collective evaluation of the student project status. (détails)

Digital Systems: Algorithms, Microcode and Hardware

D. Naccache

(6 ECTS)

This module provides a cross section of the various scientific disciplines around which the design of embedded system revolves. We will successively address digital circuit design, microprogramming and the optimization of embedded algorithms. (détails)

Computer science internship

The student must do an internship lasting two to three months in a public or private research laboratory, either in France or in a European country, is offered to students in computer science between June and September 2007 (professor in charge : M. Pocchiola). This internship counts 6 ECTS for the licence (L3).

Second year: Masters (M1)

First semester

The student must validate M2 courses for 30 ECTS for his Masters M1, to be chosen in the following list or in courses of the MPRI. It also possible, with the agreement of the tutor and of the director of studies, to choose courses in other Masters.

Cryptographic protocols: formal and computational proofs

B. Blanchet, S. Kremer

(3 ECTS)

Cryptographic protocols are distributed programs which aim at securing communications and transactions by the means of cryptographic primitives. The design of cryptographic protocols is difficult: numerous errors have been discovered in protocols after their publication. It is therefore particularly important to be able to obtain proofs that protocols are secure. Two models of the protocols have been considered: the formal model and the computational model. We shall present these two models, the associated proof techniques, and results that relate them. This course will be an opportunity to adapt and use formal tools, such as process calculi, semantics, and logic to the particular case of the study of cryptographic protocols. (détails)

Communication networks [This course will be offered from September 2008 only]

F. Baccelli, A. Chaintreau, M. Lelarge                                                             

(6 ECTS)

This course presents the main protocols and mechanisms for the control of wired and wireless communication networks (multiple access protocols, congestion control, power control, routing, scheduling), along with a set of mathematical tools to evaluate their performance (theory of queues, hybrid dynamical systems, point processes).. (détails)

Information theory [This course will be offered from September 2008 only]

M. Lelarge

(6 ECTS)

This course presents the main principles of information theory and its application to compression and data transmission. (détails)

Foundations of abstract interpretation

P. Cousot, L. Mauborgne

(6 ECTS)

The course is an introduction to abstract interpretation, which is a theory of approximation of the semantics of discrete dynamical systems, with applications such as typing and model-checking. (détails)

Abstract interpretation: application to verification and static analysis

P. Cousot, R. Cousot, L. Mauborgne, M. Martel

(6 ECTS)

This course deals with static analysis, which is the process of verifying statically (without execution) dynamic program properties (at runtime) by abstract interpretation, i.e., by approximation of their semantics (describing the possible behaviours at runtime). (détails)

Lambda-calculi and domains

P.-L. Curien

(6 ECTS)

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 loqic: proofs and programs, types and formulas or specifications. (détails)

Robot motion planning: combinatorial issues via control theory

J.-P. Laumond, F. Lamiraux

(6 ECTS)

Motion planning deals with algorithms to compute collision-free paths for a mechanical system (mobile robots, manipulators, virtual beings...) moving amidst obstacles. The approaches consist in exploring the so-called configuration space of the considered system. (détails)

Cryptology

G. Hanrot, D. Pointcheval

(6 ECTS)

The purpose of this course is to present to the students the concepts and tools of modern cryptology, in as they concern conventional cryptology as well as public key methods. We stress the role that is played in the design of cryptographic protocols, by methods coming from the algorithmics and complexity theory. We also relate cryptographic procedures to the functions that they assure in terms of security (integrity, authentication, privacy). (détails)

Fundamental objects and techniques in computational geometry

M. Pocchiola, F. Chazal

(3 ECTS)

The main objective of the course is to give the students the fundamental knowledge to tackle the literature in computational geometry. (détails)

Network dynamics and algorithms

F. Baccelli, J. Mairesse

(6 ECTS)

This course has two aims: to give the scientific foundations of the theory of network dynamics; to illustrate this theory through concrete examples in the domain of communications. Product-form Markovian networks, max-plus networks, network calculus (deterministic networks for the Internet), algorithmics of ad hoc and peer-to-peer networks, random graphs and large graphs met in practice. (détails)

Synchronous systems

M. Pouzet, J. Vuillemin

(3 ECTS)

The synchronous methodology has been used successfully for the design and implementation of safe-critical embedded systems. This course gives an introduction to synchronous systems from theoretical aspect through practical applications. It addresses both hardware and software aspects which are intrinsically related in the field. Foundations of synchronous systems and languages – Esterel and applications – Synchronous circuits. (détails)

Geometry and computer vision

J. Ponce

 (3 ECTS)

This course is concerned with the geometric aspects of image formation and interpretation in computer vision. Elementary (Euclidian, projective, or differential) geometry  is used as a framework for studying the characteristics of different camera types and the relations between points, planes, curved surfaces, and their projections. Applications to calibration, stereovision, and image-based object and scene modelling are presented. (détails)

Mathematical methods for neuroscience

O. Faugeras

(6 ECTS)

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. (détails)

Vision: 3D reconstruction

R. Keriven

(3 ECTS)

Vision: restoration and segmentation

R. Deriche, N. Paragios

(3 ECTS)

Symbolic computation

A. Bostan, B. Salvy

(6 ECTS)

Second semester

The student must do an internship abroad lasting at least 6 months to validate 30 ECTS for his M1 diploma.

Third year: Masters (M2)

First semester

The student must validate M2 courses from the MPRI for 30 ECTS. It is also possible to validate courses from another academic programme, with the agreement of the tutor and of the director of studies.

The student must also validate additional courses for the ENS Diploma, unless he/she already has validated the 36 ECTS required.

Second semester: internship

The student must do an internship in France or abroad, lasting at least 5 months. The internship counts 30 ECTS for the M2 diploma.

Computer science courses of the ENS Diploma (outside the computer science speciality)

Multidisciplinar speciality: mathematics and computer science

The multidisciplinar speciality Mathematics and Computer Science, jointly organized by the departments of mathematics and computer science of ENS, offers a double fundamental curriculum in both mathematics and computer science. It also allows the students to delay their choice between the mathematics and computer science curricula, after they have received advanced courses in both disciplines. The fundamental courses of this multidisciplinary speciality are planned over three semesters, and are described below.

The students register in licence (L3) of mathematics in first year. They can also register at the same time in the first year of Mater (M1), with the opportunity of changing disciplines between mathematics and computer science after 6 months, in particular for those who plan to prepare the aggregation in second year, e.g. the aggregation of mathematics with the computer science option. However the students should be aware that the amount of work required for this double curriculum is very important. During the second semester of the second year, the students either prepare the aggregation (e.g. with the computer science option) or do a long research internship abroad. The students may switch to other specialities of the mathematics and of the computer science curricula after each semester.

The students of this multidisciplinary speciality obtain, at the end of the second year, the first year of the Master in mathematics if they also validated two M1 courses in mathematics or the first year of the Master in computer science (e.g. the MPRI). The planning of the fundamental first year courses in both mathematics and computer science are fully compatible.

The students must validate the following courses, and do a research internship, either as a Master thesis in the mathematics curriculum of the FIMFA or a short research internship in a computer science lab as the main computer science curriculum at the end of the first year.

First semester :

- Mathematics courses: Logic, Integration and probabilities and Algebra 1 (this course may be replaced by Topology and differential calculus with the agreement of the tutor).

- Computer science courses : Formal languages, theory of computation, complexity and algorithm analysis, and either Algorithms and programming or Programming languages and compilation.

Second semester :

- Mathematics courses: Complex analysis and spectral theory and Algorithmic number theory (one of these courses may be replaced by Algebra 1, Integration and probabilities  or Topology and differential calculus).

- Computer science courses: two courses among the following ones: Mathematical bases of signal theory, Markov chains, Poisson processes and Gibbs fields, Discrete and computational geometry, Neurons and populations of neurons, Scientific computing, Computer science logic.

To obtain the licence of mathematics, the students must validate 6 courses, including at least 2 courses in mathematics (except Logic) and 2 courses in computer science.

                                                                            

Third semester :

- Mathematics courses: Applied analysis or Statistics.

- Computer science courses: 2 courses among the following ones: Information theory, Communication networks, Symbolic computation, Advanced complexity, and one course among the previous or the following ones: Lambda-calculi and domains, Mathematical methods for neuroscience, Cryptology, Geometry and computer vision.

Computer science as a «secondary speciality» of the ENS Diploma

A student registered in another speciality of the Diploma than the computer science speciality (and therefore linked to another department of ENS than the computer science department) can choose to validate a coherent set of courses in computer science, which can constitute the secondary speciality of his Diploma. This coherent set of courses must represent a total of 24 ECTS units.

Computer science in the ENS Diploma

The following two courses may be taken and validated as individual courses by a student from another department of ENS outside his main speciality.

Scientific computing (second semester)

J. Ponce, R. Brette

(6 ECTS)

Classical numerical methods of scientific computing: introduction to SCILAB; polynomial interpolation; solving linear and non-linear equations; least-squares methods; solving polynomial equations; integrating ordinary differential equations; sample applications. Intended for students from scientific disciplines outside computer science familiar with elementary linear algebra, calculus and programming (détails)

Neurons and populations of neurons: modelling and simulation (second semester)

O. Faugeras, R. Brette

(6 ECTS)

Neurons communicate with each other by spikes, short discharges of electrical activity. This course addresses the following questions. How are these spikes generated? How can neurons transmit information? How does the connectivity of a population of neurons influence the type of activity it produces, and conversely, how does spike generation influence the connectivity of a population? (détails)

These courses are aimed at beginners in computer science without specific requisites.

The students who already have notions in computer science may also choose instead a L3 course of the first semester.

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

C Programming for the Non-computer Scientist (second semester)

D. Vergnaud

This introductory course is open to students from all Science and Humanity majors. No prior knowledge of computer science is assumed. 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. (détails)