5.4.8 Solving a New Scheduling Problem

It often happens that an object built for an earlier purpose can be valuably reused for an unanticipated function. This happened in the case of the degree audit object and a new functional requirement to automate scheduling for adult studies classes.

Adult studies classes are often offered in a sequential series of class offerings, where a student takes a series of classes one at a time. When a new program was developed for the extended education of day care workers, the classes needed to be scheduled in a way to optimize student attendance. The complexity was that which classes were necessary differed dramatically across students and it was difficult to determine how many students needed a particular class.

There was an easy solution to the problem, however, using the degree audit object. Every student’s transfer records were recorded in the system so that it was fairly easy to run a degree audit for all students signed up for a location and compare those results against the courses in the program to determine what was the course demand. That demand, along with identifying which students needed a course, could then be fed into an object specifying course demand, which could then be used to analyze the optimal schedule of class offerings.

Again, having the degree audit results in object form enabled those algorithms to be easily reused in the new function.