Skip to content

DIP4 and DIP5 project for creating algorithm which generates timetable for our institute. It should provide a lot of flexibility to the user.

Notifications You must be signed in to change notification settings

Aman-garg-IITian/Timetable-Generation-System

Repository files navigation

Timetable Generation System

Timetable generator for Institute schedule implemented using C++.

Abstract

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.

Problem

This project aims to:

  • Automate the process of Timetable scheduling.
  • Efficiently utilise the resources of the Institute to generate best possible timetable.

Constraints

  • 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)

Solution

INPUTS REQUIRED:

  • .csv file for course offering data.

image

  • .csv file on classroom information image

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

Deployment

  1. Run the ds.h file
g++ std=c++17 ds.h
  1. Run maincode.cpp file
g++ std=c++17 maincode.cpp
  1. Enter lunch slot

Output

The algorithm for the timetable will generate a 5x11 table for each batch of the Institute showing the timing for each course.

image

It also generates the schedule of each classroom showing timings of courses allocated to that classroom.

image

Authors

About

DIP4 and DIP5 project for creating algorithm which generates timetable for our institute. It should provide a lot of flexibility to the user.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages