Allocates tutors to tutorials based on Talloc availability. Handles:
- tute/lab format (1h Tutorial immediately followed by a 2h lab with a tutor/lab assist)
- Online and in-person availability py
pip install -r requirements.txt
- run the program:
python app/cli.py comp1531 <preferences_path.csv>, <timetable_path.csv>
These should be absolute file paths.
The solver may take up to a minute to find the best fit.
Sample timetable and preferences can be found in data_sample/
Clingo can be manually run on the solve files generated by the python code (if you need to modify the lps):
brew install clingo
clingo solve.lp facts/*.lp
CSE-tute-solver currently takes into account:
- Tutor Availability (hard limit)
- Tutor Clashes (hard limit)
- Tutor/Lab assist experience (Only those with teaching experience in a given course can Tutor that course)
- Online/In-person preference
- Tutor Capacity (Max number of tutorials and lab assists a tutor can take)
- Lab Assist Capacity (Max number of lab assists a lab assist can take)
Does not take into account:
- Tutor experience pairings: e.g. a first-timetutor (a previous lab assist) should ideally not be paired with a first time lab assist (this data is not available on Talloc)
- Tute/lab - a 1 hour tutorial followed by a 2 hour lab, these are contiguous (scheduled as 3 hour blocks)
- Can be online or in person.
- Tutor - the primary tute/lab teacher, will be present for the entire 3 hours of a tute/lab. Usually more experienced than the lab assistant, as they must have previous experience lab assisting or tutoring in the course.
- Lab Assistant - only present for the 2 hour lab (the last two hours of the tute/lab). Usually less experienced than the tutor. Can be a first time teacher.
- Availability Key (for a particular time):
- impossible 0
- dislike 1.1
- dislike-online-only 1
- possible 2.1
- possible-online-only 2
- preferred 3.1
- preferred-online-only 3
- Capacity (number of type they can take
- Max Tutorial (integer)
- Max Assistant (integer)
[] Fix the column headings for the timetable and preferences file to better match TALLOC