Skip to content
This repository has been archived by the owner on Mar 4, 2020. It is now read-only.
/ autoschedule Public archive

An intelligent scheduling system for solving simple room scheduling problems.

License

Notifications You must be signed in to change notification settings

csmberkeley/autoschedule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

autoschedule

An intelligent scheduling system for solving simple room scheduling problems.

Setup

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

Starting a new semester

First, branch off of master.

git checkout -b {SEMESTER}

Room scheduling

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.

Student scheduling

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.

About

An intelligent scheduling system for solving simple room scheduling problems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published