Building First Year Schedule
Supervisor : Jerome Talim
Team size: Minimum 2, Maximum 4
| CSE | SE | Comm | Biomed | EE | Aero | Special |
|---|---|---|---|---|---|---|
| No | Yes | No | No | No | No | No |
Description
The support office sets the schedule of the courses that each first year student takes; the schedule includes the lect/lab/tut sections of all core courses (ECOR, MATH, PHYS, CHEM and other courses specific to their program). There are many possible combinations of courses sections but schedules could be more or less "practical" for the students. Example of rules to take into account when setting the schedule: (a) avoid schedules that end at 20:30 on a day and that start at 8:30 on the next day (b) avoid schedules that include courses from 8:30 to 11:30 then from 16:00 until late night The objective of the project is to implement a software that uses the courses schedule provided by the University to configure the registration setup for all first year students from each of the 13 BEng programs. The software should include some "ranking" mechanism to sort the schedules from "ideal" schedule for the student to the least "desirable" schedule, based on rules to be defined (See the two examples (a) and (b) above). When building the schedule, the software must take into account at least the following constraints: - Enrollment in a course section must not exceed the room/lab capacity - Schedules will be displayed in a web browser, and can be exported (eg. to PDF) or printed - Schedules must be conflict-free - Students must follow the prerequisite tree of their program (eg. Some programs take ECOR 1041 in the Fall, while the others take the course in the Winter) - Client side will be running a web browser (html, javascript) and the server side (ideally in Apache/PHP) will host the schedule of all courses provided by the University, and the schedules (data structure to be defined) of all BEng programs. Options/Scenarios that are worth considering when designing and implement the application: - Enrollment could be unpredictable and there should be an option to modify the courses schedule of a specific BEng program, as registration goes on during the summer - Possible use of AI library to build the courses schedule or to rank the schedules.
Prerequisites:
Keywords:
Web application - HTML/Javascript - Algorithm to detect schedule conflicts