A knowledge-based system for course scheduling

Abstract A knowledge-based scheduling system has been developed for the domain of university class scheduling. The problem addressed is how to schedule courses during the various time periods throughout the day. The class schedule must satisfy a variety of appropriate constraints. The system, written in Prolog, resolves conflicting assignments through backtracking. The inefficiency of Prolog's backtracking feature, with respect to this application, is partly circumvented by the use of a dynamic circular array. The system is now being used to help schedule industrial engineering classes at the Pennsylvania State University.