The course scheduling problem as a source of student projects

The course scheduling problem is simple to understand, yet complex enough to admit a wide range of solutions at varying levels of difficulty in implementation. In this work, we outline four types of student projects based on this problem, discuss how these projects can be approached and how they might integrate into a computer science curriculum, and describe two example projects that we have used.