Scheduling Courses for Flexibility and Student Success