A simple exam scheduling tool.
Given turtle files containing the courses, students, and rooms, DEADWEEK generates a schedule for the final exams.
It uses a constraint solver to ensure that no student has overlapping exams and that room capacities are not exceeded.
It will then give a simple preview of the schedule and prompts the user to save the output to a JSON file.
The algorithm does not use any formal graph theory, but simple an optimized brute forcer. We know where any given exam could be scheduled and we know exams it cannot be scheduled with. Given those two sets, we then sort the exams by most difficult to schedule to least difficult. Finally, exams are scheduled one by one and given to the UI as a dictionary.
- Calendar preview
- Simple gui
- JSON output
- Schedule generation take <5 seconds
- Accept path names
- Scheduler works at all
- Manual overrides via calendar
- ICS output
- Batch processing