Tutorials are an essential component of university teaching. Most tutorials are given by students employed as tutors. Allocating students to courses is non-trivial since all courses should be covered by the most suitable applicant, while at the same time tutor preferences (preferred courses, workload) and time table constraints should be considered. Furthermore other objectives, such as providing funding for PhD students, providing continuity (tutors should ideally tutor the same course several years in a row), and generating an appropriate workload.
In this project you will develop a web-based application which:
(a) Enables students to apply for a tutor position and specify preferences and restrictions
(b) Enables course supervisors to provide requirements (e.g. number of tutors, type of number of tutorials)
(c) Generates an optimal allocation of tutors to courses subject to constraints and requirements.
Ideally constraints should be obtained using existing university services, such as course and timetabling information, and previous years’ tutor allocations.
1. Analysis of existing tools used for tutor allocation or similar applications assigning people to tasks/jobs.
2. Requirement analysis and technology evaluation to select the most suitable development tools
3. Analysis of algorithms to generate “optimal” allocations
4. Design and implementation of a prototype of a tool for simplifying the tutor application, selection, and allocation process.
5. User evaluation (both student and course coordinator interface)
6. Evaluation of effectiveness (to what degree is the resulting assignment “optimal”?)
Lab allocations have not been finalised