2022-08-18 00:19:29 -07:00
2022-07-01 17:37:37 -07:00
2022-06-24 14:55:36 -07:00
2022-07-01 17:38:22 -07:00
2022-08-18 00:19:29 -07:00

Schedule Generator

Hello there! This is the standalone repository for the schedule generator from my school-management-api project.

The algorithm reads student requests and generates a timetable for all requested classes and fills them with students, giving the students their own schedules.

The algorithm has been moved out of tinker.py into its own python script. Version 1 and 2 are removed and the script can be found in the /scheduleGenerator folder. The algorithm has come a long way; using real 2018 course selection data from my school, enabling me to better test the script. V3 has a entirely different approach from V1 and V2, that you can read about at the top of the function in generator.py. The function is broken up into 6 steps, each step is labeled within the function with a comment, giving a brief explination of what that step contributes to the algorithm.

Here is the list of commands.

  1. Collect latest data from files and generate timetable
  $ ./tinker.py
  1. Collect Data and store it in files for later
  $ ./tinker.py generate_data
  1. Generate timetable from existing files (faster), requires last command run
  $ ./tinker.py no_refresh
  1. More details on errors
  $ ./tinker.py errors

This is the output after running it with the following command.

  $ ./tinker.py no_refresh

preview


A more in depth error log can be read with the additional argument

  $ ./tinker.py errors

preview

S
Description
The standalone Algorithm, schedule generation from my school-management-api project
Readme
381 KiB
0 Stars 1 Watchers 0 Forks
Languages
Python 100%