Skip to content

DevNet-DEADBEEF/DEADWEEK

Repository files navigation

DEADWEEK

A simple exam scheduling tool.

How it works

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.

Algorithm

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.

Goals

  • Calendar preview
  • Simple gui
  • JSON output
  • Schedule generation take <5 seconds
  • Accept path names
  • Scheduler works at all

Stretch Goals

  • Manual overrides via calendar
  • ICS output
  • Batch processing

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages