Time: 03/25 3:00pm-4:30pm
Present: huajun, hou, Dr. John Halton
Where: Dr. Halton's office
In this meeting, we presented to Dr. Halton our initial design and partial implementation. We divided the whole system into three modules: input, scheduler and output. The input module is responsible for reading the data from a user provided file and constructing the necessary data structure used by the scheduling algorithm. The scheduler module makes the exam schedule based on the information from input module and hard coded requirements. The output module outputs the schedule in human-readable format. We have implemented the input and scheduler modules and we discussed the format of the output with the Dr. Halton.
The main thing in this meeting is that we discussed the algorithms we used in scheduler module. Basically, we have three steps: assign a competent professor for each course for each candidate, randomly split 6 courses of each candidate to 3 sessions so each session contains exactly 2 courses and at the same time add the third professor to each session, and decide the time and location for each session. Dr. Halton suggested that when we split 6 courses we do not decide the third professor for this session and leave this stage to the third step. Also he suggested that for each timeslot, we should schedule as many sessions concurrently as possible. For example, if we have 23 professors, for each time slot, the maximum concurrent sessions is 23/3=7. We decide change our implementation in the following week and meet with him in the next Wednesday.