Introduce concept of schedule buckets (all schedules in the same bucket are equivalent)
Add course selection info
Merge branch 'buckets'