Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

AUTOMATED TIME TABLE GENERATION

A MINI PROJECT REPORT


SUBMITTED IN PARTIAL FULFILLMENT OF THE
REQUIREMENTS FOR THE AWARD OF DEGREE OF

BACHELOR OF TECHNOLOGY
in
Computer Science and Engineering
of
APJ Abdul Kalam Technological University
by
Lijin Johnson (VAS20CS066)
Mayadevi K S (VAS20CS069)
Musharaf K K (VAS20CS077)
Rahul N Manesh (VAS20CS088)

(AN ISO 9001:2015 CERTIFIED INSTITUTION )

Department of Computer Science and Engineering


Vidya Academy of Science & Technology
Thalakottukara, Thrissur - 680 501
( http://www.vidyaacademy.ac.in)

May 2023
Department of Computer Science and Engineering
Vidya Academy of Science & Technology
Thalakkottukara, Thrissur - 680 501
(http://www.vidyaacademy.ac.in)

(AN ISO 9001:2015 CERTIFIED INSTITUTION )

Certificate
This is to certify that the Mini Project Report titled ”AUTOMATED TIME TA-
BLE GENERATION” is a bonafide record of the work carried out by Lijin Johnson
(VAS20CS066),Mayadevi K S (VAS20CS069),Musharaf K K (VAS20CS077),Rahul
N Manesh (VAS20CS088) of Vidya Academy of Science & Technology, Thalakkot-
tukara, Thrissur - 680 501 in partial fulfillment of the requirements for the award of
Degree of Bachelor of Technology in Computer Science and Engineering of APJ
Abdul Kalam Technological University, during the academic year 2022-2023. The
Mini Project report has been approved as it satisfies the academic requirements in the
respect of mini project work prescribed for the said degree.

Project Guide Head of Department


Ms Mithu Varghese Dr.Ramani Bai. V
Assistant Professor Dept. of CSE Professor, Dept. of CSE
Undertaking

We,
”Lijin Johnson (VAS20CS066)” hereby undertake that the mini project work enti-
tled ”AUTOMATED TIMETABLE GENERATOR” is carried out by us independently
under the valuable guidance of Mrs Mithu Varghese, Assistant Professor Department of
Computer Science and Engineering, Vidya Academy of Science and Technology, Tha-
lakottukara, Thrissur in partial fulfillment of the requirements for the award of degree of
Bachelor of Technology in Computer Science and Engineering of APJ Abdul Kalam
Technological University, during the academic year 2022-2023.

Thrissur Lijin Johnson (VAS20CS066)


May 2023 Mayadevi K S (VAS20CS069)
Musharaf K K (VAS20CS077)
Rahul N Manesh (VAS20CS088)
AUTOMATED TIME TABLE GENERATION

Acknowledgement

During the course of our mini project work, several persons collaborated directly
and indirectly with us. Without their support it would be impossible for us to finish the
Phase 2 of our project work. That is why we wish to dedicate this section to recognize
their support.

We want to start expressing our thanks to project guide Mrs Mithu Varghese, As-
sistant Professor Dept. of Computer Science and Engineering, because of her valuable
advice and guidance towards this work. We received motivation, encouragement and
hold up from her during the course of work.

We are grateful to express my thanks to all the faculty members of my department


for their support. We articulate our gratitude to all our friends for their support and help
for this work.

We are thankful to Dr.Ramani Bai. V Head of Computer Science and Engineering


Department, and Principal Dr. Saji. C. B, for their sole co-operation.

Last, but not the least we wish to express our gratitude to God Almighty for his
abundant blessings without which this effort would not have been successful.

Lijin Johnson (VAS20CS066)

Mayadevi K S (VAS20CS069)

Musharaf K K (VAS20CS077)

Rahul N Manesh (VAS20CS088)

Sixth Semester B.Tech (2020 Admissions)


Vidya Academy of Science & Technology
May 2023 Thrissur - 680 501.

Computer Science and Engineering i VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Abstract

An automated timetable generator is a software tool or system that automatically creates


schedules or timetables for various activities, events, or resources. It uses algorithms and
predefined rules to optimize the allocation of time slots and resources based on specified
constraints and requirements.
The generator takes into account factors such as availability of resources, desired time
slots, constraints, and preferences to create an efficient and balanced timetable. It can be
used in a variety of domains, including educational institutions, businesses, conferences,
transportation systems, and more.
Automated timetable generators save time and effort compared to manual schedul-
ing processes. They can handle complex scheduling scenarios, consider multiple con-
straints, and provide optimized solutions. These tools are especially useful in scenarios
where there are numerous activities or resources to manage, and where manual schedul-
ing would be time-consuming and error-prone.
In our project,we used html,css,javascript,php,Mysql

Computer Science and Engineering ii VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Contents

CERTIFICATE

UNDERTAKING

ACKNOWLEDGEMENT i

ABSTRACT ii

LIST OF FIGURES v

LIST OF SYMBOLS AND ABBREVIATIONS vi

1 INTRODUCTION 1
1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Motivation for this work . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Objectives of the Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Outline of the report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 LITERATURE REVIEW 5
2.1 Literature Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Automated time table generation using multiple context reason-
ing for university modules . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Software engineering approach for a timetable generator . . . . . 5
2.1.3 Autonomous Timetable System Using Genetic Algorithm [3] . . . 5
2.1.4 Automatic Timetable generation using Permutation and Decision
Making . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Computer Science and Engineering iii VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

3 SYSTEM DESIGN 7
3.1 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Input Data Management . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Constraint Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.4 Timetable Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.5 Conflict Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.6 Timetable Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.7 Optimization Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 METHODOLOGY 9

5 SYSTEM REQUIREMENTS AND SPECIFICATIONS 10


5.1 Hardware Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.1 OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.1.2 System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.2 Software Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.2.1 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.2.2 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2.3 Javascript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2.4 PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.2.5 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.2.6 XAMPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2.7 Sublime Text3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 FEATURES 14
6.1 Input data management . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.2 Automated scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3 Flexibility and customization . . . . . . . . . . . . . . . . . . . . . . . . 14
6.4 Conflict resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.5 Resource management . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.6 Manual adjustments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.7 Timetable evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Computer Science and Engineering iv VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

7 TOOLS AND TECHNOLOGIES 16


7.1 Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.2 Algorithm Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.3 Optimization Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

8 IMPLEMENTATION 17
8.1 Define data structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.2 Gather input data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.3 Define constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.4 Generate an initial schedule . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.5 Optimization algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.6 Fitness evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.7 Iterative improvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.8 Termination condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

9 RESULT 19

10 CONCLUSION AND SCOPE OF FUTURE WORK 22


10.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.2 Future Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

BIBLIOGRAPHY 22

Computer Science and Engineering v VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

List of Figures

9.1 Data Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


9.2 Home Screen of the timetable generator. . . . . . . . . . . . . . . . . . . 20
9.3 Login Tab of the timetable generator. . . . . . . . . . . . . . . . . . . . . 20
9.4 Dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.5 Generating timetable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
9.6 Final output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Computer Science and Engineering vi VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

List of Symbols and Abbreviations

HTML Hyper Text Markup Language

CSS Cascading Style Sheet

JS Javascript

PHP Hypertext Preprocessor

MySQL MyStructured Query Language

Computer Science and Engineering vii VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Chapter 1

INTRODUCTION

1.1 General
Most colleges have a number of different courses and each course has a number of sub-
jects. Now there are limited faculties, each faculty teaching more than one subjects. So
now the time table needed to schedule the faculty at provided time slots in such a way
that their timings do not overlap and the time table schedule makes best use of all faculty
subject demands.

1.2 Motivation for this work


Time and resource efficiency: Manual timetable generation is a time-consuming and
labor-intensive task. It requires significant effort from administrators or schedulers to
collect and analyze various inputs, consider constraints, and create a feasible timetable.
An automated timetable generator can significantly reduce the time and effort required
by automating the process, freeing up valuable resources for other important tasks.
Optimization and conflict resolution: Creating an optimized timetable that minimizes
conflicts and maximizes resource utilization is a complex task. An automated genera-
tor can employ algorithms and optimization techniques to analyze various factors such
as room availability, faculty preferences, and student course requirements. It can effi-
ciently resolve conflicts and generate a timetable that best fits the available resources and
constraints.
Accuracy and consistency: Human errors are inevitable when manually creating

Computer Science and Engineering 1 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

timetables, such as overlooking conflicts, double-booking rooms, or missing preferences.


An automated timetable generator can eliminate such errors by following predefined rules
and constraints, ensuring consistency and accuracy in the scheduling process.
Adaptability and flexibility: Institutions often need to make changes to their timeta-
bles due to unforeseen circumstances, such as changes in faculty availability, student
enrollments, or curriculum adjustments. An automated timetable generator can easily ac-
commodate these changes and generate updated timetables, saving time and effort com-
pared to manually modifying an entire schedule.
Improved student and faculty satisfaction: A well-designed timetable that takes into
account student preferences, faculty workload, and other relevant factors can contribute
to improved satisfaction among students and faculty members. An automated timetable
generator can help create schedules that align with their preferences, reduce conflicts,
and enhance overall satisfaction with the timetable.
Enhanced decision-making and analysis: An automated timetable generator can pro-
vide administrators and stakeholders with valuable insights and data analysis. By analyz-
ing the generated timetables, institutions can identify trends, evaluate resource utilization,
and make data-driven decisions for future scheduling improvements.
Technological advancement and innovation: Developing an automated timetable gen-
erator involves leveraging advanced technologies such as artificial intelligence (AI), op-
timization algorithms, and data analysis techniques. Implementing such cutting-edge
technologies not only improves the scheduling process but also showcases the institu-
tion’s commitment to innovation and technological advancements.
Overall, the motivation behind a project on automated timetable generation lies in
the potential to streamline and optimize the scheduling process, save time and resources,
reduce conflicts, improve satisfaction, and leverage advanced technologies for efficient
and effective timetable management.

1.3 Objectives of the Work


Efficient scheduling: The primary objective of an automated timetable generator is to
create an optimized and efficient schedule. It should consider various constraints such
as room availability, faculty preferences, course requirements, and student preferences to

Computer Science and Engineering 2 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

generate a timetable that maximizes resource utilization and minimizes conflicts.


Time-saving: Manual timetable generation can be a time-consuming and tedious task,
especially for large institutions. An automated generator aims to save time by automating
the process, reducing human effort, and generating timetables quickly and accurately.
Conflict resolution: Timetable conflicts, such as overlapping classes or resource clashes,
can create inconvenience and confusion for students and faculty. The automated timetable
generator should aim to resolve these conflicts by intelligently assigning classes, rooms,
and resources to minimize conflicts and ensure a smooth schedule.
Flexibility and adaptability: Institutions often need to make changes to their timeta-
bles due to unforeseen circumstances, such as faculty availability changes, room main-
tenance, or curriculum adjustments. The automated generator should provide flexibil-
ity and adaptability to easily accommodate changes and generate updated timetables as
needed.
Optimization of resources: Efficiently utilizing available resources is crucial for any
institution. The timetable generator should aim to optimize the allocation of resources,
such as classrooms, labs, and equipment, to ensure they are used effectively and effi-
ciently.
Customization and preferences: Institutions may have specific requirements or prefer-
ences when it comes to scheduling. The automated generator should allow for customiza-
tion and incorporate these preferences, such as specific time slots, faculty preferences, or
student grouping, while still maintaining an optimized schedule.
Communication and accessibility: The generated timetable should be easily accessi-
ble and communicable to students, faculty, and staff. It should provide clear and concise
information about class timings, room assignments, and any other relevant details to en-
sure everyone is well-informed and can access the timetable effortlessly.
Scalability: The timetable generator should be able to handle various scales of op-
eration, whether it is a small institution or a large university with multiple departments
and courses. It should be scalable and adaptable to accommodate the needs of different
academic environments.
By achieving these objectives, an automated timetable generator can streamline the
scheduling process, reduce conflicts and confusion, and improve overall efficiency and
productivity within an educational institution.

Computer Science and Engineering 3 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

1.4 Outline of the report


• This report contains 10 chapters.

• Chapter I : - It provides an introduction to the project work and describes the ob-
jectives of the work and motivation of the work.

• Chapter II :- Provides the information about the related work of the project.

• Chapter III :- The proposed system design is described.

• Chapter IV :- Explains the methodology adopted.

• Chapter V :-Describes the system requirements and specifications.

• Chapter VI :-Describes the features of the generator

• Chapter VII :-The tools and technologies used

• Chapter VIII :-Describes about the implementation the the timetable generator

• Chapter IX :- The evaluation and the result of the proposed system are given.

• Chapter X :- The conclusion and the future scope of the project are given.

Computer Science and Engineering 4 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Chapter 2

LITERATURE REVIEW

2.1 Literature Survey

2.1.1 Automated time table generation using multiple context rea-


soning for university modules

• Author : D. Srinivasan; Tian Hou Seow; Jian Xin Xu.

• Source : IEEE 2002

• Year : 2021

2.1.2 Software engineering approach for a timetable generator

• Author : A.C.M. Fatt; Chia Wee Kee; Lee Chee Heong; Ng How Seng School of
Computer Engineering, Nanyang Technological University, Singapore .

• Source :IEEE 2016

• Year : 2016.

2.1.3 Autonomous Timetable System Using Genetic Algorithm [3]

• Author :Yashaswini Sunil Chaudhari; Vanessa William Dmello; Srushti Suraj


Shah.

• Source : IEEE 2022.

Computer Science and Engineering 5 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

• Year : 2002.

This application provides a system to transfer data between android and windows
computers.

2.1.4 Automatic Timetable generation using Permutation and Deci-


sion Making

• Author : 1. Amit Kumar, computer dept, DIT, Pune 2. Anuradha Singh, computer
dept, DIT, Pune.

• Source : IEEE 2019.

• Year : 2019.

Computer Science and Engineering 6 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Chapter 3

SYSTEM DESIGN

System design is the process of designing the elements of a system such as the architec-
ture, modules and components, the different interfaces of those components and the data
that goes through that system.

3.1 User Interface


Provides a user-friendly interface for users to interact with the timetable generator.Allows
users to input data, configure constraints, and view generated timetables.Displays the
generated timetable in a visual and intuitive format.

3.2 Input Data Management


Handles the storage and retrieval of input data, such as resources, activities, constraints,
and preferences.May involve integrating with external systems or databases to import
and export data.Validates and sanitizes the input data to ensure its correctness and con-
sistency.

3.3 Constraint Engine


Manages the constraints and preferences defined by the user or system requirements.Handles
constraint validation and enforcement during the timetable generation process.Detects
and resolves conflicts or violations of constraints.

Computer Science and Engineering 7 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

3.4 Timetable Generator


Generates an initial timetable by assigning activities to available time slots and resources.Utilizes
optimization algorithms and heuristics to improve the initial timetable’s quality and ef-
ficiency.Considers constraints and preferences while assigning activities to appropriate
time slots and resources.

3.5 Conflict Resolution


Identifies and resolves conflicts that arise during the timetable generation process.Reschedules
or adjusts activities to ensure conflicts are eliminated or minimized.Implements conflict
resolution strategies based on predefined rules or user-defined preferences.

3.6 Timetable Evaluation


Measures the quality and fitness of the generated timetable.Uses predefined metrics and
evaluation criteria, such as clash-free schedules, optimal resource utilization, or mini-
mized gaps.Provides feedback on the timetable’s fitness to guide the optimization pro-
cess.

3.7 Optimization Engine


Optimizes the generated timetable by iteratively refining and improving its quality.Applies
optimization algorithms, such as simulated annealing, genetic algorithms, or constraint
programming techniques.Utilizes fitness evaluation results to guide the optimization pro-
cess and search for better solutions.

Computer Science and Engineering 8 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Chapter 4

METHODOLOGY

Automatic timetable generators often employ a combination of these methodologies or


customize them to suit specific requirements and constraints. The choice of methodology
depends on factors such as the complexity of the scheduling problem, available resources,
and desired optimization criteria.

• Constraint satisfaction

– Constraint satisfaction is a key aspect of automatic timetable generators. It


involves formulating the timetable generation problem as a constraint sat-
isfaction problem (CSP) and finding a solution that satisfies all the defined
constraints.

– Room availability: Each class or event needs to be scheduled in an available


room that meets its capacity requirements and any specific room preferences
or constraints.

– Instructor availability: Each course or event requires an available instructor


who is qualified to teach that particular subject. Instructor availability, pref-
erences, and workload constraints need to be taken into account.

– Course dependencies: Some courses have prerequisites or corequisites, which


means they must be scheduled in a specific order or in proximity to other
related courses. The timetable generator needs to consider these dependencies
and schedule the courses accordingly.

Computer Science and Engineering 9 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Chapter 5

SYSTEM REQUIREMENTS AND


SPECIFICATIONS

5.1 Hardware Specifications

• 5.1.1 OS

Any OS

• 5.1.2 System

Processor: i3 (minimum)

5.2 Software Specifications

• 5.2.1 HTML

HTML(Hyper Text Markup Language) It is the standard markup language used


for creating and structuring the content of web pages and applications on the
World Wide Web. HTML uses a set of tags and attributes to define the struc-
ture and presentation of text, images, multimedia, and other elements within a
web document. With HTML, you can define the structure of a web page by
creating headings, paragraphs, lists, tables, forms, and more. It allows you to
add links, images, videos, audio, and various types of media to enhance the

Computer Science and Engineering 10 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

content. HTML also provides semantic elements that help search engines and
assistive technologies understand the meaning and context of the content.
Web browsers interpret HTML code and render it visually, allowing users to
view and interact with web pages. HTML has evolved over time, and the cur-
rent version is HTML5, which introduced new features and enhancements to
support modern web development practices and multimedia integration.

5.2.2 CSS

CSS stands for Cascading Style Sheets. It is a stylesheet language used for
describing the presentation and visual appearance of a document written in
HTML or XML (including XHTML). CSS separates the content of a web page
from its presentation, allowing developers to define styles, layout, and format-
ting independently of the HTML structure. With CSS, you can control the col-
ors, fonts, spacing, positioning, and other visual aspects of HTML elements. It
provides a set of rules and selectors that target specific elements or groups of el-
ements within a document. By applying CSS styles, you can achieve consistent
and cohesive designs across multiple web pages or an entire website.

5.2.3 Javascript

JavaScript is a high-level, interpreted programming language that is primar-


ily used for adding interactivity and dynamic functionality to web pages. It
was initially developed as a scripting language for web browsers but has since
expanded its reach to various other platforms and environments. JavaScript al-
lows developers to create interactive elements, perform actions based on user
input, manipulate and modify HTML and CSS, handle events, communicate
with servers, and build complex web applications. It is often referred to as the
”language of the web” as it is supported by all modern web browsers without
requiring any additional plugins. With JavaScript, you can create dynamic and
responsive web pages by manipulating the Document Object Model (DOM),
which represents the structure of an HTML document. You can select and mod-
ify HTML elements, change styles, add or remove elements, and handle user
interactions such as clicks, mouse movements, and keyboard input. JavaScript

Computer Science and Engineering 11 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

also provides features for performing calculations, manipulating strings and ar-
rays, working with dates, and handling exceptions. It supports object-oriented
programming principles, allowing developers to create reusable and modular
code through the use of objects, classes, and inheritance.

5.2.4 PHP

PHP (Hypertext Preprocessor) is a server-side scripting language primarily


used for web development. It is embedded within HTML code and executed
on the server, generating dynamic content that is then sent to the client’s web
browser. PHP is a popular choice for web development due to its ease of use,
flexibility, and extensive community support. It is well-suited for creating dy-
namic web pages, handling form data, interacting with databases, and perform-
ing various server-side tasks.

5.2.5 MySQL

MySQL is an open-source relational database management system (RDBMS)


that is widely used for storing, managing, and retrieving data. It is a popular
choice for web applications and other types of software that require persis-
tent data storage. MySQL is based on the relational model, which organizes
data into tables consisting of rows and columns. It provides a structured and
organized way to store data, with relationships defined between tables using
keys and indexes. MySQL is designed to handle small to large-scale applica-
tions with millions of records. It offers various optimization techniques, index-
ing options, and caching mechanisms to improve performance and scalability.
MySQL supports the enforcement of data integrity rules through constraints
such as primary keys, unique keys, foreign keys, and check constraints. It also
provides features for user authentication, access control, and encryption to en-
sure data security. MySQL uses SQL, a standardized language for interacting
with relational databases. SQL allows developers to create, retrieve, update,
and delete data using statements such as SELECT, INSERT, UPDATE, and
DELETE. It also supports complex queries, joins, and aggregations for power-
ful data manipulation.

Computer Science and Engineering 12 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

5.2.6 XAMPP

XAMPP is a free and open-source cross-platform software package that facili-


tates the development and testing of web applications on a local machine. The
name ”XAMPP” is an acronym that stands for: X: Cross-platform (available
on multiple operating systems) A: Apache HTTP Server M: MySQL (or Mari-
aDB) P: PHP P: Perl XAMPP provides an easy-to-install bundle that includes
all the necessary components for running a web server environment locally. It
is commonly used by developers, students, and hobbyists who want to create
and test websites or web applications on their personal computer without the
need for a remote web server.

5.2.7 Sublime Text3

Sublime Text 3 is a popular text editor used by developers and programmers for
coding and editing various types of files. It is known for its simplicity, speed,
and extensive customization options. Sublime Text 3 is the third major version
of the Sublime Text editor, developed by Jon Skinner and released in 2013.

Computer Science and Engineering 13 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Chapter 6

FEATURES

An automated timetable generator is a software or tool that helps in creating schedules


and timetables for various purposes, such as academic institutions, businesses, or event
management. The features of an automated timetable generator can vary depending on
the specific software or tool being used, but here are some common features:

6.1 Input data management


The timetable generator allows you to input all the necessary data, such as available
resources (rooms, equipment, etc.), subjects or activities, time slots, and any constraints
or preferences.

6.2 Automated scheduling


The software automatically generates a timetable based on the input data and predefined
rules or algorithms. It optimizes the scheduling process to ensure efficient utilization of
resources and avoid conflicts or overlaps.

6.3 Flexibility and customization


The timetable generator usually provides options to customize the generated timetable.
You can specify preferences, constraints, and rules according to your specific require-
ments, such as assigning specific teachers to certain subjects or activities, setting breaks
or free periods, or accommodating special events.

Computer Science and Engineering 14 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

6.4 Conflict resolution


The tool checks for conflicts or clashes in the schedule, such as overlapping time slots or
resource double bookings. It can automatically resolve conflicts or provide suggestions
for resolving them, ensuring a conflict-free timetable.

6.5 Resource management


The timetable generator helps manage and allocate available resources efficiently. It con-
siders factors like room capacity, equipment availability, and other resource requirements
to ensure optimal allocation and utilization.

6.6 Manual adjustments


While the generator automates most of the scheduling process, it also allows manual
adjustments. You can manually modify or fine-tune the generated timetable, override
certain assignments, or make changes based on ad hoc requirements.

6.7 Timetable evaluation


The generator analyze the generated timetable based on predefined metrics, such as
teacher workload distribution, room utilization, or student distribution. This analysis
helps in assessing the quality and effectiveness of the timetable.

Computer Science and Engineering 15 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Chapter 7

TOOLS AND TECHNOLOGIES

Automated time table generators typically use a combination of tools and technologies to
create schedules efficiently. Here are some common tools and technologies used in the
development of automated time table generators:

7.1 Programming Languages


Most time table generators are built using programming languages such as Python, Java,
or C++. These languages provide the necessary flexibility and functionality to develop
the algorithms and logic required for generating timetables.

7.2 Algorithm Design


The core of any automated time table generator lies in the algorithms used to optimize and
generate schedules. Various algorithms like Genetic Algorithm, Constraint Satisfaction
Problem (CSP), or Integer Programming are commonly employed to solve the scheduling
problem efficiently.

7.3 Optimization Libraries


Libraries and frameworks like Google OR-Tools, OptaPlanner, or Gurobi can be utilized
to implement the optimization algorithms. These libraries provide pre-built functions and
APIs that assist in solving complex scheduling problems and finding optimal or near-
optimal solutions.

Computer Science and Engineering 16 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Chapter 8

IMPLEMENTATION

Implementing an automated timetable generator can be a complex task, but I can provide
you with a high-level overview of the steps involved. Keep in mind that the specific im-
plementation details may vary depending on the programming language and technologies
you choose to use. Here’s a general outline:

8.1 Define data structures


Determine the data structures needed to represent the timetable, resources, activities, and
constraints. For example, you might use classes or data structures to represent time slots,
classrooms, teachers, subjects, and other relevant entities.

8.2 Gather input data


Collect the necessary input data, such as the list of available resources, activities to be
scheduled, and any constraints or preferences. This data can be stored in a database,
spreadsheet, or other suitable formats.

8.3 Define constraints


Identify the constraints that need to be satisfied during the scheduling process. This
can include resource availability, maximum and minimum activity durations, time slot
preferences, and any other specific requirements.

Computer Science and Engineering 17 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

8.4 Generate an initial schedule


Create an initial timetable by assigning activities to available time slots and resources
using heuristic approaches or randomization. This serves as a starting point for further
optimization.

8.5 Optimization algorithms


Implement optimization algorithms to improve the initial schedule. You can explore var-
ious techniques like local search, genetic algorithms, or constraint satisfaction methods
to refine the timetable and meet the defined constraints. Consider using appropriate data
structures and algorithms to efficiently search and modify the schedule.

8.6 Fitness evaluation


Define fitness functions or evaluation criteria to assess the quality of a schedule. These
functions should consider factors like the number of conflicts, resource utilization, and
overall efficiency. Calculate fitness scores for each generated timetable to guide the opti-
mization process.

8.7 Iterative improvement


Continuously iterate and refine the timetable based on the optimization algorithms and
fitness evaluation. Modify the schedule by making small adjustments, such as swapping
activities between time slots or reassigning resources, to improve its fitness.

8.8 Termination condition


Set a termination condition or stopping criterion for the optimization process. This could
be a maximum number of iterations, reaching a specific fitness threshold, or running for
a predefined amount of time.

Computer Science and Engineering 18 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Chapter 9

RESULT

Figure 9.1: Data Flow.

Computer Science and Engineering 19 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Figure 9.2: Home Screen of the timetable generator.

Figure 9.3: Login Tab of the timetable generator.

Figure 9.4: Dashboard.

Computer Science and Engineering 20 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Figure 9.5: Generating timetable.

Figure 9.6: Final output.

Computer Science and Engineering 21 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Chapter 10

CONCLUSION AND SCOPE OF


FUTURE WORK

10.1 Conclusion
In this project, we briefly explained the motivation of the work at first. Then, we il-
lustrated the working of website in detail. Using website timetable for classes can be
implemented without any overlapping of teachers.The use of this website makes time
saving and confusion in making schedules for teachers and students in an educational
institution.

10.2 Future Scope


The paper implements complex algorithms to generate automated time table generation.
The future work can be to create upgradable, evolution able algorithms which would re-
sult to improve the performance. Another scope is to make a dynamic time table for the
institute by applying interactions with the staff, head and students. By developing the ar-
chitecture for mobile connectivity(android apps) where the teacher could share notes with
students. By posting notifications about changes in lectures schedules, exam schedules
to students.

Computer Science and Engineering 22 VAST, Thalakottukara


AUTOMATED TIME TABLE GENERATION

Bibliography

[1] Automated Timetable Generator, Ansari Ahmed, Ansari Ameer, Ansari Zaeem. The
paper was published in 2015 April.

[2] Automatic Time Table Generator,1.Saritha M, 2.Pranav Kiran Vase, 3.Pradeep,


4.Mahesh NR. The paper was published on 5, May 2017.

[3] Practices in timetabling in higher education institutions. R. A. Oude Vrielink ,E. A.


Jansen , E. W. Hans , J. van Hillegersberg.The paper was published on 27 October
2017.

[4] https://www.researchgate.net/publication/3206759
38P racticesi nt imetablingi nh ighere ducationi nstitutionsas ystematicr eview

Computer Science and Engineering 23 VAST, Thalakottukara


Department of Computer Science and Engineering
Vidya Academy of Science & Technology
Thalakkottukara, Thrissur - 680 501
(http://www.vidyaacademy.ac.in)

You might also like