2820-Article Text-5104-1-10-20180103 PDF

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

www.ijecs.

in
International Journal Of Engineering And Computer Science ISSN: 2319-7242
Volume 5 Issue 11 Nov. 2016, Page No. 18755-18769

An Experimental On Time Table Generator


D Raju and V Mallesh
1
Department of Computer Science Engineering,BITS,JNTU University, Anantapur.
[email protected]
2
Head of the Department Computer Science,BITS , JNTU University, Anantapur
[email protected]

ABSTRACT

This project introduces a practical timetabling algorithm capable of taking care of both strong and weak
constraints effectively, used in an automated timetabling system. So that each teacher and student can view
their timetable once they are finalized for a given semester but they can‘t edit them. Timetable Generation
System generates timetable for each class and teacher, in keeping with the availability calendar of teachers,
availability and capacity of physical resources (such as classrooms, laboratories and computer room) and
rules applicable at different classes, semesters, teachers and subjects level. Even though most college
administrative work has been computerized, the lecture timetable scheduling is still mostly done manually
due to its inherent difficulties. The manual lecture-timetable scheduling demands considerable time and
efforts. The lecture-timetable scheduling is a Constraint satisfaction problem in which we find a solution that
satisfies the given set of 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.

KEYWORDS:-My sql ,Php, Xamp ,Database.

I. INTRODUCTION
A schedule or a timetable, as a basic time-management tool, consists of a list of times at which
possible tasks, events, or actions are intended to take place, or of a sequence of events in the chronological
order in which such things are intended to take place. The process of creating a schedule - deciding how to
order these tasks and how to commit resources between the varieties of possible tasks - is called
scheduling, and a person responsible for making a particular schedule may be called a scheduler. Making
and following schedules is an ancient human activity. Some scenarios associate "this kind of planning" with
learning "life skills".[4][5] Schedules are necessary, or at least useful, in situations where individuals need to
know what time they must be at a specific location to receive a specific service, and where people need to
accomplish a set of goals within a set time period.Schedules can usefully span both short periods, such as a
daily or weekly schedule, and long-term planning with respect to periods of several months or years. They
are often made using a calendar, where the person making the schedule can note the dates and times at

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18755
DOI: 10.18535/ijecs/v5i11.05

which various events are planned to occur. Schedules that do not set forth specific times for events to occur
may instead list algorithmically an expected order in which events either can or must take place.In some
situations, schedules can be uncertain, such as where the conduct of daily life relies on environmental factors
outside of human control.[7] People who are vacationing or otherwise seeking to reduce stress and
achieve relaxation may intentionally avoid having a schedule for a certain period of time.

1.1 Publicly available schedules


Certain kinds of schedules reflect information that is generally made available to the public, so that
members of the public can plan certain activities around them. These may include things like:

 Hours of operation of businesses, tourist attractions, and government offices, which allow consumers of
these services to know when they can obtain them.
 Transportation schedules, such as airline timetables, train schedules, bus schedules, and various public
transport timetables are published to allow commuters to plan their travels. From the perspective of the
organization responsible for making transportation available, schedules must provide for the possibility
of schedule delay, a term in transport modeling which refers to a difference between a desired time of
arrival or departure and the actual time. Despite the use of "delay", it can refer to a difference in either
the early or late direction.

1.2 Internal Schedules

An internal schedule is a schedule that is only of importance to the people who must directly abide
by it. It has been noted that "groups often begin with a schedule imposed from the outside, but effective
groups also develop an internal schedule that sets goals for the completion of micro-tasks". Unlike schedules
for public events or publicly available amenities, there is no need to go to the time and effort of publicizing
the internal schedule. To the contrary, an internal schedule may be kept confidential as a matter of security
or propriety.

1.3 Project Management Scheduling

A schedule may also involve the completion of a project with which the public has no interaction
public prior to its completion. In project management, a formal schedule will often be created as an initial
step in carrying out a specific project, such as the construction of a building, development of a product, or
launch of a program. Establishing a project management schedule involves listing milestones, activities, and
deliverables with intended start and finish dates, of which the scheduling of employees may be an
element. A production process schedule is used for the planning of the production or the operation, while
a resource schedule aids in the logistical planning for sharing resources among several entities.

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18756
DOI: 10.18535/ijecs/v5i11.05

Chapter – II

LITERATURE REVIEW
The Time Table Problem

During the time table generation process, numerous aspects have to be taken into consideration.
Almost a week of work of an experienced person is needed to produce a timetable for even a moderately
sized institution and the result is often not reasonable i.e. It does not meet all the requirements. What is
more, when the preconditions change, the whole work becomes unusable, and has to be restarted from
scratch. The informal definition of timetable can be stated as ―Timetabling is the allocation, subject to
constraints, of given resources to objects being placed in space time, in such a way as to satisfy as nearly as
possible a set of desirable objectives ―. These problems are subject to many constraints that are usually
divided into two categories: "hard" and "soft‖.

Time Table Constraints

1) Hard constraints: - Hard constraints have to be taken into consideration very strictly, because the
timetables that violate just one of these are unusable. The finite ―resources‖ belong to this group. The
constraint that one person cannot be in two places at once or that there is a maximum number of people that
can be accommodated in a particular room.[Burke and Newall(2002)] Many systems designed to treat
mainly the hard constraints have been proposed, some noteworthy of them are constraint based reasoning to
timetable generation [Banks(1998)] , hybrid approach based on heuristic [Abdullah & Hamden
(2008)],based on ordering heuristics [Rehman et al.] ,based on genetic algorithms [Colorni et al(1990)] etc.

2) Soft Constraints: - The timetable that violates these constraints is still usable, but it is not convenient for
either students or teachers, and it also makes more difficult to understand the lessons. The constraints under
this category are teacher‘s soft availability, capability of teacher to handle two or more consecutive lessons,
to name a few.

Chapter - III

TECHNOLOGY
3.1 PHP (Preprocessor Hypertext)

PHP is a server-side scripting language designed for web development but also used as a general-
purpose programming language. Originally created by Rasmus Lerdorf in 1995, the reference
implementationof PHP is now produced by The PHP Group. While PHP originally stood for Personal Home
Page, it now stands for PHP: Hypertext Preprocessor, a recursive acronym.

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18757
DOI: 10.18535/ijecs/v5i11.05

PHP code is interpreted by a web server with a PHP processor module, which generates the resulting
web page: PHP commands can be embedded directly into an HTML source document rather than calling an
external file to process data. It has also evolved to include a command-line interface capability and can be
used in standalone graphical applications.

3.1.1 History of PHP

PHP development began in 1994 when the developer Rasmus Lerdorf wrote a series of Common
Gateway Interface (CGI) Perl scripts, which he used to maintain his personal homepage. Zeev Suraski
and Andi Gutmans rewrote the parser in 1997 and formed the base of PHP 3,changing the language's name
to the recursive acronym PHP: Hypertext Preprocessor. Afterwards, public testing of PHP 3 began, and the
official launch came in June 1998. Suraski and Gutmans then started a new rewrite of PHP's core, producing
the Zend Engine in 1999. They also founded Zend Technologies in Ramat Gan, Israel.On May 22, 2000,
PHP 4, powered by the Zend Engine 1.0, was released. As of August 2008 this branch reached version 4.4.9.
PHP 4 is no longer under development nor will any security updates be released.

3.1.2 Functioning and Implementation

The PHP interpreter only executes PHP code within its delimiters. Anything outside its delimiters is not
processed by PHP (although non-PHP text is still subject to control structures described in PHP code). The
most common delimiters are <?php to open and ?>to close PHP sections. <script language=‖php‖> and
</script> delimiters are also available, as are the shortened forms <? or <?= (which is used to echo back
a string or variable) and ?> as well as ASP-style short forms <% or <%=and %>. While short delimiters are
used, they make script files less portable as support for them can be disabled in the PHP configuration, and
they are therefore discouraged. The purpose of all these delimiters is to separate PHP code from non-PHP
code, including HTML.

$_SERVER - is a PHP super global variable which holds information about headers, paths, and script
locations.

$_REQUEST - is used to collect data after submitting an HTML form.

$_POST - is widely used to collect form data after submitting an HTML form with method="post". $_POST
is also widely used to pass variables. Information sent from a form with the POST method is invisible to
others (all names/values are embedded within the body of the HTTP request) and has no limits on the
amount of information to send.

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18758
DOI: 10.18535/ijecs/v5i11.05

$_GET - can also be used to collect form data after submitting an HTML form with method="get". $_GET
can also collect data sent in the URL. Information sent from a form with the GET method is visible to
everyone (all variable names and values are displayed in the URL). GET also has limits on the amount of
information to send.

$_FILES - An associative array of items uploaded to the current script via the HTTP POST method.

$_ENV - These variables are imported into PHP's global namespace from the environment under which the
PHP parser is running. Other environment variables include the CGI variables, placed there regardless of
whether PHP is running as a server module or CGI processor.

$_COOKIE - It is often used to identify a user. This is stored on the user‘s computer so that every user will
be identified if who are they.You can create and get the value of a cookie. setCookie() function is the
function used to create a cookie.

3.1.3 Advantages of PHP

A) Open Source - PHP is freely available for use. The community of open source PHP developers
provides technical support and is constantly improving updating the core PHP functionalities. PHP is
available at free of cost under PHP General Public License and most of its associative required
software's like MySQL, Text Editors and Apache Server are also freely available, so it proves very
cost effective for the developers.

B) Cross-Platform - PHP provides high compatibility with leading operating systems and web servers
such as thereby enabling it to be easily deployed across several different platforms. PHP scripts can
run across operating systems such as Linux, Windows, Solaris, OpenBSD, Mac OSX etc. and also
provide support for all major web servers such as Apache, IIS, iPlanet etc

C) Power - Several web tasks can now be easily performed using PHP. For example now we can develop
from small websites to giant business and organizational websites, informative forums, chatting
platforms, CRM solutions, e-commerce shopping, community websites, e-business and gigantic
database driven sites.

D) User Friendly - Designed in a user friendly manner, PHP gives more flexibility than C, C++ and ASP
and overall helps in increasing traffic to the site.

E) Object Oriented - PHP actually has the ability to call Java and Windows COM objects. In addition to
this, you can create custom classes. Other classes can actually borrow from those custom classes as
well which extends the capabilities of PHP even further.

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18759
DOI: 10.18535/ijecs/v5i11.05

F) Quick - PHP is designed to work well with the web, and so things like accessing the GET and POST
and working with HTML and URLs are built-ins in the PHP language. This makes it really concise
and straightforward to make a website.

G) Extensions - Being an open source language, a large number of libraries and extensions, to extend its
core functionalities, are available for download. The source code of PHP can be modified to include
custom created extensions and components thereby increasing its extensibility.

H) Scalability - In the world of IT, the word scalability is like gold. Whether you‘re dealing with
databases, hosting, or in this case, programming, scalability is never a bad thing. Due to the way PHP
is built, you can easily increase your cluster size by adding more servers as your mini projects grow.
There are many hosting companies that will, for a few dollars a month, give you a server running PHP
so you can make a website really easily.

I) Automatically Refreshes - Nowadays developing dynamic websites are in the huge demand due to its
specific characteristics like it automatically refreshes and does not need to make many changes
manually.

J) Community Support - A huge advantage that PHP offers is its community. If you are looking for a
particular script, chances are another user has already created something similar. Check within the
PHP community for availability. Likewise, if you have created a function that others might enjoy, be
sure to post the code for others.

K) Easier to fix problems - When it comes to web application development, you‘re bound to run into
issues and come across the occasional ―fail‖. But the benefit you get with PHP is that problems aren‘t
as difficult to find and fix as they are with other languages. This is because with each request, PHP
cleans up and starts over. So an issue with one request will not necessarily disrupt another.

L) Security - PHP offers security as well that helps prevent malicious attacks. These security levels can
be adjusted in the .ini file.

M) Sessions - PHP provides extensive session and cookie management features and functions enabling the
creation and development of personalized web pages.

N) Graphics - PHP can be used to generate images and graphics dynamically. Using the image
functionalities available with PHP, the header information of images can be accessed and manipulated.
The library of PHP includes a host of features and functionalities that can be used to create images in
various formats, such as gif, jpeg and png.

3.2 Java Script

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18760
DOI: 10.18535/ijecs/v5i11.05

Java script originally supported by Netscape navigator is the most popular web scripting language
today. Java script lets you embedded programs right in your web pages and run these programs using the
web browser. You place these programs in a <SCRIPT> element, usually with in the <HEAD>element. If
you want the script to write directly to the web page, place it in the <BODY>element. Java script is mainly
used for client side validation, i.e., we can verify whether the entered credentials are in the required format
or not..

3.3 MySQL
MySQL is the world's second most widely used open-source relational database management system.
MySQL is named after co-founder Monty Widenius's daughter: My. MySQL is a popular choice of database
for use in web applications, and is a central component of the widely used LAMP open source web
application software stack. Free-software-open source mini projects that require a full-featured database
management system often use MySQL. MySQL is also used in many high-profile, large-scale websites,
including Wikipedia, Google.
MySQL is a relational database management system, and ships with no GUI tools to administer
MySQL databases or manage data contained within the databases. Users may use the included command
line tools, or use MySQL "front-ends", desktop software and web applications that create and manage
MySQL databases, build database structures, back up data, inspect status, and work with data records. The
official set of MySQL front-end tools, MySQL Workbench is actively developed by Oracle, and is freely
available for use.
Queries - A query is a question or a request. With MySQL, we can query a database for specific information
and have a record set returned.
Create a connection to a database -Before accessing data from a database, we must open a connection to
the MySQL server.

In PHP, this is done with the mysql_connect() function. The syntax is

mysql_connect(server-name, username, password);

Parameter Description

Optional. Specifies the server to connect to Default value is


Server-name
―localhost:3306‖.

Optional. Specifies the username to log in and the default value is


Username
the name of the user that owns the server process.

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18761
DOI: 10.18535/ijecs/v5i11.05

Password Optional. Specifies the password to log in with Default is ―‖.

There are more available parameters, but these are the most important. The connection will be closed
automatically when the script ends.

Closing a Connection - To close the connection before, we can use the mysql_close() function. The
connection will also be closed automatically when the script ends.
Create a Database - The ‗create database‘ statement is used to create a database in MySQL. To get PHP to
execute the statement above we must use the mysql_query () function. This function is used to send a query
or command to a MySQL connection.

CREATE DATABASE database_name

Create a Table
The CREATE TABLE statement is used to create a table in MySQL
Syntax
CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
)

MySQL Functions
mysql_affected_rows — get number of affected rows in previous MySQL operation
mysql_change_user — Change logged in user of the active connection
mysql_client_encoding — Returns the name of the character set
mysql_close — Close MySQL connection
mysql_connect — Open a connection to a MySQL Server
mysql_create_db — Create a MySQL database
mysql_data_seek — Move internal result pointer
mysql_db_name — Get result data
mysql_db_query — Send a MySQL query
mysql_drop_db — Drop (delete) a MySQL database
mysql_errno — Returns the numerical value of the error message from previous MySQL operation
mysql_error — Returns the text of the error message from previous MySQL operation

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18762
DOI: 10.18535/ijecs/v5i11.05

mysql_escape_string — escapes a string for use in a mysql_query


.
mysql_select_db — Select a MySQL database
mysql_set_charset — sets the client character set
mysql_stat — Get current system status
mysql_tablename — Get table name of field
mysql_thread_id — Return the current thread ID
mysql_unbuffered_query — Send an SQL query to MySQL, without fetching and buffering the result.
Chapter - IV

TESTING
Testing is a process, which reveals errors in the program. It is the major quality measure employed
during software development. During testing, the program is executed with a set of test cases and the output
of the program for the test cases is evaluated to determine if the program is performing as it is expected to
perform.
The objectives of testing are: To see that when correct inputs are fed to the system the outputs are
correct, to verify that the controls incorporated in the same system as intended. Testing is a process of
executing a program with the intent of finding an error. A good test case is one that has a high probability of
finding an as yet undiscovered error

Chapter – 5

REQUIREMENTS
XAMPP Installation Process

XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl. There are
packages for Windows, Mac, and Linux.
This article will walk you through the steps to install XAMPP on your computer.
Note: These are the Windows installation instructions – see the Apache Friends website for
the Mac and Linux installation instructions.

1. Download the installer file for the latest version of XAMPP, and save the file to your computer.

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18763
DOI: 10.18535/ijecs/v5i11.05

Fig 5.1: XAMPP Welcome Window

2. Next, you need to open the folder where you saved the file, and double-click the installer file.
You will be prompted to select the language you wish to use in XAMPP. Click the arrow in the
dropdown box, select your language in the list, then click OK to continue the installation process.

Fig 5.2: XAMPP Language Selection

3. For Windows 7 users, you will see a window pop up, warning you about User Account Control (UAC)
being active on your system. Click OK to continue the installation.
Next you will see the Welcome To The XAMPP Setup Wizard screen. Click Next to continue the
installation.

Fig 5.3: XAMPP UAC Message

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18764
DOI: 10.18535/ijecs/v5i11.05

Fig 5.4: XAMPP Wizard Starting Window

Fig 5.8: XAMPP Installation Finished Window

The Installation Complete screen will now appear. Click Finish to begin using XAMPP.
After clicking Finish in the previous screen, you will be asked if you want to open the XAMPP Control
Panel. Click Yes

Fig 5.9: XAMPP Installation


Completed Window

Fig 5.10: XAMPP Prompting To Start XAMPP Control


Panel

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18765
DOI: 10.18535/ijecs/v5i11.05

The XAMPP Control Panel allows you to manually start and stop Apache and MySQL, or install them as
services

Fig 5.11: XAMPP Control Panel

To start Apache or MySQL manually, click the Start button under Actions next to that module.

Fig 5.12: XAMPP Control Panel With Installed Services


Depending on your security settings, Windows 7 users will probably have a small window open, asking
if you want to allowxampp-control.exe to make modifications to your computer. Click Yes to allow
Apache or MySQL to start.

Fig 5.13: XAMPP Prompting to install Apache Service


Once again, you may have a security window open,
asking if you want to allow the modifications to your
computer. Click Yes to allow it.
Chapter - VI

SYSTEM ANALYSIS & DESIGN


SOFTWARE REQUIREMENT SPECIFICATION

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18766
DOI: 10.18535/ijecs/v5i11.05

A Software requirements specification (SRS), is a complete description of the behavior of a system


to be developed and may include a set of use cases that describe interactions the users will have with the
software. In addition it also contains non-functional requirements. Non-functional requirements impose
constraints on the design or implementation (such as performance,
engineering requirements, quality standards, or design constraints).

The software requirements specification document enlists all necessary requirements that are
required for the project development. To derive the requirements we need to have clear and thorough
understanding of the products to be developed. This is prepared after detailed communications with the
project team and customer.

Role of SRS
The purpose of the document is to collect and analyze all assorted ideas that have come up to define
the system, its requirements with respect to consumers. Also, we shall predict and sort out how we hope this
product will be used in order to gain a better understanding of the project, outline concepts that may be
developed later, and document ideas that are being considered, but may be discarded as the product
develops.

Chapter – VII

IMPLEMENTATION AND SCREEN SHOTS

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18767
DOI: 10.18535/ijecs/v5i11.05

Chapter – VII

CONCLUSION
Separate timetable for the individual class, faculty and labs are generated automatically by this
system. Various slot combinations can be acquired so that another timetable is generated as of need. The
project reduces time consumption and he pain in framing the timetable manually.The project is developed in
such a way that, no slot clashes occur providing features to tailor the timetable as of wish. Additional
features that is included in the project is that faculty replacement is also made possible by listing out the
available faculty who are eligible to be assigned as temporary faculty until a replacement faculty is assigned
The future enhancement that can be developed from the project is to generate the master timetable for the
departments and to the entire college. This enhancement can be achieved my making further modifications
keeping the approach and techniques used for this project.

REFERENCES
1. See Hojjat Adeli, Asim Karim, Construction Scheduling, Cost Optimization and
Management (2003), p. 54.

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18768
DOI: 10.18535/ijecs/v5i11.05

2. ^ Jump up to:a b c d Ofer Zwikael, John Smyrk, Project Management for the Creation of
Organisational Value (2011), p. 196: "The process is called scheduling, the output from which is a
timetable of some form".

Authors
D Raju is from the India. He received Bachelor’s Degree in Computer science Engineering from the BITS Adoni. He is
currently pursuing the M.Tech degree in JNTUA Affiliated College. His research interests include webdesining

V Mallesh is from the India. He is Currently Working as Head of the Department Computer science Engineering

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18769
DOI: 10.18535/ijecs/v5i11.05

D Raju, IJECS Volume 05 Issue 11 Nov., 2016 Page No.18755-18769 Page 18770

You might also like