Instructor Scheduling

In UniTime 4.2, a new component for automatic assignment of instructors to classes or courses has been created. The instructors (e.g., teaching assistants) are expected to be assigned after the course timetabling and student scheduling is done, using information from both course timetabling (course timetable) and student scheduling (student availability).

The instructors that are to be automatically assigned to classes are included in the list of instructors (Instructors page), the distinction is made by their maximal load (zero means no automatic assignment) and teaching preferences (prohibited also means no assignment).

The automatic assignment can be based on various instructor attributes that can be defined globally or on a departmental level. These attributes can be grouped by type (e.g., skill or performance level, qualification, certification).

The following data are needed to be entered on instructors (see Instructor Assignment Preferences screen):

The following data are needed to be entered on courses (teaching requests):

Instructor scheduling considers various hard and soft constraints. The hard constraints include:

The optimization criteria (soft constraints) include

The instructor assignments can be computed automatically, using the instructor scheduling solver. After that, manual changes can be made with either the solver still running in memory (and providing suggestions) or without the solver in which case the assignment changes are made directly in the database.

The instructor scheduling problem is solved separately for each department. Only one solution can be saved for each department (like with the examinations). There is a commit process, however, and the actual instructor assignments and course coordinators are only populated when the solution is committed. Otherwise, the teaching assignments that were computed by the solver are only kept on the individual teaching request and they do not show outside of the department.

The instructor attributes can be entered on the Instructor Attributes page, or on the Instructor Assignment Preferences page (accessible from the Instructor Detail page) where additional information like the maximal teaching load and preferences can be entered. Teaching requests are defined on the Setup Teaching Request page (accessible from the Instructional Offering Detail page).

The instructor scheduling solver works much like any other UniTime solver. It can be loaded, unloaded, started, saved, etc. using the Courses > Instructor Scheduling > Instructor Scheduling Solver page. There is a Solver Log page, a page with assigned and not-assigned teaching requests, and a page with changes, and a page with teaching assignments. The Teaching Assignments page provides a view from the instructor perspective whereas the Assigned Teaching Requests (and Not-Assigned Teaching Requests) show the solutions from the teaching requests / courses perspective. Teaching requests and teaching assignments can be filtered by subject area or department, courses, instructors, or the individual attributes. More details are visible when a line (either a teaching request or a teaching assignment is clicked). The details page allows for manual assignments and can also provide suggestions (when the data are loaded in the solver). It can switch between details of a particular teaching request or a particular instructor.