School timetable creator is a program to create Timetables for schools written in C++. The features are –
- Allows for manual setting of class teachers.
- Checks whether there are enough number of teachers to teach each subject before running timetable creation routines.
- Creates timetables in 5 seconds in most of the cases.
- Default date provided for testing straightaway.
- Common periods like MPT, CCA are supported.
The method followed is as follows –
- The subject list created according to the probability of occurrence of each subject. This subject list is used to distribute subjects to time slots, in accordance with teacher and subject level constraints.
- In case of a no go using above step, a subject swap is tried within same day.
- In case of a no go using above step, a subject swap is tried from a previous day.
- A recursive swap of time slots is done where an available teacher is introduced to the chain of swaps which solves the current conflict.
This can be a good project for high school/undergraduate course in Computer science. Please find the code here.