GithubHelp home page GithubHelp logo

keyber / edt-util Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sustudentdevs/code-java

0.0 0.0 0.0 177 KB

Algorithme d'aide à la création d'EDT

License: GNU General Public License v3.0

Java 100.00%

edt-util's Introduction

ÉNUMÉRATION

Algorithme servant à lister les combinaisons de matières possibles ("sans chevauchement").

MISE EN SITUATION

(UPMC, année scolaire 2017/2018, L3 S6 mono informatique, logiciel utilisé : Novotip).

Ayant seulement à disposition l'ensemble des créneaux horaires des 15 UE disponibles (cf https://github.com/SUStudentDevs/Code-Java/blob/master/Ressources/edt%20S6.png), nous devons choisir 5 UE à suivre.

Théoriquement, il y a 5 parmi 15 soit 3003 combinaisons possibles.

En pratique, même avec tous les groupes de TD libres, seulement 1066 combinaisons fonctionnent. Il y a donc au minimum 65% de chance qu'une demande naïve de 5 UE soit refusée.

Concernant le choix des groupes, une fois nos 5 UE choisies, il faut choisir un groupe de TD pour chaque UE. (Le nombre de groupe varie selon les UE). Théoriquement, pour une combinaison de 5 UE, le nombre de possibilités est égal au produit du nombre de groupe de chaque UE. Dans notre cas, cela donne 135 368 possibilités. En pratique, il y en a seulement 4635 (3,4%).

L'algorithme cherche donc à fournir la liste des combinaisons correctes.

ENTRÉE :

  • Liste des UE
  • Pour chaque UE, créneaux horaires de son amphi et de ses groupes de TD

SORTIE :

  • Liste des combinaisons de 5 UE, telles que pour toute UE, on puisse assister à son amphi et appartenir à au moins un groupe de TD
  • Pour chaque combinaison d'UE, choix possibles de groupe de TD

REMARQUES :

  • Tous les groupes de TD sont supposés libres.
  • Il est donc inutile (mais pas incorrect) de fournir en entrée deux TD de la même UE ayant lieu au même instant.
  • Dans un deuxième temps, étant donné la liste exhaustive des TD et des amphis ainsi que les listes de choix des étudiants, un deuxième algorithme retournera le voeu accordé à chaque étudiant.

TODO :

  • Permettre à l'utilisateur d'ordonner les résultats par ordre de préférence d'UE (fait)
  • Gérer des UE à 3 ECTS
  • Gérer les étudiants en UE projet
  • Gérer des UE possédant plusieurs créneaux pour leur amphi
  • Gérer des groupes de TD pour lesquels les créneaux ne sont pas consécutifs
  • Gérer les majeure, mineure, double majeure

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.