Published on February 13, 2010.
TweetIl s’agit d’un concours national français d’informatique mit en place en 1991 (et non pas 97, merci à Alexis) ayant pour but de tester les participants sur le capacité à concevoir un algorithme répondant à un sujet précis, ainsi que leur capacité à l’implémenter dans le langage de leur choix.
Le concours se déroule en trois étapes :
Les présélections se déroule à distance. Vous devez envoyer par la poste ou par le formulaire en ligne dédié (plus efficace, disons le tout de suite) vos réponses à un QCM portant sur une culture générale informatique, ainsi qu’à une série de sujet d’algorithmique. Les réponses sont évaluées par les organisateurs, puis les participants sont triés et sélectionnés suivant leur note.
Les candidats restants sont soumis à une épreuve théorique de 3h : ils doivent établir une suite d’algorithmes pour répondre au sujet. Ensuite vient l’épreuve pratique (ou “machine”) : ils se voient recevoir successivement jusqu’à 7 sujets de difficulté croissante, auxquels ils doivent répondre par un programme qui subit une batterie de tests afin de valider son fonctionnement.
Un sujet est donné aux candidats. Ils doivent y répondre en 36h. En général il s’agit de développer une intelligence artificielle pour un jeu développé pour l’occasion.
Un soir où je m’ennuyais ferme, je cherchais donc de quoi m’occuper. Complètement par hasard, au fil des liens de la toile je me suis retrouvé sur http://prologin.org. Tiens, un concours d’informatique français pour les moins de 20 ans. Mais encore ? Après avoir lu (en diagonale) les diverses pages d’information du site j’ai décidé, pour le fun et tuer l’ennui de compléter le formulaire d’inscription. Mes algos paissaient, j’avais répondu au QCM, allez, j’me lance. 1 mois plus tard, j’ai reçu un email comme quoi j’avais été sélectionné pour la demi-finale du concours. Il me semble) que mon expression a été relativement claire : woot!
Pourquoi pas après tout. Me voila alors aujourd’hui samedi 13 février à Lyon pour le concours. J’avoue n’avoir absolument pas bossé pour par manque de temps, étant déjà très pris pour assurer mes résultats scolaires.
Bref, il est 8h45 et j’entre dans le bâtiment marqué sur le plan qui accompagnait la convocation. Un type à l’air sympathique m’affirme que je viens pour le Prologin. Ça devait être écrit sur ma tête, ou bien c’était mon allure de touriste perdu qui l’a aiguillé. 5 minutes après, j’attaque le petit dej’ offert. Sur le papier, ce moment est décrit comme étant fait pour que “les candidats fassent connaissance”. En pratique, tout le monde est dans le pâté, et à part un groupe, personne ne fait signe de communication.
9h, début de l’épreuve théorique. Je ne m’attendais vraiment pas à ça. En fait, je n’avais pas d’idée précise et définitive de ce à quoi pouvait ressembler un sujet de d’algo. J’ai été très déçus, par plusieurs points. Premièrement, le sujet était très brut: le site décrit l’épreuve comme étant une suite d’algorithme pour une problématique générale. Ils n’ont pas vraiment fait preuve d’imagination ici : “Monsieur X aime beaucoup utiliser des algorithmes pour diriger sa vie, c’est ce que nous allons faire” (bon ok, le sujet n’était pas posé comme ça, je l’écris de tête dans le train). Deuxièmement, et c’est là le plus gros : c’est mon manque de théorie qui s’est fait sentir. Je me suis rendu compte que je n’avais quasiment jamais manipulé d’arbres, or le sujet consistait à définir une structure de donnée puis à implémenter une série de fonctions. On pouvait, d’après la correction rapide d’un des organisateurs, utiliser une autre structure, mais je n’ai pas réussi à retenir le nom.
Vers la fin de l’épreuve, j’ai eu le droit à mon entretien. Il s’est je pense pas trop mal passé, mais j’ai eu très honte lorsque que je n’ai pas su répondre aux questions “qu’elle est la complexité du tri par bulles ?” et surtout “qu’est-ce que vous aimez à par l’informatique ?”. Oups.
12h, pause pizza. Il y avait déjà beaucoup plus d’ambiance que le matin, ça discutait pas mal à ma table. Ça m’a permit de me rendre compte qu’une bonne partie des candidats étaient en IUT ou prépa, c’est à dire avec de plus ou moins solides connaissance en algorithmique. Cependant j’ai vu aussi que je n’étais pas le seul à être déboussolé et très limité par mon côté autodidacte (qui est, soyons franc, bien moins efficace qu’un cours traditionnel).
13h30, début de l’épreuve machine. Enfin, début théorique de l’épreuve machine : nous n’avons démarré qu’à 14h. En effet, l’installation n’est pas vraiment au point. Je ne blâme aucunement les organisateurs car nous étions dans les locaux d’une école de commerce, donc pas nécessairement orientés vers le bidouillage et l’écriture de code. Le fond du problème certainement : toutes les machines sous Windows XP. Je ne pense pas qu’on ne puisse développer sous windows. Juste qu’il agit en bel obstacle à votre efficacité. Ensuite, pour des raisons diverses, certains programmes, tels que bash et codeblocks (entre autres) ne fonctionnaient pas sur certaines machines, et ce de manière assez aléatoire. J’ai d’ailleurs moi même été obligé d’utiliser Internet Explorer 7 au lieu de Firefox pour interagir avec le serveur du concours. Oui, IE est bien le seul navigateur que je connaisse tel que le clic-droit mette en moyenne 5 secondes à se manifester. De manière globale, les épreuves se sont bien passées. D’après leur classement, j’ai fais 5ème sur environ 35. J’espère que les sujets seront bientôt en ligne, j’aimerais bien trouver une solution à ceux que je n’ai pas su faire.
18h, c’est la fin. Direction gare de la Part-Dieu pour 2h30 d’attente afin de rentrer chez soit (il faudrait d’ailleurs m’expliquer pour la SNCF note “train à l’heure” dans le champs “particularité” du tableau d’arrivée des trains).
Bien sympathique. Que j’aille en finale ou non, je me serais quand même bien amusé et j’en aurais appris pas mal. À l’avenir, j’essayerais de bien faire attention à la complexité de mes algorithmes !
Spoiler : billet rédigé dans le train avec Ommwriter. C’est fou ce qu’on écrit bien plus quand on a rien qui nous embête.
Edit: sélectionné pour la finale !