Course scheduling can be generalized as a planning problem. Although planning has long been a focus of artificial intelligence, from a usability and efficiency standpoint, general-purpose planners are not necessarily ideal for generating course schedules. From a usability standpoint, general-purpose planners often use input formats that are either awkward to use for representing degree requirements (e.g. PDDL) or overly complex for a user not familiar with discrete mathematics (e.g. temporal logic input). From an efficiency standpoint, some general-purpose planners may have trouble in the course scheduling domain (see thesis). We have developed a system for creating course schedules that aims to be both usable and sufficiently efficient for this problem domain. Our system uses a generalizable technique for solving planning problems via translation into relational logic. Additionally, domain-specific features, such as the ability to input partially complete schedules and a simple syntax for expressing degree requirements, aid in making the system more usable by the general student body.