Aller au contenu

Projet:ENS Rennes algorithmique 2021

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 3 février 2021 à 11:47 et modifiée en dernier par Naereen (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

Les élèves du département informatique (et maths !) de l'ENS Rennes s'unissent pour améliorer certains articles Wikipédia relatifs à l'algorithmique, pour le cours ALGO2 au printemps 2021.

Projet supervisé par Lilian Besson et François Schwarzentruber.

Calendrier

  • janvier : discussion entre vous, choix d'un binôme ;
  • début février : lisez ces ressources pour apprendre à éditer Wikipédia :
  • début février : première séance en classe (mardi 02/02/21), via Discord. A faire maintenant : discussion pour choisir un sujet (à valider par l'équipe enseignante) ;
  • février-mars : projet première partie ;
  • avril : deuxième séance en classe (mardi 06/04/21), via Discord ;
  • avril : projet deuxième partie ;
  • fin du semestre : fin du projet, évaluation par Lilian Besson.

Prérequis et tutoriels

Nous ne supposons pas que vous soyez déjà familiers avec l'édition et la conception de pages Wikipédia, mais familiers avec l'utilisation de Wikipédia pour vos études ou votre culture générale.

  • Nous insistons sur les règles principales de l'encyclopédie :
    • il faut citer vos sources, comme dans un article de recherche. Il faut préférer des livres, ou articles de recherches, à des postes de blogues. A défaut, des ressources d'enseignant-e-s sont possibles ;
    • neutralité et proportion ;
    • et aussi l'interdiction du travail inédit : surtout pour un tel (petit) projet on ne vous demande pas de découvrir de nouveaux algorithmes, de trouver des nouvelles preuves etc. Mais produire une nouvelle illustration, traduire une preuve déjà présente sur Wikipédia en anglais, trouver une preuve ou un exemple supplémentaire dans un livre, ce sont des bonnes pistes.

Attendu du projet

En amont : il faudra lire une ou des sources (livres, articles de recherche). Voici quelques idées de tâches à réaliser :

  • Écrire des explications d'un ou de plusieurs algorithmes, et/ou un pseudo-code.
  • Écrire une démonstration pertinente.
  • Créer des illustrations et des animations. Pour cela, implémenter des algorithmes qui génèrent les illustrations
  • Citer des sources aux pages (livres, articles de recherche). Évitez les pages de cours pour les sources, sauf cas particulier, mais elles peuvent vous aider en amont (beaucoup citent des livres !).

Toutes ces tâches demandent d'éditer une (ou plusieurs) page(s) Wikipédia, en français. D'autres tâches (bonus) peuvent être :

  • Créer une vidéo courte qui présente l'algorithme, votre implémentation, vos contributions sur Wikipédia, et la diffuser en ligne si vous avez envie (YouTube ou autre). Le format à suivre peut être [la vidéo de François Schwarzentruber sur l'algorithme du Simplexe] ;
  • Ajouter vos modifications (notamment les figures) à des pages en anglais, ou dans d'autres langues que vous maîtrisez (vous pouvez collaborer avec d'autres binômes pour traduire en espagnol, allemand, tamoul, italien, etc).

Idées de sujets

  • Algorithmes étudiés en cours d'ALGO1 insuffisamment illustrés sur Wikipédia ;
  • Algorithme sur les flots, ou les couplages max ;
  • Tas de Fibonacci ;
  • Structures de données probabilistes : filtres de Bloom, skip list, etc ;
  • Algorithmique géométrique : calcul d'enveloppe convexe, deux points les plus proches, quadtree etc ;
  • Repliement d'ARN (protein folding) ;
  • Algorithmes utilisés dans la société française : calcul des impôts, des retraites, ParcourSup, affectations des professeurs du secondaire, etc. ;
  • Traduction (anglais > français ou autre) de pages d'algorithmiques ;
  • Algorithmes d'apprentissage statistique (supervisé, non supervisé, par renforcement) ;
  • Algorithmique quantique ;
  • Problèmes NP-complets (avec leur réduction) listés par exemple dans cette liste de problèmes, en regardant ceux qui n'ont pas (encore) de pages Wikipédia en français.

Mais nous refuserons les idées sur les pages trop génériques comme Algorithmique ou théorie de la complexité, ou sur des principes d'algorithmique (par exemple programmation dynamique, diviser pour régner, etc).

Autres idées :

  • Idée pour ceux et celles plus intéressé-e-s par l'enseignement : regardez les programmes d'enseignements d'informatique, du ISN en seconde, NSI en première et terminale au lycée, au programme d'informatique (option D) à l'agrégation de mathématiques, en passant par les programmes d'option info en MPSI/MP, d'info tronc commun en prépa scientifiques, et d'info en prépa MPII/MPI. Les algorithmes évoqués doivent tous avoir une page Wikipédia, qui peut évidemment être améliorée, complétée, etc. Si un algorithme ou un point d'un programme n'est pas présent, créez la page Wikipédia et remplissez !

Conseils pour bien réussir le projet

  • Respectez les dates successives ! Ne vous y prenez pas au dernier moment !
  • Avant de créer une page Wikipédia, créez un compte (pour votre binôme ou seul-e), et demandez aux profs de valider votre choix ;
  • Avant d'écrire à partir de rien une page en français, vérifiez qu'il n'existe pas déjà une page anglaise (ou allemande, ou espagnole, ou dans une langue que vous maîtrisez) ;
  • Gardez une trace de vos contributions, dans un document annexe (au cas où votre modification échoue ou se fait annuler) ;
  • Travaillez vraiment en binôme !
  • Tenez informés les profs de vos (grandes) étapes de travail, qu'elles soient positives (sujet trouvé, référence intéressante étudiée, code avancé, figure réussie, etc) ou négatives (pas de référence, difficulté d'implémentation, figure peu claire, etc). Par Discord, par messages publics dans #projet-wikipédia : de toutes façons, vos modifications dans Wikipédia sont toutes publiques !

Qui fait quoi ?

A vous d'éditer cette partie, écrivez une liste sous le format suivant :

  • Morand Clément (Blubrom) & Houdaille Philémon (Menshir) : Traduction de la page sur Circuit-SAT - OK validé par Lilian
  • Leothaud Dylan & Sourisseau Manon : Sujet : algorithme de Bron-Kerbosch - OK validé par Lilian
  • Degioanni Théo & Rodet Matthieu : Traduction et extension de la page sur l'algorithme de Chandy-Lamport (Algorithmie distribuée) - OK validé par Lilian
  • Martayan Igor & Correnson Arthur : filtre de Bloom, algorithme d'Ukkonen - OK validé par Lilian
  • Arthur Dumas et Anima Libera (pseudo) sur Cycle rank - OK validé par Lilian
  • Drakzia & Issemini : Traduction et extension de la page Algorithme de Ford-Fulkerson - OK validé par Lilian
  • Charles D. & Etienne O. : Sujet : Algorithme NEAT
  • Bartlett Gabriel & Courtillat--Piazza Ludmila : sujet blabla TODO
  • Erlich Enzo : sujet blabla TODO
  • Acher Quentin & ‪Genoù Krampouezh : sujet blabla TODO
  • Ziqian YIN & Liam IMADACHE & Brian FLANAGAN : blabla
  • AriaNovella & VVS902 : programme d’enseignement informatique blabla
  • Nom1/pseudo1 & Nom2/pseudo2 : sujet blabla sur ce truc là (puis lien vers la page https://fr.wikipedia.org/wiki/Page)
  • (pseudos possibles si vous préférez l'anonymat, mais vous nous direz qui est qui, en privé)

Comme des bénévoles de Wikipédia nous l'ont suggéré, pour un suivi plus efficace, nous allons recenser ici les articles traités, comme ça les profs et des volontaires pourront ainsi les mettre dans leur liste de suivi.