Automatic Time-Table Generator: 1.1 Overview
Automatic Time-Table Generator: 1.1 Overview
CHAPTER 1
INTRODUCTION
The existing system drafts a time-table by taking into consideration that each lecture
contained one class of students, one professor, and a certain number of time slots which could be
chosen freely. Initially it was mostly applied to schools. The problem in schools being relatively
simple because of their less complex class structures, classical methods, such as linear
programming approaches could be used conveniently. However, bearing in mind the cases of
higher secondary schools and universities, which contain complex class-structures, increases the
complexity of the problem. The existing system generates a lot of paperwork and is not flexible
as changes can be difficult to make. Classical methods are thus found derisory to handle the
problem, predominantly because of the vast number of variables and multiple functions. The aim
of this project is the automatic generation of course schedules using the principles of Genetic
Algorithm which would prove to be instrumental in reducing the high cost and slow turnaround
involved in generation of near-optimal time-table.
1.1 OVERVIEW
Timetabling concerns all activities with regard to producing a schedule that must be subjective to
different constraints. Timetable can be defined as the optimization of given activities, actions or
events to a set of objects in space-time matrix to satisfy a set of desirable constraints. A college
timetable is a temporal arrangement of a set of lectures and classrooms in which all given
constraints are satisfied. Creating such timetables manually is complex and time-consuming
process. By automating this process with computer assisted timetable generator can save a lot of
Precious time of administrators who are involved in creating and managing course timetables.
Since every college has its own timetabling problem, the commercially available software
packages may not suit the need of every college.
1.2 OBJECTIVES
Normally timetable generation done manually. As we know all institutions have their own
timetable, managing and maintaining these will not be difficult. Considering workload with this
scheduling will make it more complex. As mentioned, when Timetable generation is being done,
it should consider the maximum and minimum workload that is in a college. In those cases
timetable generation will become more complex. Also, preparing timetable manually consumes a
Dept. of CSE, KLECET, Chikodi 2020-21 Page 1
Automatic Time-Table Generator
lot of time so, the main objective is to design an algorithm that can solve this problem efficiently
and effectively and implement that algorithm through a specified programming language like
java.
1. To reduce a time required for generating time table than existing system.
2. To generate performance graph for each faculty according to feedback given by student.
4. To generate defaulter list of students and send the e-mail to defaulter students.
CHAPTER 2
REQUIREMENT ANALYSIS
A CSS framework is a pre-prepared software framework that is meant to allow for easier, more
standards-compliant web design using the Cascading Style Sheets language. Most of these
frameworks contain at least a grid. More functional frameworks also come with more features
and additional JavaScript based functions, but are mostly design oriented and unobtrusive. This
differentiates these from functional and full JavaScript frameworks
2.1.1 HTML
The Hypertext Markup Language (HTML) is the standard markup language for creating web
pages and web applications. With Cascading Style Sheets (CSS) and JavaScript, it forms a triad
of cornerstone technologies for the World Wide Web. Web browsers receive HTML documents
from a web server or from local storage and render the documents into multimedia web pages.
HTML describes the structure of a web page semantically and originally included cues for the
appearance of the document.
Publish online documents with headings, text, tables, lists, photos, etc.
Retrieve online information via hypertext links, at the click of a button.
Design forms for conducting transactions with remote services, for use in searching for
information, making reservations, ordering products, etc.
In our project we have used HTML to create web pages like home page that includes login, sign
up etc.
We have used heading tag to add heading in our project for eg.
adminForm.style.display = "none";
}
We have used image tag for improving the design and appearance of our web page. For e.g.
<imgsrc="images/9.jpg" height="250px" width="500px"/>
2.1.2 CSS
CSS is the language for describing the presentation of Web pages, including color,
layout, and fonts. It allows one to adapt the presentation to different types of devices, such as
large screens, Small screens, or printers. CSS is independent of HTML and can be used with any
XML-based mark-up language. The separation of HTML from CSS makes it easier to maintain
sites, share style sheets across pages, and tailor pages to different environments.
Following are some examples where we have added some style properties for e.g. Background-
image, background -color, font-size, color, margin etc.
2.1.3 JavaScript
multiple computers). Inside a host environment (for example, a web browser), JavaScript can be
connected to the objects of its environment to provide programmatic control over them.
Server-side JavaScript extends the core language by supplying objects relevant to running
JavaScript on a server. For example, server-side extensions allow an application to communicate
with a database, provide continuity of information from one invocation to another of the
application, or perform file manipulations on a server.
<script
src="https://oss.maxcdn.com/libs/html5/3.7.0/html5.js">
</script>
<script src="ijs/jquery-1.11.1.min.js"></script>
2.2.1 MySQL
MySQL is offered under two different editions: the opensource MySQL Community Server
and the proprietary Enterprise Server. MySQL Enterprise Server is differentiated by a series of
proprietary extensions which install as server plugins, but otherwise shares the version
numbering system and is built from the same code base. Major features as available in MySQL.
A broad subset of ANSI SQL 99, as well as extensions, Cross-platform support, stored
procedures, using a procedural language that closely adheres to SQL/PSM, Triggers, Cursors,
Updatable views, Online Data Definition Language (DDL) when using the InnoDB Storage
Engine.
Information schema Performance Schema that collects and aggregates statistics about server
execution and query performance for monitoring purposes. MySQL is one of the most popular
relational database systems being used on the Web today. It is freely available and easy to install,
however if you have installed Wamp server it already there on your machine. MySQL database
server offers several advantages:
MySQL is easy to use, yet extremely powerful, fast, secure, and scalable.
MySQL runs on a wide range of operating systems, including UNIX or Linux, Microsoft
Windows, Apple Mac OS X, and others.
MySQL supports standard SQL (Structured Query Language).
MySQL is ideal database solution for both small and large applications.
MySQL is developed, and distributed by Oracle Corporation.
MySQL includes data security layers that protect sensitive data from intruders.
In our project we have created database using db named as ttms which contains tables
namely admin, classrooms, semester3, semester5, semester7, subjects, teachers. admin table
contains 2 attributes name and password. classrooms table contains 2 attributes name and status.
semester table contains 7 attributes day, period1, period2, period3, period4, period5, and period6.
subjects table contains 9 attributes subject_code, subject_name, course_type, semester,
department, isAlloted, allotedto, allotedto2, and allottedto3. teachers table consists of 6 attributes
faculty_number, name, alias, designation, contact_number, and emailed.
2.2.2 PHP
PHP is a server-side scripting language designed primarily for web development but also used as
a general-purpose programming language. Originally created by Ramus Leadoff in 1994, the
PHP reference implementation is now produced by The PHP Development Team. PHP originally
stood for Personal Home Page, but it now stands for the recursive acronym PHP: Hypertext Pre-
processors.
PHP code may be embedded into HTML or HTML5 Mark up, or it can be used in combination
with various web template systems, web content management systems and web frameworks.
PHP code is usually processed by a PHP interpreter implemented as a module in the web server
or as a Common Gateway Interface (CGI) executable. The web server software combines the
results of the interpreted and executed PHP code, which may be any type of data, including
images, with the generated web page. PHP code may also be executed with a command-line
interface (CLI) and can be used to implement standalone graphical applications.
<?php
die(mysqli_error($connection));
?>
mysql_fetch_array():It allows to access data stored in the result returned from the truemysql
query.
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$count = mysqli_num_rows($result);
Registration:
To ensure into this site user has to register him/herself first. Requirements of registration are
user name, password, and email.
For the admin registration, user name and Password is used.
User Login:
The System provides facility to login into the system which will redirect customer and
admin to their respective Home page.
For the login Entering username and password is must for every user type.
User Module functionalities:
Admin Login:
On logging in as administrator, the system takes you on this page where you select
options to proceed. The admin has all rights on the system.
Admin Module functionalities:
Admin Login
Admin can manage all Time tabling schedule.
Admin can update / edit user personal details.
Admin can update own profile
Change password
Logout
Logout:
The system that facilitate to logout from the site.
Input: Select logout option from menu.
Output: Logout from the system.
CHAPTER 3
Software Requirements
Operating system : Microsoft Windows or Linux
Language : PHP 5.0
Database : MySQL server
Editors : Sublime Text 3
Browser : Google Chrome.
Hardware Requirements
Processor : Intel Pentium IV processor or equivalent or higher
RAM : 512MB or above
Network card for internet access.
Development Platform
• Visual studio code
• PHP MyAdmin
• Wamp server
CHAPTER 4
SYSTEM DESIGN
Systems are created to solve problems. One can think of the systems approach as an
organized way of dealing with a problem. In this dynamic world, the subject System
Analysis and Design mainly deals with the software development activities.
System Architecture:
The figure 4.1 shows the system architecture of the Automatic Time-table Generator. In this
architecture the relation between User, database and admin is described. When a new user
visits the site he/she has to register by filling details in the form, after the successful
registration the user gets the username and password. And when the next time when the
same user visits the site he/she can login using their login id and password.
Dept. of CSE, KLECET, Chikodi 2020-21 Page 11
Automatic Time-Table Generator
Admin has the authority to view all the user profiles and manage them and he also can view
and resolve the queries submitted by the users. And admin has full access over the database
that he can manage all the users and also delete the unwanted user from the database.
System Analysis
Assuming that a new system is to be developed, the next phase is system analysis.
Analysis involved a detailed study of the current system, leading to specifications of a new
system. Analysis is a detailed study of various operations performed by a system and their
relationships within and outside the system. During analysis, data are collected on the
available files, decision points and transactions handled by the present system. Interviews,
on-site observation and questionnaire are the tools used for system analysis. Using the
following steps it becomes easy to draw the exact boundary of the new system under
consideration:
Keeping in view the problems and new requirements
Workout the pros and cons including new areas of the system
All procedures, requirements must be analyzed and documented in the form of detailed data
flow diagrams (DFDs), data dictionary, logical data structures and miniature specifications.
System Analysis also includes sub-dividing of complex process involving the entire system,
identification of data store and manual processes. The main points to be discussed in system
analysis are:
Specification of what the new system is to accomplish based on the user requirements.
Functional hierarchy showing the functions to be performed by the new system and
their relationship with each other.
Function network which are similar to function hierarchy but they highlight
those functions which are common to more than one procedure.
List of attributes of the entities - these are the data items which need to be held
about each entity (record)
Based on the user requirements and the detailed analysis of a new system, the new system must
be designed. This is the phase of system designing. It is a most crucial phase in the
development of a system. Normally, the design proceeds in two stages:
Preliminary or general design
Structure or detailed design
Dept. of CSE, KLECET, Chikodi 2020-21 Page 12
Automatic Time-Table Generator
Preliminary or general design: In the preliminary or general design, the features of the new
system are specified. The costs of implementing these features and the benefits to be derived
are estimated. If the project is still considered to be feasible, we move to the detailed design
stage.
Structure or Detailed design: In the detailed design stage, computer oriented work
begins in earnest. At this stage, the design of the system becomes more structured. Structure
design is a blue print of a computer system solution to a given problem having the same
components and inter-relationship among the same components as the original problem.
Input, output and processing specifications are drawn up in detail. In the design stage, the
programming language and the platform in which the new system will run are also decided.
Flow Diagram:
CHAPTER 5
IMPLIMENTATION
Time Table Generator is a w e b ba s e d ap pl ic a ti on w h ic h g ui de s yo u ab ou t t ou r
p la ce s . This project includes mainly two modules i.e. login and main page.
Login:
1. Admin
2. Student
3. Staff
Admin: The page requires user id and password to start the application. Login is a process by
which individual access to a computer system is controlled by identifying and authenticating the
user through the cardinalities presented by the user. Admin can add or delete the category,
subcategory etc.
Student: Student can register the account by clicking on new register. He/she can add the
account for the various Courses. The student have to login to get more information about the
time schedule.
Staff: Staff can register by admin. The staff have to login to get more information about the
time schedule.
1. Admin module:
Admin Activities:
Login:
Admin is able to login using unique username and password. Password
must have length of minimum three characters and maximum of thirteen
characters.
View queries:
Admin can view all the queries sent by the users and take appropriate
actions according to query or feedback given by the users.
2. Student Module:
Users are register of our website. For becoming a member of site user need to
fill up registration forms with all detail. User has to also fill up interest so we can
give best result as their partner detail. They also check profile of other member.
Student Activities:
View profile:
User can be able to see own profile and others profile also. If the
user is female then she will be able to view only male profile and vice
versa.
Update profile:
If user wants to update his/her profile then they can update by
providing or deleting the information.
3. Staff Module :
In this module user has to fill the form about him/her such as name, email,
phone number and queries that he/she is having and has to submit the form then the
query is submitted to admin. Then admin checks the queries of users and take the
required actions on it.
CHAPTER 6
TESTING
Testing is vital to the success of the system. System testing makes a logical assumption that
if all parts of the system are corrected, the goal will be successfully achieved. Inadequate
testing or non-testing leads to errors that may not appear until months later.
The testing of this project ensures that the data received by the user is accurate. This is
ensured by viewing the profile of the applicant and there by enable the applicant to edit their
profile. Our project also enables to view the messages received and the replied messages.
Unit testing
In computer programming, a unit test is a procedure used to validate that a particular
module of source code is working properly. The procedure is to write test cases for all
functions and methods so that whenever a change causes a regression, it can quickly be
identified and fixed. Ideally, each test case is separate from the others; constructs such a
mock objects can assist in separating unit tests.
The admin module is tested and validated for login, view total users, view queries and
delete user account and checked that it produces the result. The user module is tested and
validated for view profile, update profile and checked that it produces the result. Enquiry
module is tested and validated. After validate these modules we can say that all the modules
of this system is working perfectly and giving the desired output required by the user.
Integration Testing
Integration testing (sometimes called integration and testing and abbreviated I&T) is the
phase of software testing in which individual software modules are combined and tested as a
group. It follows unit testing and precedes system testing.
Integration testing takes as its input values that have been unit tested, groups them in
larger aggregates, applies tests defined in and integrated test plan to those aggregates and
delivers as its output the integrated system ready for system testing
The system testing involves in this project are all the forms in this project are done both the
form validations and the database validations.
Form validation involves checking all the form constraints like arithmetic, syntactical,
logical errors. Database validation involves checking constraints like primary key, foreign
key, and all the database validation avoiding data redundancy.
System Testing
All the modules of the system is tested and now the modules are combined together
and the integrated module is tested and validated for checking whether the combined
modules are working perfectly.
CHAPTER 7
2. Reduces error
The manual paper-based system is prone to human errors. A small error in the timetable may
disturb the working of a whole institution. By installing a timetable system, the human errors
can be reduced significantly.
Disadvantages
1. User has to format it a bit after it is prepared.
2. The Admin has to do the allotment of the Teachers to their respective Subjects.
3. The Admin has to do the allotment of the Courses to the Classrooms.
CHAPTER 8
SNAPSHOTS
This page is of teacher login page where the teacher who is added by admin can login
CONCLUSION
The intention of the project is to generate a time-table that can schedule automatically.
Timetabling problem being the hard combinatorial problem that is would take more than just the
application of only one principle. The timetable problem may only be solved when the
constraints and allocations are clearly defined and simplified thoroughly and more than one
principle is applied to it. Thus, through the process of automation of the time-table problem,
many an-hours of creating an effective timetable have been reduced eventually. By considering
all these constraints effectively and efficiently a timetable can be generated which eventually can
be used for a specific class of an institution and may also be saved for future. This complete
process of storing data of staff and subjects and retrieving them by timetable generation part uses
database and thus generates a well scheduled timetable by considering the above constraints.
BIBLIOGRAPHY