4. Developer Overview


The Schedule Tool is a collection of Courses, Instructors, and Classrooms grouped together to create a functional schedule that the University can use in its actual planning of quarters.

The tool has three main components:

The Course Database -- Holds information for all of the courses offered at the University.

The Instructor Database -- Holds information on all of the Instructors currently teaching at the University.

The ClassRoom Database -- Holds information on all of the availible classrooms the University has to offer.

These three databases contain all of the information the Tool needs to combine into a functional Schedule. Functional is defined as possible to support while conforming to the laws of physics and time, meaning that the schedule is phsyically possible to achieve. This includes no double-booking of an Instructor at the same time, and no double-booking of a classroom at the same time. These absolute constraints must be met on any schedule generated while other, more flexible, constraints are also satisfied to the greatest extent possible. This main operation, the "Generate Schedule" operation, will be the most difficult component of the tool to implement. It's algorithim must take into account all of the absolute and preferred constraints and output a schedule that is both physically possible and as "fair" as possible. The "fairness" measure is the result of a computation involving all of the Intsuctor prefrences and allows a way to quantify how successful an Instructor was in achieveing their desired schedule.

The tool also allows for students to view the previous/current/future schedules and leave feedback for the Administrator to read and consider in the creation of the schedule. These operations are self contained in the tool itself, meaning that the student does not need to know any information such as email addresses or domain names to leave feedback.


Prev: non-functional | Next: spec | Up: index | Top: index