An intelligent scheduling system for solving simple room scheduling problems.
First, make sure you have a recent version of Python 3 and virtualenv on your system. Create a virtual environment to isolate all the required packages.
virtualenv -p python3 env
source env/bin/activate
pip install -r requirements.txt
Then, open Jupyter Notebook and open the iPython notebooks.
jupyter notebook
First, branch off of master.
git checkout -b {SEMESTER}
The first task is to collect mentor availability: create a Google Form with
multiple-choice checkboxes where each row represents the day and each column
represents a possible start time. Download the data into a file named
preferences.csv
.
The rest of the work is done in the room scheduling notebook.
Once rooms have been assigned, the room scheduling script should output a CSV
file containing all the assignments, room_schedule.csv
, which will be used
by the section scheduling notebook.
Collect student preferences for sections by taking the room schedule and generating control codes for each section. Students will mark their preferred sections by copy-pasting control codes into a Google Form. The system will then solve for the optimal assignment of students to sections.