The Course Allocation Problem