Bienvenue sur le site de l'épreuve pratique d'algorithmique et programmation du concours commun des écoles normales supérieures

ENS Bretagne
ENS Lyon
ENS Cachan
ENS

Adresse originale du site : http://www.ens-lyon.fr/LIP/ConcoursInfo

Modalités de l'épreuve
Objectifs de l'épreuve
Déroulement de l'épreuve

Configuration matérielle et logicielle

Image disque d'entraînement

Renseignements
pratiques

Archives
Les écoles normales supérieures

 

Important: Une image disque est à votre disposition pour vous mettre en condition pour l'épreuve. Il est vivement conseillé de l'utiliser afin d'éviter de perdre du temps sur des problèmes techniques lors de l'épreuve. Veuillez consulter la section image disque

Modalités de l'épreuve (à lire attentivement)

L'épreuve se déroulera à l'École normale supérieure (rue d'Ulm, Paris), les 18, 19, 20 et 21 juin, et 2, 3, 4 et 5 juillet 2016.

Comme lors des éditions précédentes, l'épreuve se décomposera en 3 parties:

1) Installation devant l'ordinateur et familiarisation avec l'environnement (10 min)

Ces 10 minutes permettent au candidat de se familiariser avec la machine et l'environnement de programmation. Il peut alors poser librement toutes les questions qu'il souhaite, en particulier sur les langages et interfaces.

2) L'épreuve sur ordinateur (3 h 30 min)

Après les 10 minutes d'installation, les sujets sont distribués et l'épreuve démarre. Le texte du sujet est accompagné d'une fiche réponse où devront être consignés les résultats numériques demandés dans le sujet, dans les cases correspondantes.

Durant cette partie de l'épreuve, le candidat répond aux questions numériques en remplissant la fiche et prépare l'interrogation orale qui va suivre.

Des feuilles de brouillon sont tenues à la disposition des candidats. Nous recommandons à chaque candidat de recopier proprement sur ces feuilles les algorithmes qu'il aura mis en oeuvre pour pouvoir les présenter clairement et rapidement à la demande de l'examinateur lors de l'oral qui suivra.

3) Remise de la fiche réponse et présentation orale des résultats lors d'un entretien individuel au tableau (20 min)

À l'issue des 3h30, le candidat est accompagné à la salle d'interrogation avec ses notes de brouillon et sa fiche. Il remet à l'examinateur sa fiche réponse et l'oral commence.

La présentation orale du candidat se fait sous la conduite de l'examinateur qui pourra, par exemple, en fonction des résultats de la fiche, demander au candidat de décrire précisément les algorithmes mis en oeuvre sur telle ou telle question, d'en donner leur analyse de complexité (en temps ou espace) et éventuellement proposer au candidat de corriger tel algorithme s'il s'avère faux.

Cet oral permet au candidat de pouvoir présenter les algorithmes qu'il a mis en oeuvre. Il ne s'agit pas d'un oral d'algorithmique indépendant de l'implémentation sur machine. L'évaluation est basée avant tout sur la résolution effective des problèmes posés.

TRÈS IMPORTANT : étant donné la durée très courte de l'oral, chaque candidat doit impérativement préparer soigneusement cet oral pendant la partie sur machine en rédigeant proprement sur les feuilles (de brouillon à sa disposition) les algorithmes qu'il a conçus pendant la préparation sur machine, afin de n'avoir qu'à les recopier au tableau, si l'examinateur les lui demande. Les candidats peuvent (et doivent) emporter avec eux tout ce qu'ils ont écrit au brouillon pour passer l'oral.

Remarquez également que cet oral est trop court pour que le candidat puisse concevoir l'algorithme au vol, ou même prendre le risque de ne pas se souvenir correctement de ce qu'il a fait.

Objectifs de l'épreuve

L’objectif de cette épreuve est d’évaluer les capacités des candidats à mettre en œuvre la chaîne complète de résolution d’un problème informatique : analyse des spécifications abstraites, conception d’un algorithme et choix des structures de données, évaluation de sa complexité (coût en temps et en mémoire), programmation sur machine dans l’un des langages proposés, test des programmes sur des petites valeurs des paramètres, et exécution sur des valeurs précises des paramètres. À la fois algorithmique et pratique, cette épreuve est donc transversale et permet de tester la maîtrise du candidat sur la résolution concrète d’un problème informatique.

La salle

Déroulement de l'épreuve

À l'entrée dans la salle, les candidats sont invités à prendre place face à l'ordinateur où leur nom est indiqué. Cet ordinateur a été installé sous Linux Debian.

L'épreuve dure 4h10 en tout. Les 10 premières minutes permettent au candidat de s'installer et de se familiariser avec le système. À l'issue de ces 10 minutes, l'épreuve commence par 3h30 de préparation sur machine pendant lesquelles le candidat répond aux questions sur la fiche réponse et prépare la présentation orale de ses résultats. À la fin des 3h30, le candidat est accompagné avec sa fiche et ses notes à la salle d'interrogation orale où il présente ses résultats sous la conduite d'un examinateur.

Organisation pratique. Les candidats entrent dans la salle d'épreuve 4 par 4 toutes les 30 minutes, ce qui garantit que, pour chaque session, le dernier entre dans la salle d'examen avant que le premier n'en sorte.

Principe des sujets. Les questions portant sur les applications numériques sont posées de façon à pouvoir estimer la qualité et l'efficacité de la programmation : pour répondre juste aux questions portant sur des petites valeurs des paramètres, un programme simple et peu efficace suffit (voire pas de programme du tout) ; en revanche, pour les plus grandes valeurs des paramètres, un programme efficace (en temps et/ou en mémoire) est nécessaire.

Chaque candidat travaille sur des données différentes, générées à partir d'un nombre qui lui est donné individuellement au début de l'épreuve.

Dispositif de sauvegarde. Une clé USB (fixe) sera disponible sur chaque machine pour permettre aux candidats de sauvegarder régulièrement leur travail, afin de limiter les conséquences d'un éventuel (bien que peu probable) "crash" matériel ou logiciel. La clé ne sert de sauvegarde que pour la durée de l'épreuve. Il est également déconseillé aux candidats de travailler directement sur celle-ci. Cette clé est récupérée à la fin de l'épreuve par les examinateurs. En revanche, les éventuels programmes qui y seraient stockés ne sont en aucun cas examinés lors de l'évaluation. L'évaluation se fait donc uniquement sur la base de la fiche réponse et de l'interrogation orale (sans tenir compte des programmes présents sur la clé).

Réinitialisation des machines. Les disques durs des ordinateurs sont systématiquement restaurés dans leur état initial entre deux sessions. Ainsi tous les élèves travaillent sur une configuration identique quoi qu'ait pu faire le candidat précédent.

IMPORTANT. Il est strictement interdit d'importer des données (ou fichiers de configuration) sous quelque forme que ce soit (disquettes, CDRom, clés USB, clé bluetooth, airport,...) dans les ordinateurs du concours, sous peine d'exclusion immédiate du concours.

IMPORTANT : Changement par rapport aux éditions précédentes

Cette année, le concours se passera intégralement sous Linux. (Il n'y a plus possibilité de choisir Windows comme système d'exploitation). Pour vous entraîner, une image disque est mise à disposition : voir la section Image disque. Python fait désormais partie des choix de langages de programmation. Maple n'est plus proposé comme langage de programmation, et est remplacé par Scilab.

Configuration matérielle et logicielle

Matériel :

Système  : Linux avec l'environnement graphique XFCE.

Les langages proposés sont les suivants:

  • Python 3,
  • Objective Caml (avec emacs et tuareg-mode),
  • Caml Light (avec emacs et tuareg-mode),
  • C / C++ / Pascal / Java / Python 2 / Scilab.
Rappel: une pièce d'identité et la convocation sont indispensables pour passer les épreuves.

Image disque d'entraînement

L'image disque suivante vous permettra de vous mettre en condition pour l'épreuve. Il est vivement conseillé de l'utiliser afin d'éviter de perdre du temps sur des problèmes techniques lors de l'épreuve.

Image disque 2016: LiveCD_TPALGO2016.iso

Documentation : TPalgo.pdf

Archives

Concours 2015

Concours 2014

Concours 2013

Concours 2012

Concours 2011

Concours 2010


Concours 2009


Concours 2008


Concours 2007


Concours 2006


Concours 2005
Code à trois adresses
(u0 = 3, 25177, 50351, 75540)
Graphes d'intervalles
(u0 = 10, 20, 30, 40)
Labyrinthes
(u0 = 10, 20, 30, 40)
fichiers d'entrée: .zip
Généalogie
(u0 = 2, 20053, 39998, 60107)
Jeux à plusieurs et coalitions
(u0 = 1, 53, 223, 460)


Concours 2004

Concours 2003

Concours 2002

épreuve Zéro

Les écoles normales supérieures

Les départements d'enseignement en informatique des écoles normales supérieures ont pour vocation première de former des chercheurs ou enseignants-chercheurs de haut niveau en informatique. Cette formation conduit naturellement aux métiers de la recherche, publique (université, CNRS, INRIA, etc.) ou privée (recherche, ou recherche et développement).

Département d'informatique de l'ENS Cachan

Département informatique et télécommunications de l'ENS Cachan Bretagne

Département d'informatique de l'ENS Lyon

Département d'informatique de l'ENS (Paris)

Le site global du concours commun des écoles normales supérieures en informatique:
http://www.lsv.ens-cachan.fr/concours-ens/info-ens.html