Professional Documents
Culture Documents
Automated Time Tabling System
Automated Time Tabling System
Automated Time Tabling System
INTRODUCTION
1.1 BACKGROUND OF THE STUDY
A school timetable consists of a list of the complete set of offered courses, as well as the time
and place of each course offered. The purposes of the school timetable are to inform teachers
when and where they teach each course, and to enable students to enroll in a subset of courses
without schedule conflicts.
The academic environment has gone so complex that an automated system may be required to
automate certain aspects of the academic system. One such area of difficulty is timetable
scheduling; those saddled with the responsibility of time table creation are always faced with
challenges of creating effective system that will deliver its purpose.
Automation has been seen as a way of enhancing Manual activities. For instance, Manual
operations are characterized with some setbacks such as erroneous computation etc. with
automation, those setbacks are either eliminated or reduced to barest minimal. To this effect
application are being created to hide the manual operations and project automation.
The general task of solving timetable scheduling problems is iterative and time consuming. In
real world application, the participants to the timetable scheduling have conflicting preferences
which make the search for an optimal solution a problem. In order to solve the problem it is
necessary to find a compromise between all the parties involved in the requirement, usually
conflicting (e.g. day, time). The constraints are related to the availability, timetabling and
preference of each of the instructor, to rooms availability, number of student and curricula. In
order to solve this problem for the particular case of polytechnic system, timetable scheduling
has to adopt the computer-based approach. Computer-based approach enables the institution to
automate certain manual task and work efficiently. Also, in the particular case of timetable
scheduling, the automated system could find an optimal or a sub-optimal solution using mainly
inter agent communication.
1
1.2 STATEMENT OF THE PROBLEM
The scheduling problem can be defined as a problem of finding the optimal sequence for
evaluating a finite set of operation (task or job) under a certain set of constrains that must be
satisfied . A typical example of scheduling problem is timetable scheduling. The problems to be
solved by timetable scheduling are mapped out below.
1) Maximize individual in timetable scheduling or other resources.
2) Minimize time required to complete the entire process for timetable scheduling.
3) Production of timetable and of conflict interest, place, etc.
All these problems and more are to be solved so that the proposal solution for timetable
scheduling will be an enchantment over the manual.
1.3 AIM AND OBJECTIVES OF THE STUDY.
In solving problems of timetable scheduling, there is need for an effective and efficient
techniques or methods. The aim of this project is the develop an online timetable management
system for computer science department of kogi state polytechnic. The objectives are:
I. to have an effective and efficient timetable management system
II. to eliminate all the problems associated with the manual technique.
3
CHAPTER TWO
LITERATURE REVIEW
2.1 THOERY
According to Abacus (2017) increasing demands on expensive and scarce resources in education
are forcing the industry to adopt management style that emphasize more efficient utilization of
time, money and resources, both human and physical. Academic timetable assign resources to
teaching activities and represent the most accurate measure of how efficient the organization is in
terms of utilization. Educational institutions also provide valuable and complex service to
literally thousands of students, whose satisfaction can be one of the institution’s greatest assets.
And yet, many institutions still rely on manual timetabling techniques involving hundreds of
wasted main-hours or computer-assisted methods that merely create working timetables, without
attempting to optimize the allocation and utilization of resources.
Because time and resources utilization have direct financial implication and improvement of
even a few percent could lead to a substantial reduction in costs for an institution. Imagine being
able to avoid constructing a new building by making better use of existing venues or of
increasing student performance and throughput by providing all students with completely clash
free and evenly spread examination timetables.
According to Ausiello (2013) timetabling problem is an optimization problem. Furthermore,
Wikipedia (2018) expressed optimization problems as the problem of finding the best solution
from all feasible problems. The problems are listed below:
5. Time table scheduling that is done manually most times cannot be easily accessed by the
students.
6. There is a lot of delay that arises from the manual method used in timetable scheduling
For each optimization problems there is corresponding decision problem that ask whether there
is a feasible solution for some particular measure (Kann, 2012). Effective allocation of courses to
the availability lecture hall is optimization problem and centers on decision problem. In
computability theory and computational complexity theory, a decision problem is a question in
some formal system with a yes –or –no answer, depending on the values of some input
parameters.
Pius (2017) considered higher institution timetable creation system has constraint satisfaction
problems (CSP). CSP are mathematical problems defined as a set of objects whose state must
4
satisfy a number of constraints or limitations. CSP represent the entries in a problem as a
homogenous collection of finite constraints over variable which is solved by constraint
satisfaction methods. CSP are subject of intense research in both artificial intelligence and
operations. The regularity in their formulation provides a common basis to analysis and solves
problems of many unrelated families.
Polytechnic course timetabling problems (PTPS) are search problems in which subjects must be
arranged around a set of time slots so as to satisfy a given constraints and optimize a set of
objective. Scheduling under constraints hard or soft is complex task, having an NP-completed
degree of complexity {Piola. 2012} and generally is associated to dependant attribute domain so
necessitates specific optimization algorithms. This means that, in a space of possibilities of finite
time, deterministic and exhaustive search techniques may probably fail
2.2.2 CONSTRAINTS
Rudova, et al (2013) expressed that constraint can be classified as hand or soft. Hard constraints
are those to which a timetable has to adhere in order to be satisfied. A timetable is not viable if it
does not satisfy them. Soft constraints are also those which should not been violated, but if this is
not possible then the resulting timetable is not optimal. Valves of weights for various constraints
are specified.
5
2.2.3 INTERNET BACKBONE
Automata timetabling systems were designed to run on desktop system without Network
capabilities. Today, internet has revolutionized application. There are numerous applications that
now run on internet backbone. This enables integration of network capabilities to application
development.
According to Walter (2013), Internet is a global system of interconnected computer network that
enhance data by packet snatching, using the standardized internet protocol suite (TCP/IP). It is a
“network of network” that consist of millions of private and public, academic business and
government networks of local to global scope that are linked by copper wires, fiber-optic cables,
wireless connections and other technologies.
The internet is created to carry out various information resources and service, such as electronic
mail, online sales, online gaining and the inter-linked hyper fact documents and other resources
of the World Wide Web (WWW).
Internet has grown from plain tent to multimedia based system. This has enforced creation of
applications that run on internet protocol (IP) suite. Today many applications are working on the
internet backbone suing the World Wide Web as the communication channel.
6
researchers are still looking forward to heuristics that are suitable for their particular problems
(Causmaecker, P. D., Demeester, P. & Vanden B. G., 2002). On the other hand, there are many
solutions for the timetabling system, while each of them has their strengths and weaknesses.
Anisha Jain (2015) In this paper proposed an approach that solves time tabling problem. The
researchers’ approach takes into account many constraints including allocation of room, teacher,
course, time slot, etc. The algorithm builds the timetable in an incremental manner, dynamically
adjusting resources in order of complexity. The algorithm proposed is dynamic in nature. It deals
with managing certain constraints as input, then using heuristic approach to scanning all the
constraints on priority basis. The sequence of checking of constraints is also dynamic in nature.
Though this sequence of constraints can also be altered manually. He also outlined that there are
two approaches, in one course registration is done and then time table is generated while the
reverse is done for second approach. The first approach requires that course registration be
carried out well in time to generate the timetables in time. This was helpful when plenty of
resources were available and timetable generation easy. The other approach generates the
timetables first and then course registration is done. This approach was used when resources
were limited and utilization of those resources was needed. The authors have divided the
constraints into „Hard constraints‟ and „Soft constraints‟. Hard constraints are those that cannot
be avoided whereas soft constraints can be ignored if fulfilling them is not feasible. The main
constraint that the authors have taken under consideration is that one person (teacher or student)
cannot be at two places simultaneously or that there is limit on the number of persons
accommodated in a room.
7
3. Allows one to specify the full amount of hours a day for lecturers and classes.
4. Permit the timetable to be exported to html However, the following limitations has been
identified
1. Lack of multiuser use
2. Lack of independent platform
3. No accessibility from remote locations
4. Students cannot view timetable schedules by themselves.
CMIS Scheduler (CCM) An event-based planner that is able to coordinate not just the school
schedule, but any kind of activities, such as workshops, conferences, visits and other
school activities, it is also possible to use as a professional resource manager. The
preparation matrices allow a user to conveniently organize the school curriculum by
appointing lecturers and facilities, from developing the initial timetable to ensuring that
certain rules or constraints are not violated. The features for CMIS Scheduler include;
1. Color coding for displaying blocked and allocated routine status
2. Ordering of user-controlled courses, lecturers, subjects and facilities
3. Different planning layout
4. There is a drag and drop from one class to another in order to copy curricular elements
However, the following limitations have be identified
1. No support for other languages
2. Lacks export to other file-based applications
3. Lacks capabilities to combining multiple classes for a given period 4. No accessibility
from remote locations
Cyber-Matrix Class Scheduler is a perfect application for universities and other colleges
that need to plan classes easily. Block scheduling encourages classmates to be arranged
instead of only single students. A narrower resource footprint was also substituted by the
database engine. The features for Cyber-Matrix class scheduler include;
1. It is possible to join a group of required classes and pick a list of potential schedules
from.
2. You can schedule complete classes of students at one time.
8
3. Share scheduling details for all of your students and lecturers across ones network.
4. A search mechanism allows all students taking a single class or sharing a similar
classification, such as band students, to be found.
5. Non-English speaking users can quickly translate the text of the app into the
equivalents of their very own language. However, the following limitations have be identified;
1. Lacks export to other file-based applications
2. Lacks capabilities to combining multiple classes for a given period
3. No accessibility from remote locations
4. Students cannot view timetable schedules by themselves.
9
CHAPTER THREE
SYSTEM ANALYSIS AND DESIGN
3.1 INTRODUCTION
Putting in view the modern trend of software an immeasurable number of both generic and
customized system have been developed using different software development methodologies,
approaches, models, systems and methods.
System analysis is an assessment, description or explanation of a system usually based on careful
consideration or investigation. It is the summation of process that refers to the systematic
examination of a system. A system analyst carries out the investigation and examination to see if
the system is need to be kept at the current service level, needs to be improved or need to be
changed totally. This project is aimed at developing a system that speeds up a polling (election)
process by speeding up the vote count, heighten the security and credibility of an election,
reduces the human resources required, minimize the election time, provides voting conveniences
and eradicates or reduces election fraud to the lowest minimum. It should in addition provide a
hitch free election process. This chapter presents the system analysis and design methodology
adopted in the course of the development of this system.
10
3.3 WEAKNESS OF THE EXISTING SYSTEM
The existing manual method is characterized by the following problems.
1) Redundancy – this is a situation where a course appears more than where it surprise to
appeal in the timetable. Also, a course that is not supposed to appear in the timetable
appears. This problem is a common occurrence in the both academic timetables and
examination timetables.
2) COLLISION-This is a situation where courses collide with one others. For instance,
general study (GST) courses that are offered by many departments collide with some
department courses.
3) Delay-One of the major characteristic of the manual production or creation of timetable is
delay. This problem is due to the complexity and the iterative nature of the manual
system.
11
teachers, the characteristic of classroom, the students, all of them are examples of this type of
information.
In addition to constructing timetable for courses the system must be able to build timetable for
exams. The evolution of data in the case of exams follows the same path as the course with
exception that the data extracted essential to the construction of a timetable for a given period:
The courses offered during the that period, the availability of teacher for the period, etc. these
data are a prerequisite for timetable construction and will be entered before each construction.
The proposed system is also designed to avoid every necessary period clashes. The proposed
system allows drag and drop operation during time scheduling.
Start
No
Is Login details correct? Display login error
Yes
No
Yes
Is option = Manage Dept.? Display Department Page
No
No
Yes
Is option = Manage Course? Display Course Page
No
12
Is option = Allocate Timetable? Display Time Table Page
Stop
Time Table
∞ Time 1
Date
Courses
Rooms
13
Faculty Varchar 20 YES
14
CHAPTER FOUR
SYSTEM IMPLEMENTATION AND EVALUATION
4.1 PROGRAM DEVELOPMENT
Programming is the process of writing programs or codes execution in order to enable the
computer perform some specific task.
Implementation of systems involves the process of effective the conversion makes the system
call for an implementation or a modified software packages version. This therefore will run in a
computer which was above 2.54kilobytes free of memory space. This will replace the nature of
having to do with duty manually and less time will be utilized. Accuracy will therefore become
the key factor which will be touched on.
In this case, the major concern is to put this package into use. This involves the introduction of
familiarization of the new system to the children, teachers and parents. It also involves answering
their questions and explaining the method involved in the program. For any literate user, the
user’s manual will be of great help.
A good program brings about economic production of correct program and the program
specification defines the inputs, processing is needed by giving exact relationship between output
an input from which they are derived rather than prescribing hoe the program should be written.
In this system, the design used is the top down programming form. It starts with the introductory
screen with each form representing a single module. The introductory form is linked to the form
that corrects the subsequent menu.
The programming languages used in designing this software are HTML, CSS and
JAVASCRIPT. The HyperText Markup Language, or HTML is the standard markup language
for documents designed to be displayed in a web browser. It can be assisted by technologies such
as Cascading Style Sheets and scripting languages such as JavaScript.
CSS or Cascading Style Sheets is a style sheet language used for describing the presentation of a
document written in a markup language such as HTML. CSS is a cornerstone technology of the
World Wide Web, alongside HTML and JavaScript.
JavaScript, often abbreviated as JS, is a programming language that conforms to the
ECMAScript specification. JavaScript is high-level, often just-in-time compiled and multi-
paradigm. It has dynamic typing, prototype-based object-orientation and first-class functions
15
Adoption and Quick Start.
Flexible access to easier action
Improving governance and control.
Effective management of resources.
Strengthening daily collaboration.
Fluid Communication.
This system is menu driven that is, it runs under user control. Any literate users could operate it.
The user is therefore required to press key presented on the menu screen as is appropriate to
his/her choice of operations. The pressing of a wrong key does not result in serious error in
system execution. When the error occurs it might be ignored by the system.
16
e. An enhanced keyboard.
f. Cd Rom 48X and above, 3.5(1.44) FDD Drive.
g. Enhanced parallel or serial mouse.
h. Memory of about 128 megabyte and above.
17
4.3.2 OUTPUT INTERFACE
The output design was based on the inputs. The report generated gives a meaningful report to the
management.
18
4.6 CONVERSION TO THE PROPOSED SYSTEM
Parallel and direct are two major method of hand over to a new system, which is the parallel and
direct change over.
In direct hand over, the old system is kept and the new system becomes operational immediately.
In parallel hand over, it involves the old and new systems running concurrently, thereby using
the same input. This occurs after the outputs are compared and reasons for differences resolve. In
this regard, if the output from the new system is proven satisfactory, the old system at this point
is discarded and the new system becomes operational. This system or procedure is expensive but
however, it serve as s the standby, should the new system fails to meet its sets objectives. In the
case of this work, Users are advised to make use of the parallel hand over procedure.
Put on (that is “BOOT”) the system and move the mouse pointer on the screen to the start
button to pop up the windows taskbar.
Click the start button to pop up the start menu, move to the program file, this pops up
another list of programs available in the system.
Move to Microsoft Visual studio and then to Microsoft Visual basic 6.0 or if it is on the
desktop, the double click the icon. This will open the visual basic environment and a
dialogue box to open project that appears.
Choose the project by clicking and pressing the f5 or click on the run button to run or
execute the program.
19
This ensures an ongoing process after implementation, its purpose being to ensure that the
system continuously provide the desired service as planned. The user or educators may make
additional capabilities, since the computer industry is rapidly changing, maintenance would have
to be carried out. This maintenance includes updating the installation and modifying the correct
version to conform the program standard. File maintenance would also include updating and
expanding the new feature, modifying the file structure to accommodate changes in the
information requirement of the establishment
20
CHAPTER FIVE
SUMMARY, RECOMMENDATIONS AND CONCLUSION
5.1 SUMMARY
This project work presents architecture of a timetable creation system in an academic institution.
An objective guided approach to have an open and extensible architecture so that it would ensure
a long-life system. This project work started by considering the existing manual method of
creating courses and examination timetable in Computer Science Department of Kogi State. The
system also review the timetables scheduling system which is a typical optimization problem. It
is allocation of scarce resources such as lecture hall and lectures to causes. It is complex and time
consuming process. After a critical review of the existing manual approach, it proposed an
automated approach. An approach that generate academic work timetable and examination
timetable based on input parameters.
5.2 RECOMMENDATIONS
Being an application that is highly essential in university system, a further research is
recommended to cover post- graduate and other degree related courses.
The focus of this work is on first –degree courses. To effectively utilize the application all the
necessary constraints are to be put into consideration.
5.3 CONCLUSION.
The system is a distributed application which makes it possible to run on networked environment
and on the web. Some of the features of the developed timetables generation system are:
1) Web based interface - which also make the applications runnable from remote system.
2) Timetable generation for the administrator -The administrator uses the same
application to generate timetables for a particular semester.
3) Student Access – The can check academic timetable online/remotely.
The developed application was tested on windows XP and vista platform using WAMP as web
server softwares. The testing was successful. This testing was conducted on intranet
environments.
21
REFERENCES
Abacus Bayen (2007) –“Combinatorial optimization – automation approach”.
Kann B. (2002): “optimization problem” 3rd edition macmillian publisher, New York.
Rudova A. at. al. (2003) “Constraints based problems” 3rd edition Welsely publisher,
New York.
Waiter.Y. (2003) “Internet and web services” 2nd edition Apress, New York.
22
APPENDIX A (INPUT AND OUTPUT INTERFACE)
MANAGE FACULTY
MANAGE TIMETABLE
LOGIN SCREEN
23
VIEW TIME TABLE
$home = "dean.php";
if($_POST)
postResponse("redirect", $home);
header("Location: " . $home);
die();
24
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" type="image/png" href="images/favicon.png"/>
<script src="js/jquery.min.js"></script>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<title>TIME TABLE| Login</title>
<script src="js/form.js"></script>
</head>
<body class="center">
<div class="vspacer"></div>
<div class="box middle">
<div class="boxbg"></div>
<div class="elements">
<div class="avatar"><div class="icon key"></div></div>
<div class="title">Login</div>
<form id="loginform" method="post" action="login.php">
<input type="text" name="uName" class="styled username" required
placeholder="Username/Roll No." />
<input type="password" name="pswd" class="styled pswd" required placeholder="Password" />
<div class="blocktext info"></div>
<div class="center button" >
<button>Login</button>
<div class="loader">
</div>
</div>
</form>
</div>
</div>
<div id="footer" style="margin:0"></div>
</body>
</html>
INDEX.PHP
<?php
/**
* Provides interface to display the timetable
25
* @author Avin E.M
*/
require_once('functions.php');
require_once('connect_db.php');
$faculty="";$batchStr="";$department="";
if(sessionCheck('logged_in') && empty($_GET['faculty']) && empty($_GET['batch']))
$department = $_SESSION['dept'];
if(!empty($_GET['department']))
$department = $_GET['department'];
if(!empty($_GET['faculty']))
$faculty = $_GET['faculty'];
if(!empty($_GET['batch']))
$batchStr = $_GET['batch'];
?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" type="image/png" href="images/favicon.png"/>
<link rel="stylesheet" type="text/css" href="css/styles.css">
<link rel="stylesheet" type="text/css" href="css/dashboard.css">
<link rel="stylesheet" type="text/css" href="css/chosen.css">
<link rel="stylesheet" type="text/css" href="css/table.css">
<script type="text/javascript" src="js/jquery.min.js" ></script>
<script type="text/javascript" src="js/form.js"></script>
<script type="text/javascript" src="js/chosen.js"></script>
<script type="text/javascript" src="js/grid.js"></script>
<script type="text/javascript">
$(function()
{
$("#main_menu a").each(function() {
if($(this).prop('href') == window.location.href || window.location.href.search($
(this).prop('href'))>-1)
{
$(this).parent().addClass('current');
document.title+= " | " + this.innerHTML;
return false;
}
});
$("option[value='<?=$current['table_name']?>']","#table_name").attr('selected','selected');
$("option[value=<?=$department?>]","#department").attr('selected','selected');
$("option[value=<?=$faculty?>]","#faculty").attr('selected','selected');
$("option[value='<?=$batchStr?>']","#batch").attr('selected','selected');
$("select").chosen({allow_single_deselect: true});
26
$("select").change(function(){
window.location.href='./?'+$("#filters :input[value!='']").serialize();
})
<?php
$t=$current['start_hr'] .":". $current['start_min'] ." ". $current['start_mer'];
echo" drawGrid('{$current['table_name']}',{$current['slots']},{$current['days']},
{$current['duration']},'$t');\n";
$deptFilter = 'where dept_code=?';
$facFilter='';$batchFilter='';
$queryParams=[$department];
if(!empty($faculty))
{
if(empty($department))
{
$deptFilter = '';
$facFilter = 'where ';
unset($queryParams[0]);
}
else
$facFilter = ' AND ';
$facFilter.= 'uName=?';
$queryParams[] = $faculty;
}
if(!empty(explode(' : ', $batchStr)[1]))
{
if(empty($department))
{
$deptFilter = '';
unset($queryParams[0]);
}
$batchFilter = 'NATURAL JOIN (SELECT * FROM allowed WHERE batch_name=?
AND batch_dept =?) allowed_batches';
$batch=explode(' : ', $batchStr);
$queryParams[] = $batch[0];
$queryParams[] = $batch[1];
}
$queryString = 'SELECT course_id,course_name,day,slot_num,room,fac_name,batches
from slot_allocs NATURAL JOIN
(SELECT * from courses NATURAL JOI
27
28