Navigation
Academic Area Reservations
Academic Areas
Academic Classifications
Academic Sessions
Add Academic Session
Add Application Setting
Add Building
Add Course Credit Type
Add Course Credit Unit
Add Course Offering
Add Course Type
Add Curriculum
Add Date Pattern
Add Default Manager Setting
Add Department
Add Designator
Add Distribution Preference
Add Event
Add Event Date Mapping
Add Event Info
Add Event Meetings
Add Examination
Add Examination Distribution Preference
Add Examination Period
Add Examination Type
Add Instructional Type
Add Instructor
Add Instructor Attribute
Add Instructor Attribute Type
Add Instructor Role
Add Logging Level
Add Non-University Location
Add Position Type
Add Reservation
Add Role
Add Room
Add Room Feature
Add Room Feature Type
Add Room Group
Add Room Type
Add Solver Configuration
Add Solver Group
Add Solver Parameter
Add Solver Parameter Group
Add Special Use Room
Add Sponsoring Organization
Add Standard Event Note
Add Status Type
Add Student Accommodation
Add Student Group
Add Student Group Type
Add Student Scheduling Status Type
Add Subject Area
Add Teaching Responsibility
Add Time Pattern
Add Timetable Manager
Add User
Additional Distribution Constraints
Administration Reports
Advisor Course Recommendations
Alternatives for Class
Application Configuration
Application Of Preferences
Application.properties
Assign Instructors
Assigned Classes
Assigned Examinations
Assigned Teaching Requests
Assignment History
Attachment Types
Banner Academic Sessions
Banner Message Responses
Banner Offering Detail
Banner Offering Edit
Banner Offerings
Banner Term CRN Properties
Batch Student Solver Dashboard
Bugs
Building UniTime
Buildings
CAS Authentication
CPSolver
Chameleon
Change Log for Student
Change Message for Student
Changes
Class Assignment
Class Assignment Properties
Class Assignments
Class Detail
Class Duration Types
Class Schedule
Class Timetable
Classes
Classes for Student
Conflict-Based Statistics
Constraint Solver Howto
Contact Us
Course Credit
Course Credit Formats
Course Credit Types
Course Credit Units
Course Finder
Course Reports
Course Reservations
Course Timetabling Solver
Course Timetabling Solver Log
Course Types
Credits
Current User
Curricula
Curriculum Detail
Curriculum Projection Rules
Curriculum Requested Enrollments
Curriculum Schedule
Curriculum Timetable
Custom Room Availability
Customizations
Data Exchange
Date Patterns
Default Academic Session
Default Manager Settings
Departmental Schedule
Departmental Timetable
Departments
Designator List
Distribution Preferences
Distribution Types
Eclipse
Edit Academic Session
Edit Application Setting
Edit Building
Edit Class
Edit Course Credit Format
Edit Course Credit Formats
Edit Course Credit Type
Edit Course Credit Types
Edit Course Credit Unit
Edit Course Credit Units
Edit Course Offering
Edit Course Type
Edit Course Types
Edit Curriculum
Edit Date Pattern
Edit Default Manager Setting
Edit Department
Edit Designator
Edit Distribution Preference
Edit Distribution Type
Edit Event
Edit Event Date Mapping
Edit Event Date Mappings
Edit Event Status
Edit Event Statuses
Edit Examination
Edit Examination Distribution Preference
Edit Examination Period
Edit Examination Type
Edit Examination Types
Edit Instructional Type
Edit Instructor
Edit Instructor Attribute
Edit Instructor Attribute Type
Edit Instructor Attribute Types
Edit Instructor Role
Edit Instructor Roles
Edit Logging Level
Edit Logging Levels
Edit Manager Setting
Edit Offering Consent Type
Edit Offering Consent Types
Edit Permission
Edit Permissions
Edit Point In Time Data Snapshot
Edit Point In Time Data Snapshots
Edit Position Type
Edit Position Types
Edit Reservation
Edit Role
Edit Roles
Edit Room
Edit Room Availability
Edit Room Departments
Edit Room Event Availability
Edit Room Feature
Edit Room Feature Type
Edit Room Feature Types
Edit Room Features
Edit Room Group
Edit Room Groups
Edit Room Preference
Edit Room Type
Edit Scheduling Subpart
Edit Solver Configuration
Edit Solver Group
Edit Solver Parameter
Edit Solver Parameter Group
Edit Sponsoring Organization
Edit Standard Event Note
Edit Status Type
Edit Student Accommodation
Edit Student Accommodations
Edit Student Group
Edit Student Group Type
Edit Student Group Types
Edit Student Groups
Edit Student Scheduling Status Type
Edit Student Scheduling Status Types
Edit Subject Area
Edit Teaching Responsibilities
Edit Teaching Responsibility
Edit Time Pattern
Edit Timetable Manager
Edit User
Email
Enrollment Audit PDF Reports
Enrollments of Class or Course
Event Date Mappings
Event Detail
Event Reports
Event Room Availability
Event Room Selection
Event Schedule
Event Service Providers
Event Statuses
Event Timetable
Events
Exact Time Pattern
Exam Naming Convention
Exam Timetable
Examination Assignment
Examination Assignment Changes
Examination Conflict-Based Statistics
Examination Detail
Examination Distribution Preferences
Examination PDF Reports
Examination Periods
Examination Reports
Examination Schedule
Examination Solution Properties
Examination Solver
Examination Solver Log
Examination Solver Status
Examination Statuses
Examination Timetable
Examination Timetabling
Examination Types
Examinations
Exporting Solver XML
Frequently Asked Questions
Hibernate Statistics
Instructional Methods
Instructional Offering Configuration
Instructional Offering Cross Lists
Instructional Offering Detail
Instructional Offerings
Instructional Types
Instructor Assignment Preferences
Instructor Attribute Types
Instructor Attributes
Instructor Detail
Instructor Preferences
Instructor Roles
Instructor Scheduling
Instructor Scheduling Solver
Instructor Scheduling Solver Log
Instructors
LDAP Authentication / Lookup
Last Changes
Limit and Projection Snapshot
Localization
Logging Levels
Lookup Classes
Lookup Examinations
Main Page
Majors
Manage Instructor List
Manage Solvers
Manager Settings
Mass cancel...
Meetings
Minors
Multiple Class Setup
Not-Assigned Classes
Not-Assigned Examinations
Not-Assigned Teaching Requests
Offering Consent Types
Online Student Scheduling Dashboard
OpenStreetMap
Page Statistics
People
People Lookup
Permissions
Personal Examination Schedule
Personal Schedule
Personal Timetable
Point In Time Data Reports
Point In Time Data Snapshots
Position Types
PostgreSQL
Published Schedule Runs
Reservations
Roles
Roll Forward Banner Session
Roll Forward Session
Room Availability
Room Detail
Room Feature Types
Room Features
Room Groups
Room Schedule
Room Timetable
Room Types
Rooms
SVN
Saved Timetables
Scheduling Dashboard Filter
Scheduling Subpart Detail
Scripts
Select Academic Session
Select User Role
Send email...
Setup Examination Periods
Setup Teaching Requests
Solution Properties
Solution Reports
Solver
Solver Configurations
Solver Groups
Solver Load Balancing
Solver Log
Solver Parameter Groups
Solver Parameters
Solver Status
Solver Warnings
Sponsoring Organizations
Standard Event Notes
Status Types
Structure of Distribution Preferences
Student Accommodations
Student Advisors
Student Conflicts
Student Course Requests
Student Group Types
Student Groups
Student Luch Break
Student Scheduling Assistant
Student Scheduling Status Types
Student Sectioning Dashboard
Student Sectioning Reports
Student Sectioning Solution Properties
Student Sectioning Solver
Student Sectioning Solver Log
Subject Areas
Subject Schedule
Subject Timetable
Suggestions
Task Details
Task Scheduler
Teaching Assignment Changes
Teaching Assignment Detail
Teaching Assignments
Teaching Request Detail
Teaching Responsibilities
Test HQL
Time Patterns
Timetable
Timetable Managers
Timetables
Timetabling
Timetabling Benchmarks
Timetabling CVS Access
Timetabling Development using MyEclipse
Timetabling Development using NetBeans
Timetabling Installation FAQ
Tips and Tricks
Types of Distribution Preferences
UniTime 4.5 Online Documentation
UniTime Installation
Update Meetings
Users (Database Authentication)
 

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):

  • List of instructors (e.g., teaching assistants) that can be used for instructor assignment

  • Maximal load of an instructor (could be in hours or any other arbitrary units)

  • Teaching preference (from strongly preferred to prohibited)

  • Attributes of the instructor

  • Time requirements and course preferences

  • Distribution preference (back-to-back, same days, and same rooms are considered)


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

  • Each teaching request contains a number of instructors needed and the teaching load

  • Whether the instructor is to be assigned as course coordinator

  • List of classes that the instructor would teach (usually following the parent-child relation)

  • List of additional classes during which the instructor must be available (e.g., the lecture)

  • Additional information that should be copied over to the instructor assignment (percent share, lead, teaching responsibility)

  • Some classes may be allowed to overlap in time, in which case the overlapping time is to be minimized

  • Instructor and attribute preferences and requirements

  • For instructors that can have multiple assignments, there is a preference for the assignments to be of the same course (e.g., a different Lab-Rec pair) and/or to share the same common part (e.g., the lecture)


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

  • Maximal load of the instructor (each teaching assignment has a load defined, and there is a maximal load defined on each instructor)

  • The instructor must be available (unless allowed, there is no other overlapping teaching assignment, the assignment is not during a prohibited time and, if the instructor is also student, he/she does not have any classes at the time of the assignment)

  • Instructors with prohibited teaching preference cannot be used

  • Required and prohibited attribute, instructor, course preferences must be obeyed

  • Required and prohibited same course, same common must be obeyed

  • Required and prohibited back-to-back, same day, same room constraints that are set on the instructor must be obeyed


The optimization criteria (soft constraints) include

  • If time overlaps are allowed, minimize the total overlapping time

  • Maximize the number of satisfied soft preferences (strongly preferred, preferred, discouraged, or strongly discouraged) based on teaching, time, attribute, instructor, course preferences, same course and same common constraints, and back-to-back, same day, same room distribution preferences

  • Maximize original assignment in the MPP mode (Minimal Perturbation Problem)

  • If a teaching request require two or more instructors, different instructors must be used

  • Minimize unused instructor load for instructors with one or more assignments (that is the difference between the maximal load of the instructors and the sum of the loads of the assigned teaching assignments)


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.


Updated on Kvě 10, 2017 by Tomáš Müller (Version 1)