Timetable generator for Institute schedule implemented using C++.
An Institute offers a variety of courses. Some are for a given branch whereas others are for students across a stream of branches. The faculty members teaching these courses are limited, with some professors teaching more than one course. The classrooms on hand are also fixed. Manually scheduling the Timetable can prove to be quite tedious.
This project aims to:
- Automate the process of Timetable scheduling.
- Efficiently utilise the resources of the Institute to generate best possible timetable.
-
Resources can not overlap timewise
- No teacher can hold two classes at the same time
- No group can listen for two classes at the same time
- No classroom can receive two classes at the same time
-
Assign classroom depending on strength of students taking the course.
-
Account for the fixed location of user-defined lab sessions as well as classes.
-
Account for lunch time.
Some soft constraints are:
- Minimize total "idle" for each group (eliminating pause between classes)
- Minimize total "idle time" for each teacher (elimination of pause between classes)
INPUTS REQUIRED:
- .csv file for course offering data.
The algorithm for the timetable will create a 5x11 2-D array for each branch of each batch of the Institute . Initially, all slots are free.
To allocate a time slot to a course, the steps taken are:
- check if slot is free
- check if professor is available
- check if classroom of required strength is free
- Run the ds.h file
g++ std=c++17 ds.h
- Run maincode.cpp file
g++ std=c++17 maincode.cpp
- Enter lunch slot
The algorithm for the timetable will generate a 5x11 table for each batch of the Institute showing the timing for each course.
It also generates the schedule of each classroom showing timings of courses allocated to that classroom.