LogoEns2014

diplôme de l'École normale supérieure

spécialité informatique


Année scolaire 2015/2016

*************************
Rapports de stage de L3 et de M1 à remettre avant dimanche 28 août 2016
Soutenances des stages de L3 et de M1 entre le lundi 5 et le vendredi 9 septembre 2016.
Commission des études le vendredi 16 septembre 2016
*************************

Année scolaire 2016/2017

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

Plaquette d'enseignement 2016-2017 en .pdf

- Première année : licence(L3)

-- Filière maths-info de 1ère année 

-- stage de L3 

- Deuxième année : master (M1)

- Troisième année : master (M2)

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

Plan de l'ENS pour trouver les salles des cours d'informatique

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

Cours de l'année universitaire 2016-2017

Emploi du temps  2016-2017 du 1er semestre de la 1ère année (L3) provisoire

Emploi du temps 2016-2017 du 2e semestre de la 1ère année (L3) provisoire

Emploi du temps 2016-2017 du 1er semestre de la 2e année (M1) provisoire

Cours 2016-2017 M2 MVA a ENS Paris et M2 MPRI

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

1. L'Informatique et le diplôme de l'École normale supérieure

2. Conditions d'admission

3. Renseignements pratiques

4. Organisation du cursus : survol

5. Le cursus en détail : 

                   L3 - M1 - M2 - Diplôme de l'ENS

6. Les enseignements d'informatique hors filière


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

Anciennes plaquettes d'enseignement

 

1. L'Informatique et le diplôme de l'École normale supérieure English

1.1. Le diplôme de l'École normale supérieure

L'École normale supérieure offre un diplôme d'établissement intitulé diplôme de l'École normale supérieure, qui conjugue une formation d'excellence dans une discipline principale avec une ouverture dans d'autres disciplines.

Ce diplôme est ouvert aux élèves (fonctionnaires stagiaires ou boursiers de la section internationale) et à des étudiants qui font l'objet d'une procédure de sélection spécifique (cf. Conditions d'admission).

Le diplôme de l'ENS est délivré au terme d'une scolarité d'une durée de trois ans (en règle générale) pendant laquelle chaque élève/étudiant fait valider :

1.2. L'informatique à l'École normale supérieure

Dans le cadre du diplôme de l'ENS, les études d'informatique prennent deux formes distinctes :

Des passerelles existent entre les différents départements de l'ENS. Sous réserve de l'accord des directions des études concernées, une réorientation peut être envisagée en cours de scolarité.


1.3. Objectifs

Les élèves/étudiants inscrits dans la filière informatique du diplôme sont rattachés au Département d'informatique (DI) de l'ENS, qui leur propose, pour leur spécialité principale, un parcours aux effectifs réduits (une vingtaine par promotion) une formation d'informaticiens possédant une bonne connaissance générale des mathématiques pures et appliquées dans des secteurs variés. Un encadrement renforcé permet un rythme plus rapide. Les enseignements sont complétés par des stages de recherche.

Objectifs des études en informatique à l'ENS :

1.3. Débouchés

   Tout élève/étudiant titulaire du diplôme de l'ENS en informatique aura acquis un master recherche et peut donc commencer une thèse de doctorat en informatique ou en mathématiques, qu'il achèvera en principe au terme de d'environ trois années. Il peut également commencer immédiatement une carrière non universitaire.

Une fois la thèse de doctorat éventuelle achevée, les débouchés possibles après 1, 2 ou 3 ans sont les suivants :

carrieres2014



2. Conditions d'admission English

Veuillez svp lire attentivement la page Admission de l'ENS qui décrit toutes les procédures de recrutement de l'ENS.

2.1. Les élèves et les boursiers de la section internationale

Ayant acquis 120 unités ECTS (niveau L2) en classes préparatoires aux grandes écoles (CPGE) et réussi le concours d'entrée à l'ENS, les élèves normaliens commencent leurs études en informatique à l'ENS au niveau L3.

Les boursiers de la section internationale commencent leurs études en informatique à l'ENS, soit au niveau L3, soit directement au niveau M1, selon les profils.


2.2. Les étudiants du diplôme de l'ENS (recrutement sur dossier)

  Tout étudiant issu, soit d'une classe préparatoire aux grandes écoles, soit d'une université française ou d'un établissement universitaire étranger, justifiant directement ou par équivalence de 120 unités ECTS (niveau L2) ou 180 unités ECTS (niveau L3) est autorisé à se porter candidat au diplôme de l'ENS pour y effectuer des études en informatique.
En informatique, la règle générale est de recruter les étudiants au niveau de la troisième année de licence (L3). L'intégration peut toutefois s'effectuer au niveau du master (M1).

Les dates exactes (entre la mi-avril et la mi-juillet) et les modalités de candidature sont précisées chaque année à l'URL suivante :

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

N.B. Bourses et Hébergement :
Les possibilités d'hébergement à l'ENS pour les étudiants admis à préparer le Diplôme de l'ENS sont extrêmement réduites.
Les candidats doivent s'en préoccuper sans attendre les résultats des jurys.
Les demandes de bourse et d'hébergement du Crous doivent être effectuées avant le mois de mai chaque année.

3. Renseignements pratiques English

3.1. Responsables de la formation

Directeur des études :

Marc Pouzet 

Directeur des études-adjoint et représentant de l'ENS pour le Master MPRI :

         Damien Vergnaud 

Directeur des enseignements :

David Naccache


    Secrétariat :

Isabelle Delais

École normale supérieure

Département d'informatique

45, rue d'Ulm - 75230 Paris cedex 05

Tél : +33 (0) 1 44 32 20 45

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

Mél : diplome@(trap)di.ens.fr ou isabelle.delais@(trap)ens.fr

Bureau : B10 -Rez de chaussée- Aile Rataud

Plan d'acces : http://www.di.ens.fr/AccesDI.html.fr


3.2. Inscriptions


A la mi-septembre, les étudiants admis à préparer le diplôme de l'ENS en informatique et les élèves qui souhaitent faire des études en informatique se présentent au secrétariat d'enseignement du département d'informatique pour procéder aux inscriptions administratives et pédagogiques et pour qu'un tuteur leur soit affecté.

Les  élèves/étudiants de la filière informatique du diplôme doivent s'acquitter, pendant chacune des trois années de leur scolarité, d'une double inscription (i) au diplôme universitaire correspondant au cursus de l'année en cours et (ii) au diplôme d'établissement qu'est le diplôme de l'ENS :



Cursus universitaire Diplôme de l'ENS
1re année : inscription en L3 à l'université Paris 7 inscription à l'ENS
2e année : inscription en M1 (M.P.R.I.) à l'ENS inscription à l'ENS
3e année : inscription en M 2 (M.P.R.I.) à l'ENS inscription à l'ENS

Cursus universitaire : après leur admission à suivre les études en informatique à l'ENS, les élèves/étudiants s'inscrivent - via le secrétariat du département d'informatique de l'ENS - en licence (L3) à l'université Paris 7 qui leur délivre le diplôme de licence à l'issue de la première année de scolarité. (Documents à prévoir pour inscription à Paris 7).

Au cours des deux années suivantes, les élèves/étudiants s'inscrivent au Master parisien de recherche en informatique (M.P.R.I.) à l'ENS qui leur délivre le diplôme de master au terme de leur scolarité.

En 3e année, il est possible de s'inscrire dans un autre master (comme le master recherche spécialité "Mathématiques appliquées - mathématiques/vision/apprentissage" de l'École normale supérieure de Cachan).

Diplôme de l'ENS : l'élève/étudiant s'inscrit au "diplôme de l'École normale supérieure" au bureau des inscriptions de l'ENS. Le secrétariat du département d'informatique fournit la liste des documents nécessaires.

3.3. Tutorat et programme d'études

Un tuteur est affecté à chaque élève/étudiant pour l'aider dans l'organisation de ses études, le conseiller pour ses stages, ses recherches, son orientation.
Il est recommandé de rencontrer régulièrement son tuteur et pas seulement au moment des programmes d'études et des bilans.
L'élève/étudiant peut demander à changer de tuteur.

Chaque année, l'élève/étudiant s'engage sur un programme d'études (ou contrat d'études) annuel qui est déposé auprès de la direction des études de l'ENS après signature du tuteur et du directeur des études du Département d'informatique.

3.4. Examens

La présence en cours, TD, TP projet  est fortement recommandée.
Tout élève/étudiant dont la note finale est inférieure à la moyenne (10/20) peut demander à passer un examen de rattrapage, à condition d'avoir passé tous les examens.
La note finale suite à l'examen de rattrapage sera de 10/20 maximum.
Exception : en cas d'absence justifiée par un certificat médical, l'élève/étudiant peut passer un examen de rattrapage et sa note finale peut être supérieure à 10/20.

4. Organisation du cursus : survol English

Le cursus est  organisé sur trois années, correspondant à la troisième année de licence (L3) et aux deux années d'un master (M1 et M2). Au terme de ses études, l'élève/étudiant inscrit au diplôme de l'ENS qui a obtenu un master-recherche et validé, par ailleurs, des enseignements supplémentaires à hauteur de 72 unités ECTS recevra le diplôme de l'École Normale Supérieure.


    La  licence (L3) d'informatique
, dans le cadre du partenariat avec l'université Paris 7, nécessite l'obtention de 60 ECTS, répartis en 48 ECTS de cours de niveau L3 (premier et deuxième semestre) et M1 (deuxième semestre) et 12 ECTS pour le stage de recherche en laboratoire (universitaire ou industriel), prioritairement en province et d'une durée d'environ 2 mois entre juin et août.
Les élèves/étudiants valident également des enseignements supplémentaires pour le diplôme de l'ENS (au moins 24 ECTS recommandés par année).

Une filière maths-info  est  proposée en première année. Les élèves qui la choisiront seront inscrits en L3 de Mathématiques et en  L3 d'Informatique  et valideront les 2 licences.
 
Formation exigeante, elle permet aux élèves motivés de poursuivre pendant un an une double formation en mathématiques et en informatique.
 Elle donne également aux élèves encore indécis la possibilité de repousser d'un an le choix entre les deux disciplines.

La première année du master (M1) d'informatique nécessite l'obtention de 60 ECTS, répartis en 30 ECTS de cours de niveau M1 et 30 ECTS de stage de recherche en laboratoire à l'étranger.
Les élèves/étudiants valident également des enseignements supplémentaires pour le diplôme de l'ENS (au moins 24 ECTS recommandés par année).

La deuxième année du master (M2) d'informatique nécessite l'obtention de 60 ECTS, répartis en 30 ECTS de cours de niveau M2 et 30 ECTS de stage de recherche en laboratoire en France ou à l'étranger.
Les élèves/étudiants valident également des enseignements supplémentaires pour le diplôme de l'ENS (au moins 24 ECTS recommandés par année).
L'année de M2  se termine le plus fréquemment par le choix d'un directeur et d'un sujet de thèse de doctorat. À ce niveau, les élèves/étudiants s'intègrent progressivement dans un laboratoire de recherche.

Outre les stages obligatoires de L3, M1 et M2, il est possible à partir de la 2e année de scolarité de faire une année de stage à l'étranger.
N.B. Il est nécessaire de préparer les stages plusieurs mois à l'avance pour obtenir l'accord des directeurs des études, effectuer les démarches d'obtention de visa, obtenir la signature des conventions de stage, des ordres de mission et parfois obtenir une année de césure (étudiants) ou un congé sans traitement (élèves).

 5.  Le cursus en détail English


5.1. Première année : licence (L3)  English

5.1.1 Cours d'informatique

 Les 5 cours suivants sont obligatoires :

- Algorithmique et programmation (9 ECTS) -1er semestre

- Langages de programmation et compilation (9 ECTS) -1er semestre

- Langages formels, calculabilité et complexité (9 ECTS) -1er semestre

- Système digital: de l'algorithme au circuit (9 ECTS)-1er semestre

- Systèmes et réseaux (9 ECTS) - 2e semestre


L'élève/étudiant doit suivre et valider au moins 2 d'informatique parmi les cours suivants.
L'un de ces cours peut être remplacé par un cours de mathématiques ou maths-info.

- Bases de données (9 ECTS) - 2e semestre (Ce cours a lieu à l'ENS de Cachan ) ?

- Informatique scientifique par la pratique (9 ECTS) - 2e semestre

- Initiation à la cryptologie (9 ECTS) -2e semestre

- Logique et Informatique (6 ECTS) - 2e semestre (Ce cours a lieu à l'ENS de Cachan)

- Sémantique et application à la vérification de programmes (9 ECTS) - 2e semestre

- Théorie de l'Information et codage (12 ECTS ) - 2e semestre. Cours spécifique à la filière maths-info

Sous réserve de l'accord du responsable de cours et du directeur des études, il est possible de faire un projet supplémentaire (3 ECTS).

5.1.2 Cours de mathématiques

L'élève/étudiant doit suivre et valider au moins 2 cours de mathématiques ou maths-info au cours des 2 premières années du cursus d'informatique.
En première année, l'élève/étudiant peut suivre et valider des cours de la liste ci-dessous ou d'autres cours de maths ailleurs avec l'accord de son tuteur et du directeur des études.

- Algèbre1 (Cours DMA 12 ECTS) -1er semestre

- Intégration et probabilités de base (Cours DMA 12 ECTS) -1er semestre

- Structures et algorithmes aléatoires (Cours INFO 9 ECTS) -1er semestre

- Topologie et calcul différentiel (Cours DMA 12 ECTS) -1er semestre

- Analyse complexe (Cours DMA 12 ECTS) - 2e semestre

- Traitement du signal (Cours  INFO 9 ECTS) - 2e semestre. 

5.1.3 Stage English

L'élève/étudiant doit effectuer un stage d'initiation à la recherche en informatique de 2 mois environ, entre début juin et fin août, dans un laboratoire
(universitaire ou industriel, prioritairement en province, pouy valider 12 ECTS pour la licence (L3).
Un rapport de stage est remis fin août et une soutenance est effectuée debut septembre.

Propositions de stages de L3 et de sujets de mémoire maths-info en 2016 : http://www.di.ens.fr/~bouillar/Stages2016/

Consignes pour les stages et les Exposés/mémoires du cursus maths-info : http://www.di.ens.fr/~bouillar/Stages/

On rappelle que les élèves/étudiants valident également des enseignements supplémentaires pour le diplôme de l'ENS (au moins 24 ECTS recommandés par année).

A la fin de la première année, la commission des études, en partenariat avec l'université Paris 7, statue sur l'obtention par l'élève/étudiant du diplôme de licence
et sur son admission en seconde année du diplôme de l'ENS.

5.2. Première année : filière maths-info English

La filière maths-info est organisée conjointement par le DMA (Département de Mathématiques et Applications) et le DI (Département d'Informatique) de l'ENS. L'obtention de la première année nécessite l'obtention de la L3 d'informatique et de la L3 de mathématiques.

Les élèves entrés par le concours informatique s'inscrivent au DI (Département d'Informatique) et les élèves entrés par le concours MPI s'inscrivent au DMA (Département de Mathématiques et Applications).

Les élèves ont un tuteur dans leur département d'inscription.

5.2.1 Obtention de la L3 d'Informatique

Il faut, d'une part, valider des cours équivalents à 36 ECTS parmi :

- Systèmes et réseaux (9 ECTS) - 2e semestre - Obligatoire

- Algorithmique et programmation (9 ECTS) -1er semestre

- Langages de programmation et compilation (9 ECTS) -1er semestre

- Langages formels, calculabilité et complexité (9 ECTS) -1er semestre

- Structures et algorithmes aleatoires (9 ECTS) -1er semestre

- Système digital: de l'algorithme au circuit (9 ECTS)-1er semestre


- Bases de données (9 ECTS) - 2e semestre (Ce cours a lieu à l'ENS de Cachan) ?

- Informatique scientifique par la pratique (9 ECTS) - 2e semestre

- Initiation à la cryptologie (9 ECTS) -2e semestre

- Logique et Informatique (6 ECTS) - 2e semestre (Ce cours a lieu à l'ENS de Cachan)

- Sémantique et application à la vérification de programmes (9 ECTS) - 2e semestre

- Traitement du Signal (9 ECTS) - 2e semestre

Sous réserve de l'accord du responsable de cours et du directeur des études, il est possible de faire un projet supplémentaire (3 ECTS).


Il faut, d'autre part, valider un Exposé/mémoire du cursus maths-informatique (12 ECTS) et un Stage (12 ECTS):

Il s'agit
  1. d'un travail bibliographique encadré par un chercheur et se terminant par la rédaction d'un mémoire et une soutenance, puis d'
  2. un stage de recherche en informatique d'au moins 6 semaines,entre mi-juin et fin août.
    Il a lieu en laboratoire (universitaire ou industriel) prioritairement en province.
    Le stage comprend aussi la rédaction d'un rapport et une soutenance.

Les sujets de mémoire et de stage sont liés l'un à l'autre.

5.2.1 Obtention de la L3 de mathématiques

Il faut, valider les 5 cours de L3 suivants, équivalent à 60 ECTS, parmi :

- Théorie de l'Information et codage (Cours  INFO 12 ECTS spécifique à la filière maths-info) - 2e semestre. Obligatoire.

- Algèbre1   - 1er semestre

- Intégration et probabilités  -1er semestre

- Topologie et calcul différentiel  -1er semestre

- Analyse complexe  - 2e semestre

Un cours de L3 (sauf Théorie de l'Information et codage) peut être remplacé par un cours de M1 fondamental.

5.2.3 Débouchés de la filière maths-info

A l'issue de la L3, l'élève choisit entre le Master M1 d'Informatique et le Master M1 de Mathématiques, avec l'accord du département concerné.

En cas de poursuite en Master M1 d'informatique :

L'élève devra rattraper les cours suivants s'ils n'ont pas été validés en 1re année : Algorithmique et Programmation; Langages de programmation et compilation; Langages formels, calculabilité et complexité ; Système Digital, de l'algorithme au circuit.
Ces cours pourront être utilisés pour la validation du M1.

En cas de poursuite en Master M1 de mathématiques :

L'élève devra rattraper les cours de L3 éventuellement non faits en 1re année.
L'un de ces cours pourra être utilisé pour la validation du M1.

5.3. Deuxième année : master (M1) English

5.3.1 Premier semestre : cours

L'élève/étudiant en M1 d'informatique doit valider au moins 30 ECTS de cours au 1er semestre.
Ces cours sont en informatique et en mathématiques.
Il est conseillé en M1 de découvrir plusieurs domaines de recherche en informatique.

Choix des cours dans la liste suivante ou dans les cours du MPRI(Master Parisien de Recherche en Informatique)

- Apprentissage Statistique (Cours  INFO : 9 ECTS)

- Lambda-calculs et Categories (Cours INFO & MPRI 1-20 : 9 ECTS)

- Complexité avancée (Cours INFO & MPRI 1-17 : 6 ECTS) Ce cours a lieu à ENS Cachan.

- Introduction à la vision artificielle (Cours INFO : 9 ECTS).

- Modèles et algorithmes des réseaux (Cours  INFO : 9 ECTS).

- Optimisation combinatoire et convexe (Cours INFO : 9 ECTS).

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

- Programmation parallèle et réactive (Cours INFO : 9 ECTS).

Il est également possible, avec l'accord du tuteur et du directeur des études, de choisir des cours dans d'autres masters comme par exemple le master MVA (Mathématiques, Vision, Apprentissage) de l'ENS de Cachan.

En mathématiques, l'élève/étudiant peut valider des cours de la liste ci-dessous ou d'autres cours de maths ailleurs avec l'accord du tuteur et du directeur des études.
On rappelle que l'élève/étudiant doit suivre et valider au moins 2 cours de mathématqiues ou maths-info au cours des 2 premieres années du cursus d'informatique)

- Algèbre 1 (Cours DMA : 12 ECTS).

- Intégration et Probabilités  (Cours DMA : 12ECTS).

- Logique (Cours DMA : 12 ECTS).

- Statistique (Cours DMA : 12 ECTS).

- Structures et Algorithmes aléatoires  (Cours INFO : 9 ECTS).

- Topologie et calcul différentiel  (Cours DMA : 12 ECTS).

5.3.2 Deuxième semestre : stage

L'élève/étudiant en M1 d'informatique à l'ENS doit effectuer un stage de recherche de 5 mois environ dans un laboratoire à l'étranger pour valider 30 ECTS dans le cadre de son diplôme de M1.

Le stage peut être effectué en France pour les étudiants étrangers non francophones.

L'élève/étudiant est aidé dans sa recherche de stage par son tuteur, le responsable des stages de M1 et le directeur des études d'informatique.
Une réunion de préparation des stages longs de M1 a lieu courant octobre pour que tous les stages soient trouvés fin décembre.
Le sujet, le descriptif et le lieu de chaque stage doit être approuvé par le directeur des études d'informatique.
Pour valider ce stage, l’élève/étudiant doit remettre un rapport de stage vers la fin août et effectuer une soutenance  début septembre.

Consignes pour les rapports de stage de M1 : http://www.di.ens.fr/~pouzet/consignes-rapport-m1.html

Si le stage long à l'étranger n'est pas possible (raisons de santé, etc.), l' élève/étudiant devra suivre un cours de langue vivante étrangère pour respecter l'article 6 de l'arrêté du 25 avril 2002 relatif au diplôme national de master  qui stipule que "Le diplôme de master ne peut être délivré qu'après validation de l'aptitude à maîtriser au moins une langue vivante étrangère. Les parcours types de formation comprennent des enseignements permettant aux étudiants d'acquérir cette aptitude."

On rappelle que les élèves/étudiants valident également des enseignements supplémentaires pour le diplôme de l'ENS (au moins 24 ECTS recommandés par année).

A la fin de la deuxième année, la commission des études,  statue sur l'obtention de la première année de Master par l'élève/étudiant et sur son admission en troisième année du diplôme de l'ENS.

5.4. Troisième année : master (M2) English

5.4.1 Premier semestre : cours

L’ éléve/étudiant doit valider 30 ECTS de cours de M2  MPRI (Master Parisien de Recherche en Informatique). Il est possible de valider certains cours ailleurs, avec l’accord de son tuteur et l’accord de du représentant de l’ENS de Paris au MPRI.
Voir les règles de choix de cours sur le site du MPRI.

A la place du M2 du MPRI, l’élève/étudiant peut préparer et valider le M2 du Master MVA (Mathématiques, Vision, Apprentissage) de l’ENS Cachan.

N.B. Les cours suivants du Master 2 MVA ont souvent lieu  à l'ENS Ulm entre fin septembre et fin décembre :

- Méthodes mathématiques pour les neurosciences (5 ECTS Cours INFO & MVA & UPMC Maths et Applications)

- Reconnaissance d'objets et vision artificielle (5 ECTS Cours INFO & MVA)

- Représentation parcimonieuse par ondelettes (5 ECTS Cours  INFO & MVA)

5.4.2 Deuxième semestre : stage

L'élève/étudiant en M2 du MPRI (Master Parisien de Recherche en Informatique) doit effectuer  un stage de recherche de 5 mois environ dans un laboratoire français ou étranger pour valider 30 ECTS dans la cadre de son M2. Le sujet, le descriptif et le lieu du stage de chaque élève/étudiant doivent  être approuvés par le représentant de l'ENS au MPRI. L’élève/étudiant doit remettre un rapport de stage d’une vingtaine de pages vers la mi-août et effectuer une soutenance d’environ 30 minutes début septembre. Voir les règles de stage sur le site du MPRI.

Pour le M2 du MVA, le stage obligatoire est d’environ 4 mois et a lieu entre avril et fin aout.

L'élève/étudiant doit également valider des des enseignements supplémentaires pour le diplôme de l'ENS, s'il n'a pas déjà acquis les 72 ECTS requis.

5.5. Les enseignements supplémentaires et le diplôme de l'ENS

N.B. Modifcations à compter de la rentrée 2016. SVP lire attentivement :  http://www.ens.fr/formation/enseignement/article/diplome-de-l-ens 

(Selon informations via lien ci-dessus du 26 juillet 2016)

Les enseignements supplémentaires du diplôme de l'ENS  (72 ECTS minimum à compter de 2016-2017) se répartissent en trois catégories :

En Informatique, il est recommandé de suivre et valider des cours de langues vivantes au sein de l'ECLA (Espace des Cultures et Langues d'Ailleurs)de l'ENS,
et en particulier de langue anglaise

Aucun enseignement validé dans le cadre d'un diplôme de L3, M1 ou M2 ne peut l'être une seconde fois dans le cadre des enseignements supplémentaires du diplôme de l'ENS.

A la fin des études à l'ENS, si l'élève/étudiant s'est acquitté des conditions requises, l'ENS lui délivre le « diplôme de l’École Normale Supérieure » avec une spécialité principale qui correspond à celle de son master 2 et, le cas échéant, une spécialité seconde dans une autre discipline (cf. 1.1 Le diplôme de L’École normale supérieure).


6. Les enseignements d'informatique hors filière English


6.1. L'informatique, spécialité seconde du diplôme de l'ENS

Un élève/étudiant inscrit dans une autre filière du diplôme de l'ENS (et donc rattaché à un autre département de l'ENS) peut choisir peut choisir l’informatique comme spécialité seconde ou deuxième discipline de son diplôme. Il doit contacter le directeur des études en informatique pour valider un ensemble cohérent de cours  d’informatique (au moins 48 ECTS à compter de la promotion 2016, 24 ECTS pour les promotions antérieures).

6.2. L'informatique à l'ENS

6.2.1 Cours de L3 du premier semestre

Les élèves/étudiants possédant déjà des notions de base en informatique peuvent suivre des cours de L3 au premier semestre.

6.2.2 Séminaire général :

Le séminaire général du Département d’Informatique rassemble des exposés généraux conçus pour être accessibles à tous : élèves/étudiants, doctorants, chercheurs.

Il a lieu le mercredi tous les 15 jours environ à 17h00 dans une salle de l’ENS.

Le programme est publié sur : http://www.di.ens.fr/SeminaireGeneral.html.fr

Une participation régulière pendant la scolarité à ENS (environ 24 séminaires) peut permettre d’obtenir 3 ECTS pour le diplôme de l’ENS.

L’élève/étudiant devra veiller que ses coordonnées soient bien inscrites sur la feuille de présence des séminaires et demander la validation de ces ECTS lors de sa dernière année de scolarité.

6.2.3  Cours d'initiation à la programmation

Le Département d'Informatique propose également un cours d'initiation à la programmation au deuxième semestre, ouvert à tous :

- Initiation à la programmation pour non-informaticiens (3 ECTS. Cours DI enseigné au 2e semestre)

Ce cours est ouvert aux élèves/étudiants de toutes les disciplines, littéraires comme scientifiques. Aucune connaissance préalable en programmation n'est requise. Le cours n'est pas orienté à priori vers une application particulière. Il s'adaptera aux besoins des élèves. Il sera utile au non informaticien qui aura un jour à programmer rapidement une simulation, mais aussi à toute personne souhaitant comprendre comment sont faits les programmes informatiques.

6.2.4 Cours en ligne MOOC "Algorithmes d'Approximation"

Un cours en ligne MOOC (Massive Online Open Course), "Algorithmes d'Approximation" : c'est un cours interactif diffusé sur le web.

Niveau M1, 10 semaines avec 1h de vidéos par semaine. Pas d’ECTS. Claire Mathieu

Plus d’informations sur : http://www.ens.fr/savoirs/mooc-et-flot/  et https://www.coursera.org/ens et

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

9. Cours d'informatique de l'année 2016/2017  English

- Algorithmique et combinatoire des graphes géométriques (Cours MPRI 2-38-1)

- Algorithmique et programmation (L3)

- Algorithmes d'Approximation (MOOC Niveau M1 a compter de l'automne 2015) https://www.coursera.org/ens  https://www.coursera.org/learn/approximation-algorithms-part-1/

- Apprentissage statistique (M1 a compter de 2014-2015)

- Bases de données (L3, ENS Cachan)

- Complexité Avancée (Cours MPRI 1-17, ENS Cachan)

- Fondements sur la modélisation des réseaux (Cours MPRI 2-17-1)

- Génie logiciel et calcul distribué  (M1) annulé lundi 21 septembre 2015

- L'Informatique Scientifique par la pratique (Cours MPRI 1-23)

- Initiation à la cryptologie (Cours MPRI 1-13)

- Interprétation Abstraite : Application à la Vérification et à l'Analyse Statique (Cours MPRI 2-6)

- Initiation à la programmation pour non-informaticiens

- Introduction à la vision artificielle (M1)

- Lambda-Calculs et Catégories (Cours MPRI 1-20)

- Langages de programmation et compilation  (L3)

- Langages formels, calculabilité et complexité (L3)

- Logique et Informatique (L3, ENS Cachan)

- Méthodes mathématiques pour les neurosciences (Cours M2 MVA)

- Modèles et Algorithmes des Réseaux (M1)

- Optimisation Combinatoire et Convexe (M1 à compter de 2015-2016)

- Planification du mouvement en robotique et en animation graphique : du continu au combinatoire via la commandabilité des systèmes (Cours MPRI 1-19)

- Protocoles cryptographiques : preuves formelles et calculatoires (Cours MPRI 2-30)

- Programmation parallèle et réactive  (M1 à compter de 2016-2017)

- Reconnaissance d'objets et vision artificielle (Cours M2 MVA)

- Représentation parcimonieuse par ondelettes (Cours M2 MVA)

- Sémantique, langages et algorithmes pour la programmation multicore (Cours MPRI 2-37-1)

- Sémantique et application à la vérification de programmes  (L3)

- Structures et Algorithmes Aléatoires (L3 & M1)

- Système digital: de l'algorithme au circuit (L3)

- Systèmes et réseaux (L3)

- Systèmes synchrones (Cours MPRI 2-23-1)

- Techniques en Cryptographie et Cryptanalyse (Cours MPRI 2-12-1)

- Théorie de l'information et codage (L3)

- Traitement du signal (L3)

Algorithmique et combinatoire des graphes géométriques

(Eric Colin de Verdière, Claire Mathieu)

Le thème du cours est l'étude des algorithmes exacts et approchés pour les graphes plongés, c'est-à-dire les graphes planaires et les graphes dessinés sans croisements sur une surface. Il se situe à la frontière de l'algorithmique "classique" des graphes et de de la géométrie algorithmique, et combine plusieurs directions de recherche actuelle qui partagent des techniques communes :

(Cours MPRI : 3 ECTS)

Pour plus de détails sur ce cours (Cours MPRI 2-38-1), merci de consulter sa page sur le site du MPRI : https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-38-1

(maj ce descriptif : juin 2014)

Algorithmique et programmation English

(?)


L’enseignement comprend trois parties : cours de base, cours avancé, et projet.
Chaque semaine le cours comporte deux parties indépendantes, la première couvrant des notions de base et la deuxième des notions avancées.
Le cours de base est standard, son contenu se trouve dans des livres d’algorithmique types tels que le Kleinberg-Tardos ou le Cormen-Leiserson-Rivest-Stein ; les TDs développent et les examens évaluent les notions vues en cours de base.
Le cours avancé présente des algorithmes plus sophistiqués (les élèves/étudiants ne sont pas évalués sur son contenu).
Le projet met en pratique la programmation en C par l’implémentation d’un algorithme ou d’une structure de données.

Prérequis

Quelques bases de programmation. Algorithmique élémentaire : recherche dichotomique, tri par insertion, tri par sélection, arbres binaires de recherche, graphes (définition), parcours en largeur d’abord ou en profondeur d’abord.

Cours de base

  1. Files de priorité. Structure de données tas. Tri-tas. Algorithme de Dijkstra. Algorithme de Prim. Algorithme de Huffman.
  2. Complexité du tri-fusion. Complexité en moyenne du tri-rapide. Arbres de décision et bornes inférieures.
  3. Algorithme de Kruskal. Algorithme de Boruvka. Structure de données “Union-Find”.
  4. Arbres rouges-noirs, arbres éclatés (“splay”).
  5. Transformée de Fourier rapide.
  6. Hachage. Filtres de Bloom.
  7. Programmation dynamique. Plus courts chemins entre tous les sommets d’un graphe. Chaine de Markov cachée.
  8. Algorithmes sur les mots : Alignement de séquences, recherche de sous-mots.
  9. Algorithmes de graphes : composantes connexes, points d’articulation, composantes fortement connexes, 2-SAT.
  10. Flots.
  11. Programmation linéaire. Dualité. Algorithme du simplexe.
  12. Multiplication, exponentiation.
  13. Reductions et NP-complétude

Cours avancé

On traitera de sujets choisis par exemple parmi les sujets suivants. Structures de données avancées : Tas binomiaux. Géométrie algorithmique et diagramme de Voronoï. Fonction d’Ackermann inverse et analyse de la structure de données “Union-Find”. Structure de données de Tarbres (“treaps”). Algorithmes en ligne: problème de location de skis. Algorithmes de type “streaming”. Algorithme des quatre russes. Algorithmes et théorie des jeux. Couplages : algorithme d’Edmonds. Algorithmes d’approximation. Méthode de l’ellipsoïde. Algorithme de Goemans et Williamson. Test de primarité. Optimisation stochastique. Algorithmes FPT. Arbres suffixes.

Modalités

Page du cours : http://www.di.ens.fr/algoL3/
  2 heures de cours et 2 heures de TDs environ par semaine.
Evaluation : devoirs à la maison, projet avec soutenance, un partiel et un examen.


(Cours Info : 9  ECTS à compter de 2013-2014, 6 ECTS auparavant)

Cours du 1er semestre : cours le jeudi matin en 2016-2017. Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan1Sem1.pdf

(maj ce descriptif : juin 2016)

Apprentissage statistique english

(Francis Bach)


L'apprentissage statistique est une discipline en plein essor à l'interface de l'informatique et des mathématiques appliquées (probabilitéss / statistiques, optimisation, etc.) et qui joue aujourd'hui un rôle majeur en matière d'innovation technologique.

A la différence d'un cours de statistique traditionnel, l'apprentissage statistique se préoccupe particulièrement de l'analyse de données de grande dimension ainsi que de l'efficacité des algorithmes pour traiter d'importants volumes de données telles que rencontrées dans des domaines d'applications divers tels l'analyse d'image et du son, le traitement automatique du langage, la bioinformatique ou la finance.

L'objectif du cours est de présenter les théories et algorithmes majeurs de l'apprentissage statistique. Les méthodes abordéees reposeront en particulier sur des arguments d'analyse convexe.

Les séances de TDs (dont plus de la moitié seront réalisées sur machines) donneront lieu à des implantations simples des algorithmes vus en cours et à une application à  différents domaines comme la vision ou le traitement du langage.
Ce cours a comme débouché naturel le master M2 MVA de l'ENS de Cachan.

Page du cours : http://www.di.ens.fr/~slacoste/teaching/apprentissage-fall2015/
Ancienne page :  http://www.di.ens.fr/~slacoste/teaching/apprentissage-fall2014/

(Ce cours fut le cours spécifique aux filières de L3 Info-Maths et Maths-Info en 2011-2012 et 2012-2013 (cours DMA 12 ECTS)

Ce cours n a pas été enseigné en 2013-2014. Il devient un cours de M1 et est enseigné au 1er semestre à compter de 2014-2015.

Anciennes pages :http://www.math.ens.fr/cours-apprentissage/ ET  : http://www.math.ens.fr/enseignement/fiche_cours.html?cours=62#)


Cours INFO  M1 de 6 ECTS en 2014-2015 et 2015-2016. 9 ECTS à compter de 2016-2017.

Cours le vendredi  matin. Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan2Sem1.pdf


(maj ce descriptif : juin 2016 )

Bases de données english

(Pierre Senellart)


Ce cours couvre les grands principes des systèmes de gestion de données (SGBD). Les SGBD sont des logiciels génériques permettant le stockage et la manipulation efficace de données pour une très large gamme d'applications. Du point de vue pratique, les SGBD sont des logiciels sophistiqués, très largement utilisés, omniprésents dans le monde industriel. Du point de vue théorique, la conception de ces systèmes repose sur des fondements conceptuels, logiques, algorithmiques, en lien avec d'autres domaines de la science informatique. Le cours ira des aspects théoriques aux aspects systèmes des SGBD, en particulier ceux basés sur le modèle relationnel.

Les thèmes suivants seront couverts dans les 12 sessions du cours, qui seront accompagnées de travaux dirigés et de travaux pratiques sur ces mêmes sujets.

1. Introduction à la gestion de données, le modèle relationnel, l'algèbre relationnelle, SQL
2. Aspects logiques : calcul relationnel, indépendance du domaine, théorème de Codd
3. Récursion, Datalog, langages à point fixe, logique du second-ordre
4. Complexité computationnelle des langages de requêtes
5. Contraintes sur les données : dépendances fonctionnelles, dépendances d'inclusion, poursuite
6. Conception de schémas, normalisation
7. Analyse statique : minimisation de requêtes, requêtes acycliques, réécriture de requêtes
8. Vues virtuelles et vues matérialisées, maintenance de vues, mises à jour de vues, intégration de données
9. Optimisation de requêtes : génération de plans, modèles de coût, histogrammes
10. Indexation et stockage
11. Transactions et gestion de concurrence : sérialisabilité, verrouillage à deux phases, estampillage
12. Extensions et applications : distribution, modèles non relationnels, applications Web et sécurité

La validation du cours se fera en partie par contrôle continu, et en partie via un examen final.

Bibliographie :
- M. Benedikt et P. Senellart, « Databases ». E. K. Blum et A. V. Aho, éditeurs, Computer Science. The Hardware, Software and Heart of It, p. 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.

Ancienne page du cours  : http://abiteboul.com/TEACHING/DBCOURSE/

Cours Info : 9 ECTS à compter de 2015-2016. 6 auparavant.
Ce cours aura  lieu si possible  à  ENS de Paris au 2e semestre a compter de 2016-2017
Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan1Sem2.pdf
(maj ce descriptif : juillet 2016)

Complexité avancée English

(Jean Goubault-Larrecq)

La théorie de la complexité va bien au-de de celle de la NP-complétude. Le but de ce cours est d'aller regarder un certain nombre d'autres constructions fondamentales de la théorie de la complexité: complexité en espace, notions de machines alternantes, ou randomisées. On y verra quelques théorèmes fascinants: l'équivalence du temps alternant et de l'espace déterministe par exemple, ou le théorème IP=PSPACE de Shamir.


Description du cours


Pré-requis

On s'attend à ce que les étudiants aient une certaine familiarité avec la notion de Machine de Turing, la classe P (temps polynomial déterministe), la classe NP (temps polynomial non-déterministe), les notions de réductions en temps polynomial, le théorème de Cook (SAT est NP-complet) même si toutes ses notions seront rapidement revues au début du cours.

Bibliographie

Livres:

Polycopiés:

(Cours Info :6 ECTS)
Voir les mises à jour de ce cours MPRI M1-17 sur le site du MPRI : https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-1-17
Cours du 1er semestre : cours et TD le mercredi matin à Cachan
(maj ce descriptif : juin 2014)

Cryptanalyse : nouvelles tendances en cryptographie - chiffrement avancé

(Michel Abdalla, Phong Nguyen, Vadim Lyubashevsky)


L'objectif de ce cours est d'amener les élèves à la frontière de la recherche actuelle en cryptographie à clé publique et sur le calcul sur des données chiffrées.

Ce cours est divisé en deux parties: le chiffrement fonctionnel et le chiffrement complètement homomorphe. Dans la première partie, nous considérerons la notion de chiffrement fonctionnel qui est une généralisation de la notion classique de chiffrement à clé publique. Dans ces systèmes, les clés de déchiffrement ne permettent à un utilisateur que de calculer certaines fonctions particulières des données chiffrées. Nous examinerons notamment plusieurs cas particuliers de chiffrement fonctionnel, tels que le chiffrement à basé d’identité (identity-based encryption), le chiffrement indexable (searchable encryption) et le chiffrement à base d’attribut (attribute-based encryption). Dans la deuxième partie de ce cours, nous étudierons la notion de chiffrement complètement homomorphe, qui permet des calculs arbitraires sur les données chiffrées. Pour atteindre cet objectif, nous examinerons plusieurs problèmes calculatoires sur les réseaux et les systèmes de chiffrement à base de réseau qui sont utilisés dans les constructions de schémas de chiffrement complètement homomorphe.

Pré-requis  :

Les étudiants sont censés avoir suivi un cours d'initiation à la cryptologie. Les principes généraux de la cryptologie (intégrité, authenticité, confidentialité) devront être connus ainsi que les  résultats de base de la théorie des nombres et de l'algèbre linéaire

Les étudiants doivent ausi avoir vu des exemples de primitives cryptographiques symétriques (par exemple les fonctions de hachage et le chiffrement par bloc) et de primitives asymétriques classiques (RSA et Diffie-Hellman).

Ces pré-requis ne sont pas spécifiques à la cryptologie et sont déjà essentiellement inclus dans la liste générale du MPRI.

Un minimum de connaissance en algèbre et en probabilité sera aussi requis. Enfin les outils algorithmiques de base doivent être maîtrisés.

(Cours MPRI 2-12-1 : 3 ECTS)

Pour plus de renseignements sur ce cours, consulter sa page sur le site du MPRI : https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-12-1

(maj ce descriptif : 2011-2012)

Fondements sur la modélisation des réseaux

(François Baccelli,  Jean Mairesse)

Le but de ce cours est double :

* proposer des modèles mathématiques pertinents pour les réseaux de communications;

* donner les bases théoriques permettant de mener a bien l'analyse de la dynamique de ces modèles.

Le cours est structuré en thèmes, pouvant être plus ou moins développés suivant les années.

* Réseaux de files d'attente et modélisation markovienne (réseaux à commutation de paquets, réseaux à commutation de circuits).

* Dynamique des systèmes à événements discrets temporisés (semi-anneau max plus, inf convolutions, fonctions topicales, réseaux de Petri temporisés, modèles d'empilements de pièces, etc.).

* Contrôle de flux dans les réseaux de communication (TCP, contrôle de flux et de congestion, régulation, network calculus, ordonnancement etc.).

* Graphes aléatoires (à la Erdos-Renyi, géométriques) et modèles de percolation.


Pré-requis

Une familiarité avec les probabilités discrètes et les chaînes de Markov, est préférable.

Bibliographie

(Cours MPRI 2-17-1 : 3 ECTS)
Pour plus de renseignements sur ce cours : http://www.di.ens.fr/~baccelli/MPRI.html
consulter sa page sur le site du MPRI : https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-17-1
(maj ce descriptif : 2011-2012)

L'Informatique scientifique par la pratique english

(David Naccache)

Le cours d’Informatique scientifique par la pratique permet aux élèves de s’initier à la rédaction d’un article en s’attaquant à un véritable problème de recherche.

Le travail s’effectue en appliquant des techniques mathématiques et informatiques vues lors de divers cours de l’ENS et en explorant et apprenant de nouveaux outils, autant que nécessaire.

Les étudiants se voient exposer au début du cours plusieurs défis mathématiques et informatiques et forment des groupes.

Chaque défi est analysé par le groupe (sous la supervision de l’enseignant et ses doctorants) et des solutions théoriques lui sont proposées et débattues.

Les solutions sont ensuite analysées et programmées. Les résultats sont structurés (en anglais) sous la forme d’un article de « professionnel » qui peut être soumis à une conférence à comité de lecture (ou même à un journal).

40% des articles préparés dans le cadre du cours sont effectivement parus (après avoir été sélectionnés par des comités de lecture) à des conférences internationales. 

Les publications ont souvent été cosignées avec des chercheurs expérimentés qui ont intégré les modèles, la théorie ou les programmes des élèves dans des travaux de recherche globaux (à ce jour, ces chercheurs appartiennent à 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).

(Cours Info et MPRI 1.23:  9 ECTS à compter de 2016-2017. 6 auparavant )

Cours 2e semestre.  Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan1Sem2.pdf

(maj ce descriptif : juin 2016)

Initiation à la cryptologie English

(David Pointcheval, Jacques Stern,  Damien Vergnaud)

Ce cours s'adresse aux étudiants ayant un goût pour l'algorithmique, à la fois dans ses aspects mathématiques et dans ses aspects pratiques. Son but est d'enseigner la problématique de la cryptologie, et les principaux outils utilisés par la cryptologie pour proposer des solutions aux problèmes de sécurité.

Ce cours est aussi proposé comme cours de niveau 1 pour le MPRI et en tant que tel sert de préparation au cours de niveau 2 du MPRI.

Le cours est divisé en 6 parties, de 2 à 4 heures chacune, avec des TD.

(Cours Info MPRI 1-13  : 6 ECTS  9 ECTS à compter de 2016-2017)

Ce cours a lieu le lundi après-midi  au 2e semestre

Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan1Sem2.pdf

Pour plus de renseignements sur ce cours, consulter sa page sur le site du MPRI : https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-1-13

( maj ce descriptif juin 2016 )

Initiation à la programmation pour non-informaticiens  English

(Zhentao LI)

Ce cours est ouvert aux élèves de toutes les disciplines, littéraires comme scientifiques. Aucune connaissance préalable en programmation n'est requise. Le cours n'est pas orienté à priori vers une application particulière. Il s'adaptera aux besoins des élèves. Il sera utile au non-informaticien qui aura un jour à programmer rapidement une simulation, mais aussi à toute personne souhaitant comprendre comment sont faits les programmes informatiques.

(Cours Info du 2ème semestre : 3 ECTS) le mercredi de 17h à 19h en salle Info 4 NIR à compter de février 2017. 

Environ 24h : cours, projet.

Pour plus de renseignements sur ce cours, consulter  : https://www.di.ens.fr/~zhentao/intropython/

(derniere mise à jour : sept 2015)

Interprétation Abstraite : Application à la Vérification et à l'Analyse Statique english

(Cours MPRI 2-6 : 6 ECTS)

Pour plus de renseignements sur ce cours, consulter sa page sur le site du MPRI :https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-6

Introduction à la vision artificielle english

(Jean Ponce)

Ce cours présente les principes et les fondations techniques de la vision artificielle, un domaine scientifique dont le but est de doter les ordinateurs de la capacité d'interpréter le contenu des images

numériques (photographies et vidéos).

Le cours comprend des exercices de programmation en Matlab/Scilab.

 
Plan :

1. Formation des images : Modèles des appareils de prise de vue, de la lumière et de la couleur.

2. Traitement d'image local : Filtres, détection de contours, caractéristiques visuelles, texture.

3. Groupes de pixels : Méthodes de "clustering", régression, et segmentation.

4. Plusieurs images : Géométrie multi images, stéréo, analyse du mouvement.

5. Analyse de scène : Détection et reconnaissance de visages, sacs de caractéristiques visuelles pour la reconnaissance de catégories d'objets.

Bibliographie :

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

(Cours Info : 4 ECTS en 2012-2013 mais 6 ects et cours plus long à compter de  2013-2014. 9 ECTS à compter de 2016-2017.)

Cours le jeudi après-midi. Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan2Sem1.pdf

(Derniere mise à jour : juin 2016)

Lambda-calculs et Catégoriesanglais

(Paul-André Melliès)

Ce cours s'intéresse à la syntaxe et à la sémantique des langages de programmation, à partir du lambda-calcul. On rappellera les principaux théorèmes syntaxiques du lambda-calcul: confluence, standardisation, résultats de terminaison. Puis on étudiera les modèles du lambda-calcul : pour ce faire, le langage de la théorie des catégories sera utilisé.

Plus généralement, les catégories servent à interpréter bien des extensions du lambda-calcul (avec références, exceptions, etc.), ainsi qu'à comprendre et structurer des notions de concurrence (notamment la notion de bisimulation). Le cours fournit une introduction assez générale et complète au formalisme catégorique, et l'applique à la sémantique des langages de programmation.

Interpréter un langage dans un modèle s'apparente à une compilation, et les modèles offrent ainsi des occasions de retour sur la syntaxe : machines abstraites pour l'exécution des programmes, preuves de propriétés de programmes. Dans le même ordre d'idées, ce sont des observations sur un modèle du lambda-calcul qui ont conduit Girard à la logique linéaire, munie de connecteurs exprimant un contrôle sur l'usage des hypothèses vues comme ressources, ou bien plus récemment Thomas Ehrhard au lambda-calcul différentiel, qui relie de manière originale substitution et... formule de Taylor.

Support de cours :

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

- Categorical semantics of linear logic. P.-A. Melliès. Paru dans la collection Panorama et Synthèse, Société Mathématique de France, 2009.

Et aussi :

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

- Categories, types and structures. A. Asperti and G. Longo. MIT Press, 1991 (épuisé, mais disponible sur la page web de G. Longo : http://www.di.ens.fr/users/longo/files/CategTypesStructures/book.pdf).

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

Pour le lambda-calcul :

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

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

Pour les catégories, lire les premiers chapitres d'un livre tel que:

- 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.


(Cours Info : 9 ECTS à compter de 2016-2017. 6 auparavant )
Pour plus de renseignements sur ce cours MPRI M1-20 :   http://www.pps.jussieu.fr/~mellies/mpri-ens.html
Cours au 1er semestre à Ulm  : cours  et  TD le lundi matin.
Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan2Sem1.pdf
(maj  descriptif cours  :  juin 2016)

Langages de programmation et compilation English

(Jean-Christophe Filliâtre)

Ce cours présente les principaux concepts des langages de programmation au travers de l'étude de leur compilation, c'est-à-dire de leur traduction vers le langage machine. Les TDs ont pour objectif de programmer certaines des notions vues en cours. L'évaluation comprend un projet consistant en la réalisation d'un petit compilateur.

Pour plus de renseignements sur ce cours, consulter  : http://www.lri.fr/~filliatr/ens/compil/

(Cours Info : 9  ECTS à compter de 2013-2014, 6 ECTS auparavant)  Validation : examen + projet. Environ 50h cours/TD et 24h de projet.

Cours du 1er semestre : cours le vendredi matin . Voir EDT  : http://diplome.di.ens.fr/20162017emploiTempsan1Sem1.pdf

(Derniere mise à jour : juin 2016)

Langages formels, calculabilité et complexité English

(Damien Vergnaud)

1: Langages réguliers, leurs propriétés et leur caractérisation par automates, expressions régulières, formules logiques, monoïdes. Langages sans étoile.

Premières notions sur les langages de mots infinis.

2: Grammaires et hiérarchie de Chomski. Langages hors contexte, leurs propriétés, leur caractérisation par automates à  pile

3: Calculabilité (fonctions récursives et Machines de Turing). Problèmes décidables, indécidables, semi-décidables.

4: Complexité en temps et espaces. Bornes de complexité. Classes de complexité (NP, Pspace) et problèmes complets.


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

Page du cours 2012-2013  de M Asarin  sur  : http://www.liafa.jussieu.fr/~asarin/ENS/lf.html

Livre support du cours  : http://www.liafa.jussieu.fr/~carton/Lfcc/

(Cours Info : 9  ECTS à compter de 2013-2014, 6 ECTS auparavant)  Validation : soutenance + examen. Environ 48h de cours/TD et 24h proejt/mémoire. 

Cours du 1er semestre : cours le  jeudi après-midi. Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan1Sem1.pdf

Page du cours 2015-2016 : http://www.di.ens.fr/~vergnaud/teaching.html

(Derniere mise à jour : juin 2016)

Logique et informatique English

(Jean Goubault-Larrecq) 

Ce cours explore les bases du lambda-calcul, un outil inventé par le logicien Alonzo Church dans les années 1930 et qui est aujourd'hui fondamental tant en sémantique des langages de programmation (informatique) qu'en théorie de la preuve (logique).

1. Aspects informatiques :

2. Aspects logiques :

Bibliographie :

(Cours Info : 6 ECTS).  

Plus de renseignements sur ce cours sur :  http://www.lsv.ens-cachan.fr/~goubault/Lambda/loginfoindex.html

Cours du 2e semestre qui a lieu à ENS Cachan

(maj ce descriptif : juin 2013)

Méthodes mathématiques pour les neurosciences  English

(Romain Veltz, Etienne Tanré)


Nous présentons dans ce cours quelques outils mathématiques qui interviennent de manière systématique dans de nombreux problèmes de modélisation en neurosciences. Les prérequis sont une bonne connaissance du calcul différentiel et du calcul des probabilités dans le cadre de la théorie de la mesure. Sans trahir la rigueur mathématique, le cours s'efforcera de mettre en valeur l'applicabilité aux neurosciences des concepts présentés. Le cours sera complété par des séances d'exercices.

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

La page web du cours 2014-2015 se trouve  à l'adresse http://romainveltz.pythonanywhere.com/teaching/

Les élèves/étudiants sont priés de la consulter car elle contient le programme, les intervenants, les dates et horaires 
+ les références bibliographiques 

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


Cours Info & MVA : 5 ECTS & Cours UMPC Maths et Applications (NB 5 ECTS a compter de 2015-2016, 4 auparavant)

 En 2016-2017, le cours commencera .                   Cours de 13h30 à 16h30 et TD de 16h45 à 18h45.

Voir Emploi du Temps :

(maj ce descriptif : septembre 2015)

Modèles et Algorithmes des réseaux anglais

(Ana Busic et Marc Lelarge)

Ce cours constitue une introduction aux techniques mathématiques et algorithmiques nécessaires à la modélisation et à l'étude des réseaux. Les problématiques étudiées seront principalement celles des réseaux de communications, des réseaux sociaux et des réseaux d’énergie.

L’objectif du cours est d’étudier des problématiques spécifiques aux réseaux de grande taille. En particulier, nous allons nous intéresser à l’émergence d’une coordination globale à travers des actions locales, fondées sur une vision partielle et locale du système. Nous allons étudier des problèmes suivants : partage de ressources dans un réseau, émergence d’opinion et la coordination distribuée, propagation d’informations et d’influences, distribution de contenus.

Quelques exemples des applications concrètes abordées : Pourquoi l’Internet ne s’écroule pas sous la congestion ? Est-il équitable que mon voisin a un meilleur débit que moi ? Comment marchent les moteurs de recherche ? Peut-on améliorer son influence sur les réseaux sociaux ? Peut-on avoir une énergie renouvelable et fiable ?

Nous allons utiliser principalement l’optimisation convexe, l’algorithmique distribuée, les algorithmes et modèles probabilistes.

Il est recommandé d'avoir suivi le cours Structures et Algorithmes Aléatoires

Plus d’informations sur la page de cours : http://www.di.ens.fr/~busic/mar/


(Cours Info :  9 ECTS à compter de 2016-2017. 6 auparavant)

Cours le mardi après-midi  Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan2Sem1.pdf
(maj ce descriptif : juin 2016)

Optimisation Combinatoire et Convexe

(Alexandre d'Aspremont et Zhentao LI)

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

Pages pour ce cours :

http://www.di.ens.fr/~aspremon/ENSM1.html
https://www.di.ens.fr/~zhentao/opt/

Cours le jeudi matin . Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan2Sem1.pdf

(maj ce descriptif : juin 2016)

Planification de mouvement en robotique et en animation graphique : du continu au combinatoire via la commandabilité des sytèmes English

(Jean-Paul Laumond, Nicolas Mansard)

La planification de mouvement s'intéresse au calcul automatique de chemins sans collision pour un système mécanique (robot mobile, bras manipulateur, personnage animé...) évoluant dans un environnement encombré d'obstacles. Les méthodes consistent à explorer l'espace des configurations du système : une configuration regroupe l'ensemble des paramètres permettant de localiser le système dans son environnement. Aux obstacles de l'environnement correspondent des domaines à éviter dans l'espace des configurations. La planification de mouvement pour le système mécanique se trouve ainsi ramenée au problème de la planification de mouvement d'un point dans une variété non simplement connexe.

Bibliographie :

(Cours Info : 9 ECTS à compter de 2016-2017. 6 auparavant )

Voir Emploi du Temps : http://diplome.di.ens.fr/20162017emploiTempsan2Sem1.pdf
Aura lieu le lundi apres-midi et le mardi matin à compter du mardi 8 novembre 2016.

(maj ce descriptif : juin 2016)

Programmation parallèle et réactive English

(Albert Cohen)


Le calcul parallèle s'est progressivement imposé dans la quête de performance, touchant désormais tous les domaines de l'informatique et de ses applications. D'autre part, les systèmes réactifs, également appelés cyberphysiques, s'étendent du contrôle embarqués aux interfaces graphiques et réseaux de capteurs. Ce nouveau cours choisit de placer la correction et la modularité comme objectifs prioritaires d'une introduction à la programmation parallèle et concurrente.

La première partie du cours explore les principales formes de parallélisme, en mettant en avant les constructions déterministes, leur expression dans les langages de programmation, les compromis entre abstraction et efficacité, en mémoire partagée ou distribuée. Nous utiliserons le langage Rust, et le cours comportera deux ouvertures sur le traitement de masses de données distibuées et sur l'accélération sur GPU.

Dans une deuxième partie, nous étudierons le parallélisme coopératif et synchrone dans les systèmes réactifs, leur implémentation distribuée, les liens avec la programmation par évènements, et la compilation du parallélisme pour concilier modularité, performances et sûreté de fonctionnement. Nous utiliserons le langage ReactiveML, et le cours ouvrira sur la vérification formelle de programmes parallèles et réactifs.

Les langages Rust et ReactiveML seront introduits dans le cadre du cours.

Nouveau cours INFO  M1 2016-2017. 9 ECTS

Voir Emploi du Temps : http://diplome.di.ens.fr/20162017emploiTempsan2Sem1.pdf

Aura lieu le lundi apres-midi et le mardi matin de mi septembre a debut novembre 2016.

(maj ce descriptif : juin 2016) 

.

Reconnaissance d'objets et vision artificielle English

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

La reconnaissance automatique des objets --et de manière plus générale, l'interprétation de la scène-- figurant dans une photographie ou une vidéo est le plus grand défi de la vision artificielle. Ce cours présente les modèles d'images, d'objets, et de scènes, ainsi que les méthodes et algorithmes utilisés aujourd'hui pour affronter ce défi.

Plan du cours :

- Caractéristiques visuelles : points d'intérêt, régions affines, invariants, descripteurs Sift.

- Détection d'objets et de classes spécifiques : alignement 2D et 3D, méthodes de votes, détection de visages et Adaboost.

- Classification d'images : sacs de caractéristiques visuelles et machines à vecteurs de support, grilles et pyramides, réseaux convolutionnels.

- Détection de catégories d'objets : constellations de caractéristiques visuelles, assemblages de fragments, méthodes de fenêtre glissantes, apprentissage faiblement supervisé de modèles.

- Aller plus loin : analyse de scène, analyse des activités dans les vidéos.

Bibliographie :

Cours Info & MVA : 5 ECTS  (NB 5 ECTS a compter de 2015-2016, 4 auparavant)

En 2015-2016 Cours le mardi après-midi (16h15 a 19h15)  de fin septembre à fin décembre. Cours MVA enseigné en anglais.

    The first class (29 Sep 2015, 16:15-19:15) will be at: Amphithéâtre PSL, 62 bis rue Gay-Lussac.
    The rest of the classes will be located at: ENS ULM, 29 rue d'Ulm, Salle *236*

Page du cours :    http://www.di.ens.fr/willow/teaching/recvis15/
Voir Emploi du Temps : http://diplome.di.ens.fr/20152016emploiTemps3anM2.pdf

(maj ce descriptif : juin 2015) 

Représentation parcimonieuse par ondelettes English

(Stéphane Mallat)

Cours MVA enseigné en anglais. Voir svp le descriptif en anglais

Cours Info& MVA : 5 ECTS. (NB 5 ECTS a compter de 2015-2016, 4 auparavant)

Cours le vendredi matin de fin septembre à fin décembre

Voir Emploi du Temps : http://diplome.di.ens.fr/20152016emploiTemps3anM2.pdf


(maj ce descriptif : juillet 2015)

Sémantique et application à la vérification de programmes English

(Xavier Rival, Sylvain Conchon, Jérôme Feret, Antoine Miné)

Descriptif :

Dans ces cours, nous étudierons les techniques permettant de raisonner sur les programmes, afin de vérifier des propriétés de correction.
Nous nous intéresserons tout d'abord aux fondements de la sémantique des langages de programmations, et à la notion de preuve de programmes à l'aide de triplets "à la Hoare".
Ensuite, nous formaliserons les différents types de propriétés intéressantes (sûreté, vivacité, sécurité).
Enfin, nous aborderons plusieurs approches permettant de vérifier des programmes de manière automatique (analyse statique par interprétation abstraite, vérification de modèles de systèmes finis, résolution modulo théorie): l'inférence des étapes de la preuve est alors confiée à un autre programme informatique.

Plan du cours :

En complément de la partie théorique, les TDs présenteront des applications concrêtes de ces techniques.

(Cours Info :9 ECTS) Nouveau cours en 2013-2014. Environ 48h cours/TD

Page du cours 2016 :   http://www.di.ens.fr/~rival/semverif-2016/

Cours du 2e semestre : cours et TD le vendredi matin à compter du vendredi 12 février 2016.  

(mise à jour de ce descriptif : janvier 2016)

Structures et Algoritmes Aléatoires English

(Anne Bouillard)


Objectif : Ce cours vise à donner aux étudiants les bases de probabilités qui sont utilisées dans divers domaines de l'informatique (algorithmique, algorithmes stochastiques, réseaux de communication,...)

Plan : ce cours est divisé en deux parties :

     Probabilités discrètes et applications
         - Variables aléatoires, indépendance, conditionnement
         - Méthode probabiliste
         - Graphes aléatoires

     Modèles markoviens
         - Chaînes de Markov, comportement asymptotique
         - Simulation Monte Carlo et simulation parfaite
         - Champs de Gibbs

Pour chaque thème abordé, des exemples d'application dans divers domaines de l'informatique seront présentés.

(Cours Info : 9  ECTS à compter de 2013-2014, 6 ECTS auparavant) validation : examen et projet.  Environ 35h cours et 28h TD. 
Pour plus de renseignements sur ce cours, consulter  : http://www.di.ens.fr/~bouillar/SAA/index.html

Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan1Sem1.pdf


(maj descriptif : décembre 2015)

Système digital : de l'algorithme au circuit English

(David Naccache, Timothy Bourke)

Le cours théorique présente la composante matérielle du monde informatique. Des principes de conception et de réalisation des circuits, à diverses applications du calcul numérique haute performance : en physique,  électronique, algèbre et télécommunication. Chaque application va de l’algorithme (logiciel) au circuit (matériel) : mêmes opérations, autres performances.

La partie pratique du cours est un projet, à réaliser par groupes : chaque groupe doit entièrement concevoir un microprocesseur, et le réaliser au moyen de portes logiques élémentaires ;  il faut ensuite simuler  les  portes en fonctionnement, et programmer le microprocesseur pour en faire une montre numérique, simulée en temps-réel.

  1. Circuit digital  synchrone : Circuit combinatoire et portes logiques. Registre et circuit digital synchrone. Réalisation d’un circuit de montre numérique. Complexité et synthèse BDD de circuits.
  2. Nombres binaires : des bits aux entiers 2-adiques ; algèbre et anneau de Boole ; hyper-cube et ensembles d’entiers. Arithmétique 2-adique et circuits en séries. Opérations logiques et ensemblistes sur les entiers : algèbre binaire.
  3. Circuits électroniques : des portes aux transistors ; de la logique à son dessin sur silicium. Schémas électriques et dessin au micron d'un additionneur série.  Mémoires ROM et RAM. Technologies de fabrication : ASIC, FPGA. Lois de Moore.
  4. Arithmétique sur silicium : additionneurs et multiplicateurs, en série et en parallèle ; profondeur minimale. Compromis optimaux entre surface et temps. Unité arithmétique et logique. Division par les poids faibles ; racine 2-adique.
  5. Machines universelles : machine de Turing sur silicium. Microprocesseur programmable à la Church.  Nombre réel calculable, et limites du calcul automatique. Arithmétiques en ligne : réels vs. 2-adiques. Logique programmable FPGA et systèmes dynamiquement reconfigurables.
  6. Calcul scientifique : Algorithmes de calcul utiles en matériel et petit logiciels, conversion de bases, accès aux bits, manipulation de données, trigonométrie, racines, logarithmes etc. Multi-précision et estimation d'erreurs.

(Cours Info : 9  ECTS à compter de 2013-2014, 6 ECTS auparavant) validation : examen et projet.  Environ 48h cours/TD, 24h projet.

Pour plus de renseignements sur ce cours, consulter : http://www.di.ens.fr/~jv/HomePage/teaching.html

Page du cours 2015-2016 : http://www.di.ens.fr/~bourke/sysdig.html

Cours du 1er semestre le mardi après-midi. Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan1Sem1.pdf

(maj descriptif : juin 2016)

Systèmes et réseaux

(Marc Pouzet, Timothy Bourke)

Le cours présente les concepts fondamentaux des systèmes d’exploitation, leur utilisation et leur mise en œuvre dans le système Unix.
La première partie étudie le cas d’Unix: organisation de la mémoire, systèmes de fichiers, gestion des processus lourds et léger (“threads”), signaux, communication entre processus, interruption, ordonnancement preemptif, pipes, sockets.
La seconde partie étudie les problèmes classiques: interblocage et famine entre processus, courses critiques, prise en compte des temps de calcul, etc.
Le cours aborde la modélisation de ces questions et comment les techniques de vérification formelle automatiques permettent de définir des implémentations prouvées correctes.

Un projet de programmation est présenté en début du cours. Il est réalisé en groupe (typiquement en binome) et donne lieu à une soutenance.
Une feuille de TD est distribuée à chaque cours.
L'évaluation est réalisée sur la base d'un devoir sur table (2h) et de la note du projet.

La page du cours : http://www.di.ens.fr/~pouzet/cours/systeme/


(Cours Info: 9  ECTS à compter de 2013-2014, 6 ECTS auparavant

Validation: examen et projet.  Environ 48h cours/TD, 24h projet.

Cours du 2e semestre : cours et TD le  jeudi après-midi. Voir EDT : http://diplome.di.ens.fr/20162017emploiTempsan1Sem1.pdf

(maj descriptif: juin 2016)

Systèmes synchrones

(Marc Pouzet, Jean Vuillemin)


Les langages synchrones ont été crés pour programmer les systèmes réactifs embarqués à la fois très complexes et très sûrs. Ils ont connu, depuis, un succès industriel majeur dans la programmation de systèmes critiques: avions, trains, automobiles, centrales électriques, etc. Le système de commande de vol des Airbus, par exemple, est développé avec l'outil SCADE issu du langage synchrone Lustre.

Ces langages ont évolué sans cesse depuis pour traiter des applications et domaines nouveaux: calcul vidéo intensif (TVHD); grandes simulations (réseaux électriques, réseaux de capteurs); systèmes mixtes continu/discrets (environnement physique, interface analogique/discret en électronique).

Ils sont fondés sur un modèle original dit du parallélisme synchrone qui combine parallélisme et déterminisme. Le programme est décrit dans un langage parallèle de haut niveau mais pour lequel le compilateur garantit des propriété de sûreté fortes: sémantique déterministe, absence de blocage (deadlock), génération de code séquentiel s'exécutant en temps et mémoire bornés, etc. En somme, les langages synchrones permettent de programmer dans un formalisme de haut niveau, le code final embarqué étant produit directement par le compilateur.

Le cours donne une introduction au modèle synchrone et aux principaux langages qui en sont issus. Il présente leurs fondements sémantiques et logiques, les techniques de compilation vers du logiciel et des circuits, leur vérification formelle (par model-checking) et certains travaux de recherche récents. Nous montrerons dans ce cours les liens étroits entre la théorie des langages synchrones et la théorie des langages fonctionnels typés.


(Cours MPRI 2-23-1 : 3 ECTS)

Pour plus de renseignements sur ce cours, consulter sa page sur le site du MPRI : https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-23-1

Théorie de l'information et codage English

(Anne Bouillard)



Ce cours présente la théorie de l'information et du codage dans un cadre discret.
On s'intéresse à la quantité d'information contenue dans un message et aux moyens de transmettre ce message à travres un canal bruité.
On s'intéresse donc à la fois aux méthodes de compression des données et aux méthodes de détection et de correction d'erreurs.

I - Compression des données : taux de compression et entropie ;
algorithme de Huffman, Ziv-Lempel et optimalité

II - Canal de transmission : capacité d'un canal, théorème de Shannon

III - Codes correcteurs d'erreurs : codes linéaires, codes cycliques,
code de Hamming, codes BCH.

Bibliographie :

- R.J. McEliece, The Theory of Information and Coding, 1982.

- T. Cover, J. Thomas, Elements of Information Theory, Wiley, 1991.

- C. Shannon, A Mathematical Theory of Communication, 1948.

Page du cours  : http://www.di.ens.fr/~bouillar/ThInfo/


Cours Info : 12 ECTS à compter de 2016-2017, 9  ECTS en 2013-2014, 2014-2015 et 2015-2016, 6 ECTS auparavant)

A compter de 2016-2017, cours specifique de la filière Maths-Info.

Cours du 2e semestre : cours et TD le jeudi  matin.

Voir EDT:  http://diplome.di.ens.fr/20162017emploiTempsan1Sem2.pdf

(maj descriptif : juin 2016)

Traitement du Signal english

(Stéphane Mallat)

Ce cours présente le traitement du signal digital en lien avec les outils d'analyse harmonique, de probabilité et de statistique sur lequel il repose.

On verra des applications et algorithmes pour le traitements des sons et de l'image. Les sujets suivants seront couverts :

Chaque séance de cours sera suivi par un TD ou quelques TP sur ordinateur.

Les énoncés et les corrigés des TD se trouvent a : http://www.math.ens.fr/enseignement/fiche_cours.html?cours=90

Le polycopié du cours se trouve a  http://www.di.ens.fr/~mallat/papiers/Spoly.pdf

(Cours Info : 9 ECTS a compter de 2016-2017 mais  6 ECTS en 2012-2013 et 12 ects en 2013-2014, 2014-2015, 2015-2016  où ce cours était le cours spécifique de la  filière maths-info de L3) 

Cours du 2e semestre : cours et TD le mardi matin.

Voir EDT:  http://diplome.di.ens.fr/20162017emploiTempsan1Sem2.pdf

(maj descriptif : juin 2016)

10. Anciennes plaquettes d'enseignement English

Plaquette d'enseignement 2015-2016 en .pdf

Plaquette d'enseignement 2014-2015 en .pdf

Plaquette d'enseignement 2013-2014 en .pdf

Plaquette d'enseignement 2012-2013 en .pdf