Médaille d’argent pour l’ENS au prestigieux concours international de programmation ICPC

Bravo à Arthur Léonard, Noé Weeks et Étienne Rossignol

Créé le
31 janvier 2023
En 2021, Arthur Léonard, Noé Weeks et Étienne Rossignol, étudiants au département d’informatique de l’ENS, étaient sélectionnés pour la finale de l’ICPC (International Collegiate Programming Contest), l’un des plus prestigieux concours internationaux de programmation.
 
En décembre 2022, après avoir affronté les meilleurs étudiants du monde lors d’une compétition intense, les normaliens ont décroché la médaille d’argent. Rencontre avec les trois jeunes lauréats, qui nous livrent leurs impressions après ce résultat inédit à plus d’un titre.
Arthur Léonard, Noé Weeks et Étienne Rossignol, étudiants au département d’informatique de l’ENS, médaillés d'argent de l’ICPC (International Collegiate Programming Contest)
Étienne Rossignol, Arthurd Léonard, Noé Weeks, étudiants au département d’informatique de l’ENS, médaillés d'argent de l’ICPC (International Collegiate Programming Contest)

Vous avez gagné la médaille d’argent au concours informatique international ICPC, en quoi consiste-t-il ?

Noé Weeks : L’International Collegiate Programming Contest, ou pour faire plus court, l’ICPC, est un concours d’algorithmique, interuniversitaire à échelle mondiale. Il se déroule en plusieurs phases : chaque établissement sélectionne d’abord un maximum de trois équipes afin de participer à une épreuve régionale de qualification. Pour nous, cette épreuve s’appelle le SWERC (South Western Europe Regional Contest), nous l’avons d’ailleurs remportée en 2021. Lors de celle-ci s’affrontent les équipes portugaise, espagnole, italienne, suisse, israélienne et française. Le podium de chaque région participe ensuite à la finale mondiale, l’ICPC, qui a eu lieu cette année à Dhaka, au Bangladesh.

Lors de cette finale, chaque équipe, composée de trois personnes, dispose pendant 5 heures d’un ordinateur non connecté à Internet, afin de résoudre une douzaine de problèmes.
Chaque problème est une description d'une tâche algorithmique à accomplir ; nous devons écrire un programme économe en mémoire pour la résoudre. Ce programme est ensuite exécuté sur des tests. S'il donne la bonne réponse suffisamment rapidement sur chaque test, l'équipe gagne un point. Celle qui résout le plus de problèmes en moins de temps gagne l’ICPC.

La notoriété et le renom de ce concours varie d’un pays à l’autre, s’il n’est pas encore très connu en France, aux États-Unis, en Chine, au Japon, en Corée du Sud, en Russie ou encore en Pologne, il est très réputé, et ces pays s’y préparent intensivement.

Pourquoi participer à ce concours ?

Noé Weeks : Je pense que tous les participants le font pour la même raison : par passion. Personnellement, je m’intéresse à l’algorithmique depuis plusieurs années, c’est un domaine extrêmement stimulant, qui demande beaucoup de créativité ainsi qu’une grande capacité de résolution de problèmes. Il était donc naturel pour moi de participer. J’adore résoudre des problèmes algorithmiques sur mon temps libre.

Arthur Léonard : Je participe également à l’ICPC par passion. Lorsque j'étais plus jeune, je m’entraînais déjà pour les Olympiades Internationales d'Informatique, avec l'association France-IOI. J'aime beaucoup ce genre de compétition ; cela apporte un peu de challenge pendant les études. Cela nous oblige aussi à connaître et à savoir manipuler l'implémentation de nombreux algorithmes. Ces concours nous rapprochent aussi un peu plus des aspects concrets de l'informatique, ce que ne permettent pas certains cours théoriques.

Étienne Rossignol : Le concours ICPC est, de manière générale, une expérience très enrichissante. C’est d’abord un concours à forte dimension internationale qui permet de rencontrer et d’échanger avec des passionnés du monde entier. Les épreuves ont d’ailleurs souvent lieu dans des pays que nous n’aurions vraisemblablement pas eu l’occasion de connaître autrement, comme cette année le Bangladesh.
D’un point de vue plus pragmatique, l’ICPC nous permet aussi de nous habituer à travailler en équipe, qui est une dimension centrale du concours. C’est très formateur.

Vous êtes aujourd’hui médaillés d’argent, qu’est-ce que ce résultat représente pour vous ?

Noé Weeks : Nous sommes extrêmement heureux d’avoir pu obtenir cette médaille d’argent, et c’est une première pour la France. Pour être franc, nous avons tous été surpris : je n’aurais jamais imaginé une aussi belle performance.
Pour l’anecdote, au bout de 4 heures d’épreuves, le classement ne s’actualise plus pour créer un peu de suspense. À ce moment nous étions environ vingtièmes. Nous avons ensuite résolu 3 problèmes pendant cette dernière heure, convaincus que nous allions être au mieux douzième, ce qui correspond à une médaille de bronze. Mais nos estimations étaient fausses et nous nous sommes finalement retrouvés sixièmes, l’équivalent de la médaille d’argent.
C’était une grande surprise de voir toutes les équipes que nous pensions meilleures que nous être appelées avant lors de la remise des prix.  

Arthur Léonard : Comme Noé le précise également, c’est une surprise d'avoir obtenu un si bon résultat, nous nous attendions plutôt à être dans le premier tiers des équipes seulement. Nous sommes donc très fiers !
Noé et moi repartons pour une nouvelle saison cette année, mais renouveler cette performance sera difficile.

Étienne Rossignol : C’est un résultat très bon, qui n'avait jamais été encore obtenu par l’équipe de l’ENS. Nous avons été effectivement surpris du résultat, comme l’expliquent Noé et Arthur. Je suis très heureux que notre équipe ait reçu la médaille d’argent, mais je pense qu’il ne faut pas négliger le facteur chance : parfois nous sommes plus ou moins bons sans raison précise !

Pensez-vous que cette victoire puisse vous ouvrir des portes dans le monde professionnel ?

Noé Weeks : Oui, cette participation à l’ICPC et plus largement à des compétitions informatiques m’a beaucoup apporté. Dans le secteur académique cela m’a déjà aidé à trouver des stages et dans le privé, beaucoup d’entreprises recherchent activement des anciens participants à ces compétitions. Nous avons d’ailleurs déjà été contacté par quelques-unes d’entre elles.  

Arthur Léonard : Même si je ne participe pas à l’ICPC par intérêt professionnel, ce concours ouvre certainement quelques portes. Par exemple, peu après notre médaille d’argent, j'ai été contacté par des entreprises de la finance, intéressées par mon profil.
Au niveau académique aussi, ce concours est reconnu, et au-delà de notre résultat, faire partie de la communauté ICPC permet d'élargir un réseau.

Avez-vous un conseil pour les étudiants qui souhaiteraient participer à l’ICPC ?

Noé Weeks : Participer à ce concours est une expérience incroyable : c’est l’opportunité de voyager dans des pays que nous ne visitons pas d’habitude. Venant de France, il est assez facile d’y participer car il y a moins de candidats que dans d’autres pays.
La question est plutôt de savoir comment s’y préparer. La meilleure façon est simplement de s’entraîner à résoudre des problèmes ! Il en existe des milliers sur Internet. C’est comme cela qu’on progresse, en travaillant sa capacité de réflexion, mais aussi en apprenant un éventail d’algorithmes utiles.

Arthur Léonard : Pour bien réussir ce concours, au-delà de l'entraînement en résolution de problème pur, il est important de former une équipe qui est prête à se réunir régulièrement
pour apprendre à travailler ensemble sur des sujets d'algorithmique divers.
Comme il n'y a qu'un seul ordinateur pour trois personnes durant le concours, il faut absolument bien se connaître et bien s’entendre, pour optimiser le temps d'utilisation au maximum.

Étienne Rossignol : Même si les problèmes à résoudre restent assez classiques, la préparation au concours impose un entraînement soutenu, pour apprendre les astuces et les principaux types de solutions. Par ailleurs, le travail d’équipe étant un aspect essentiel de la compétition, il est important de s’entraîner dès que possible ensemble et de préparer des stratégies de groupe. Enfin, n’oubliez pas de prendre du plaisir, cela reste la meilleure des motivations !

 

Le concours ICPC

 

L’International Collegiate Programming Contest (ICPC) est un concours annuel de programmation compétitive ouvert aux étudiants du monde entier. Chaque année, ce sont ainsi environ 50 000 étudiants et étudiantes de 3400 université qui s’affrontent dans plus d’une centaine de pays. Organisé en plusieurs étapes, la première phase de l’ICPC consiste en une sélection régionale. En Europe, il s’agit du concours SWERC (Southwestern Europe Regional Contest), qui permet d’accéder à la finale mondiale de l’ICPC. En 2022, l’équipe du MIT a remporté cette finale.

 

Un certain nombre d’anciens finalistes de l'ICPC sont aujourd’hui reconnus dans l'industrie informatique et de la recherche : Adam D'Angelo, ancien CTO de Facebook et fondateur de Quora, Nikolaï Dourov, cofondateur de Telegram, Matei Zaharia, créateur d'Apache Spark ou bien encore Craig Silverstein, premier employé de Google.