A two-stage model for optimizing the student flow of a university course timetabling problem