Three-phase Curriculum-Based University Course Timetabling with Student Assignment | Synapse