Report PDF
Report PDF
PROJECT REPORT ON
BACHELOR OF ENGINEERING
(COMPUTER ENGINEERING)
SUBMITTED BY
is a bonafide student of this institute and the work has been carried out by him/her
under the supervision of Prof. Rachna Somkunwar and it is approved for the partial
fulfillment of the requirement of Savitribai Phule Pune University, for the award
of the degree of Bachelor of Engineering (Computer Engineering)
I would like to thank all those, who have directly or indirectly helped me for the
completion of the work during this project.
Amit Kumar
Anuradha Singh
Harshveen Khanduja
Apoorva Vibhute
B.E. Computer
Abstract
— Assigning timetable for all the faculty to finish the syllabus in time is
always a tough task. This is mainly because of the problem of assignments of the
subjects to the faculties in a given stipulated time. The reason behind this is,
every teacher is loaded with a certain amount of workload hours every day, and in
some scenarios this workload is being distributed in shifts. So for managing time,
according to each of the staff’s requirements while creating the Timetable is really
a cumbersome task. The major hurdle that is facing in this task is overlapping
of the teaching hours. So a very few existing software tools are there in online
which are eventually creates automatic time table based on the input of the staff
load. But all of them are very costly or they never reveal their characteristics
to the before buying. So to introduce a powerful and cost effective method of
generating the time table for the input details like number of allocated hours for
theory and a number of allocated hours for lab for a given teaching staff is the
much needed thing in the research. So this proposed system puts forwards an idea
of using the Shannon Information gain theory and Data permutation technique
for the synchronous data allocation process. And this idea is catalyzed by decision
making process which eventually yields a good Timetable without overlapping of
the scheduled time.
Automatic Timetable Generation Using Permutation and Decision Making
TABLE OF CONTENTS
LIST OF ABBREVIATIONS I
LIST OF FIGURES II
LIST OF TABLES III
SR TITLE PAGE
NO. NO.
1 INTRODUCTION 1
1.1 MOTIVATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 PROBLEM DEFINITION . . . . . . . . . . . . . . . . . . . . . . . 3
2 LITERATURE SURVEY 4
4 SYSTEM DESIGN 17
4.1 SYSTEM ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . 17
4.2 DATA FLOW DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.1 DFD Level 0 . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 Project Plan 28
5.1 Project Estimates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.1.1 Reconciled Estimates . . . . . . . . . . . . . . . . . . . . . . 28
5.2 Project Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.1 Operating Environment . . . . . . . . . . . . . . . . . . . . 29
5.2.2 Software Requirement . . . . . . . . . . . . . . . . . . . . . 30
5.2.3 Hardware Requirement . . . . . . . . . . . . . . . . . . . . . 30
5.3 Risk Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.1 Risk Identification . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.2 Risk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3.3 Overview of Risk Mitigation, Monitoring and Management . 33
5.4 Project Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4.1 Project Task Set . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4.2 Task Network . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4.3 Timeline Chart . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.5 Team Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5.1 Team Structure . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5.2 Management Reporting and Communication . . . . . . . . . 36
6 OTHER SPECIFICATION 37
6.1 ADVANTAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2 LIMITATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3 APPLICATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7 IMPLEMENTATION 38
7.1 Implementation Detail . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.2 Implemented Project Snap Shot . . . . . . . . . . . . . . . . . . . . 42
7.3 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3.1 Performance Testing . . . . . . . . . . . . . . . . . . . . . . 48
7.3.2 System Testing . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3.3 Recovery Testing . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3.4 Security Testing . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.3.5 Integration Testing . . . . . . . . . . . . . . . . . . . . . . . 49
7.4 Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8 RESULT AND DISCUSSION 51
8.1 Results and Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Appendix A APPENDIX 55
A.1 PROBLEM STATEMENT . . . . . . . . . . . . . . . . . . . . . . . 55
A.2 FEASIBILITY ASSESSMENT . . . . . . . . . . . . . . . . . . . . 55
A.2.1 Economic Feasibility . . . . . . . . . . . . . . . . . . . . . . 55
A.2.2 Deployment Feasibility . . . . . . . . . . . . . . . . . . . . 55
A.3 NP HARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
A.3.1 Computations, Decisions and Languages . . . . . . . . . . . 56
A.3.2 The Class P . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
A.3.3 The Class NP . . . . . . . . . . . . . . . . . . . . . . . . . . 57
A.3.4 P versus NP . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
A.3.5 NP Complete . . . . . . . . . . . . . . . . . . . . . . . . . . 58
A.4 MATHEMATICAL MODEL . . . . . . . . . . . . . . . . . . . . . . 59
Appendix B APPENDIX 62
Appendix C APPENDIX 64
Automatic Timetable Generation Using Permutation and Decision Making
List of Figures
A.1 NP Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
List of Tables
1 INTRODUCTION
This paper utilizes various techniques for solving the creation of a timetable.
The technique proposed in this paper utilizes, Entropy estimation, Shannon In-
formation Gain with the help of Genetic algorithm and Hungarian task allocation
to achieve an innovative solution to this problem.
But right after the big bang, the entropy of the universe increased, that is the
information required to describe the system with the plethora of stars and galaxies
that are in this universe. The entropy of the universe is ever increasing and will
keep increasing continuously.
Shannon Information Gain is one of the most commonly used algorithms for
the classification of data for the Data Mining procedure. The Shannon Informa-
tion gain is very similar to the concept of Entropy, which is a compelling measure
of disorderliness or the messiness of data. Classification algorithms have a very
distinct job to perform, that is splitting the data into smaller subsets. This is done
with the idea that the messiness will reduce with the further division. Therefore,
the Shannon Entropy has one central goal, that is the goal of any classification
algorithm, to reduce the entropy of the whole data.
1.1 MOTIVATION
Assigning timetable for all the faculty to finish the syllabus in time is always a
tough task. This is mainly because of the problem of assignments of the sub-
jects to the faculties based on the students requirements and interests. Usually
preparation of the timetable process never considers the opinions of the students
regarding the faculties. Many attributes regarding the faculties always matters
in maintaining the level of teaching quality like faculty knowledge, vocabulary,
and commitment towards the subject. Problem solving, efficiency in teaching and
many more.
2 LITERATURE SURVEY
Y. Rehman [1] explores the realm of education by isolating the most common
problems found in laboratory teaching in engineering universities, which impact
the overall understanding of a student. The authors performed an experiment for
the assessment of the instructors as the academic growth of a student is highly
dependent on the effectiveness of the instructor. The authors, therefore, observed
the results that prove that it is indeed true. The researchers also proposed a
model for a timetable that can segregate the resources efficiently and achieve lab
parallelization.
R. Badoni [2] states that the UCTP or University Course Timetabling Problem
is widely used for scheduling and allocating various rooms according to the stu-
dent’s needs and is maximized to achieve high efficiency. Sometimes, there have
been some inconsistencies that have crept into the scheduling process and that
has led to a decrease in the efficiency of the system. Therefore, the authors have
proposed the addition of the ACO or Ant Colony Optimisation algorithm to the
system which eliminates all the drawbacks in the system.
J. Zhong [3] expresses that the problem of railway timetable scheduling is one
of the most basic problems faced by the railway industry. As the railways are
needed for maintaining the quality of the service for the transport system, it is
imperative to solve the problem of the railway timetable scheduling efficiently.
Therefore, the authors have attempted to solve the problem by introducing the
enhanced Differential Evolution algorithm or the DE algorithm. this algorithm
eliminates all the inconsistencies of the previous PRTS versions and reduces the
wait time for the passengers drastically.
S. Limanto [5] explains that the examination of a thesis is one of the most im-
portant aspects of graduation. There are extensive techniques for the examination
of a thesis which starts from the organization of the examination timetable, which
is still being according to the traditional standard scheduling techniques. Due to
techniques being very old and dated, they are not as efficient and fast. There-
fore, to ameliorate this effect and incorporate all the constraints, the authors have
implemented a web-based system that utilizes the genetic algorithm for increased
efficiency in the timetabling process.
X. Yang [6] states that the UTCP or the University Course Timetabling Prob-
lem is a complicated problem that relies on the organization of the time-slots of
the lecturers and the classrooms and laboratories to get an efficient combination of
them to flow accurately. The area of UTCP has been a hot topic for r3esearchers
for a long time and a lot of solutions were suggested on this problem. There has
been an increased amount of interest in solving this problem as it can be utilized
for different applications outside of the university and be applied to solve some
practical problems.
the fact that it requires a lot of time and resources to also allocate and cannot be
done if the professors are busy with the workload. Most of the time timetabling
technique has largely been done manually which is a very time and resource in-
tensive approach. As most of the techniques that have been proposed rely on
optimization techniques, but the authors believe this problem could be solved by
using heuristics and achieve a better output.
Y. Ting-Hong [9] investigates the urgency of the timetabling for the purpose
of course planning, as it is very complicated to generate a working model of the
timetable. There are a lot of requirements that need to be fulfilled before plan-
ning a course timetable. The authors developed a technique that can calculate the
urgency of a particular timetable in the course planning. As the urgency of the
timetable task is calculated, it can be used to find the urgency function of space
and time. All of these predicted values are then adjusted to the specific college
through an analytic hierarchy process. This generated a generalized form that can
be used on any application or college.
scheduling action vector and timetable eigenvector, the researchers have utilized
a Naı̈ve Bayesian classification algorithm for mining the historical data efficiently.
The proposed system can generate and schedule timetables very efficiently in com-
parison with the conventional approach.
3 SOFTWARE
REQUIREMENTS AND
SPECIFICATION
3.1 INTRODUCTION
This Software Requirements Specification provides a complete description of all
the functions and constraints of the “Automatic Timetable Generation Us-
ing Permutation and Decision Making”. The document describes the issues
related to the system and what actions are to be performed by the development
team in order to come up with a better solution.
The basic idea of this project comes from the fact that assigning timetable for
all the faculty to finish the syllabus in time is always a tough task. This is mainly
because of the problem of assignments of the subjects to the faculties based on the
students requirements and interests. Usually preparation of the timetable process
never considers the opinions of the students regarding the faculties
The scope of this project includes project developer assisted by project guide. The
scope thus far has been the completion of the basic interfaces that will be used to
build the system. The database which is been using in the deployment is given
necessary permission by the admin. The constraints felt thus far by the devel-
oper have only been our weekly story cards, the end-to-end side of the interface,
This project is for the end users who are willing to use electronic time table in
educational field. This is having following characteristics:
• System Speed
• IDE Capacity
(b) System should secure the input data properly in database by giving proper
security for the data
(c) System should send Generate the time table so that within the stipulated
time all the subjects can be finished successfully
• Priority –High
Stimulus/Response Sequences
Functional Requirements
• Entropy factors.
3.2.2 Permutation
• Priority –High
Stimulus/Response Sequences
Functional Requirements
• Load Manipulation
• Priority –High
Stimulus/Response Sequences
Functional Requirements
• Decision vector.
• Our system interacts with the MYSQL database server software while performing
the different operations.
Our system’s different modules are communicating with one another on the fol-
lowing scenarios
High Speed:
System should process requested time table generation in good speed. Then
system must wait for process completion.
Accuracy:
System should correctly execute process, display the result accurately. System
output should be in user required format. That means all the intermediate steps
need to be display properly.
The system need to be properly converted into executable file format so that the
source code of the system will preserved from any kind of intrusions.
• System is extensible.
MYSQL 5.5
1) Platform: JAVA
4 SYSTEM DESIGN
5 PROJECT PLAN
Thus the total number of lines required is approximately 3.08 KLOC Efforts:
∧
E = 3.2 * (3.08) 1.02
E = 3.2 * ( 3.15)
E = 10.08
D = E/N
Cost Estimate
This cost can be calculated with the standard pay roll in India assigned to the
fresher software developer according to industry standard. So let we take some
amount as X per hour for developmentv.
2) Ubuntu
1. Platform: JAVA
3. RAM : 2GB
Answer : Yes
Answer : Yes
3. Are requirements fully understood by the software engineering team and its
customers?
Answer : Yes
Answer : Yes
6. Does the software engineering team have the right mix of skills?
Answer : Yes
Answer : Yes
Answer : Yes
Risk ID 1
Risk Description Over Users
Category Server Capacity
Source SRS
Probability LOW
Impact High
Response System Can Stop Re-
sponding
Strategy Can Count the num-
ber of Users and Rise
Alert
Risk Status Not Yet Occurred
Risk ID 2
Risk Description Over DB Size
Category User Manual
Source SRS
Probability Medium
Impact High
Response Server Can Stop Re-
sponding
Strategy Can Fix the DV Size
Threshold and rise the
alert
Risk Status Not Yet Occurred
The team structure for the project is identified. Roles are defined.
Mechanisms for progress reporting and inter/intra team communication are iden-
tified as per assessment sheet and lab time table.
6 OTHER SPECIFICATION
6.1 ADVANTAGES
1. Fast and proper time table generation.
3. Due Shortest time scheduler classes will finish in style within the stipulated
time.
6.2 LIMITATIONS
1. Working for some specific format of input.
6.3 APPLICATION
1. Schools and Colleges
7 IMPLEMENTATION
Step 1: Data Collection and Preprocessing - This is the primitive step of the
proposed model where an Administrator of an Engineering college who is in charge
of handling the automatic timetable creation software feed all the details of the
staff into the system. The details are including the Staff Complete name, Staff
name abbreviation, Staff handling theory subject name, Theory subject abbrevi-
ation, subject load per week in hours, practical subject name. practical subject
abbreviation, practical subject load per week, Semester and the Division.
Here the proposed model is designed to generate the timetable for 3 Even
semesters for the Computer science department. That includes the semesters like
4th, 6th and 8th with two Divisions A and B. Once admin enters all the data into
the system, then all the input data is properly validated and stored in the database.
Step 2: Entropy Analysis - Here in this process each and every staff from the
database is listed for the separate list for Theory time table generation and practi-
cal time table generation to merge both in the end. For this purpose a double list
is created which contains the columns like semester, division, Staff abbreviation
and theory load. And another list with the practical details.
Once this detail is being collected in the list, then the unique staff name is
collected in a list by subjecting all the name to hash set function. Then each of
the unique staff is counted for his name in all the semester for both the divisions.
So in this process total 6 classes are there like 4A,4B,6A,6B,8A and 8B.
So a count is estimated for a staff for all this 6 classes to evaluate the infor-
mation gain value which will be in the range of 0 to 1 as shown in the equation
1. Then all the staffs are labeled with this information gain value to sort them
in descending order using the Bubble sort technique. So the staff who is having
highest gain value holds the top position and this indicates that, the staff is having
theory or practical load in almost all the classes. So the proposed model gives first
priority to schedule his class timings which generating the timetable.
IG = − PT log PT − N
T
log N
T
——————–(1)
Where
In the similar way a another set of matrices is created for the practical subjects
and then both are merged to form a desired format of the Timetable. This contains
the subject name in abbreviated form, Staff name in abbreviated form and class
name. Which is eventually free from any of overlapping issues. This process is
depicted in the algorithm 1.
From This Frame admin add all the staff details like Staff Complete name, Staff
name abbreviation, Staff handling theory subject name, Theory subject abbrevi-
ation, subject load per week in hours, practical subject name. practical subject
abbreviation, practical subject load per week, Semester and the Division.
7.3 Testing
Our system can be recovered in span of 1 hour after crashing. Within one hour
we can install all the softwares and deploy our system to work as in the past.
Stress Testing
System is well equipped to stand against the break down points of maximum of
100 classes, After that the memory overflow exception may arise.
Unit Testing
All the modules are independently handled developed and ran to get proper output
and finally they are integrated to get the whole output.
When all the individual modules are integrated our system yields proper result of
source code refactoring that is cross examined for the desired output.
One of the most widely used techniques for the valuation of error is the Mean
Absolute Error or (MAE). This technique is capable of evaluating the margin of
error in terms of percentage and provides an effective and robust technique for the
evaluation of performance for the presented technique. The MAE parameter has
been utilized due to the fact that the parameters in this technique are continuous
entities which is a similar phenomenon.
( n
P
i=1 |xi−yi|)
M AE = n
Where,
xi - Number of Actual Trials Conducted.
yi - Number of Accurate Timetables Generated.
n- Number of Experiments Conducted.
Table 7.1 above discloses some important aspects about the calculation done
in this process which is eventually utilized to generate the Mean Absolute Error.
There were 10 Experiments done in total, with each experiment containing 10
trials. The resultant values have been plotted onto a graph depicting the process
given in figure 7.2 above. The Mean absolute error estimated for this technique is
0.03, which is exceptionally low. Which is a good sign for the proposed technique.
9 CONCLUSION AND
FUTURE WORK
9.1 Conclusion
The person who is in charge of timetable creation through a manual work in ed-
ucational organization knows the complexity of this task. As mentioned earlier,
there are very few costlier softwares are available in the market to generate the
timetable automatically. This proposed model generates the time table for the
computer department of a Engineering college for the semesters 4th,6th and 8th
with two divisions namely A and B.
Here proposed model uses the Shannon information theory to estimate the impor-
tance of a staff based on his distribution of the classes in all the divisions. Then
by using the permutation and parallel data allocation through decision making
efficient timetable is generated for all the divisions of all the semesters without
any overlapping issues. The performance of the model is evaluated using the
Mean absolute Error which yields a better result of around 0.03, which is eventu-
ally represented the error rate, which is in turn is very low and indicates better
performance of the system.
A APPENDIX
The proposed model is developed using open source IDE and Database Server like
Netbeans and Mysql. And again the proposed model is not using any licensed
tools or API to develop the model so the while developing the project there is no
need of investments of funds.
Installation manual of software can be provide to the end user with all easily avail-
able open source development kit. And it takes less than an hour of time to do
all the setup for even a untrained person.
A.3 NP HARD
The most common resource to analyze software is time and number of execution
steps, this is generally computed in termsof n. We will use an informal model of
a computer and analgorithm. All the definitions can be made precise by using a
model of a computer suchas a Turing machine.
The collection of all problems (Algorithms or methods that we are using in our
project) that can be solved in polynomial time is called P. That is, a decision
question is in P if there exists an exponent k and an algorithm for the question
that runs in time O(nk ) where n is the length of the input.
The collection of all problems that can be solved in polynomial time using non
determinism is called NP. That is, a decision question is in NP if there exists an
exponent k and an non deterministic algorithm for the question that for all hints
runs in time O(nk ) where n is the length of the input.
A.3.4 P versus NP
It would seem that P and NP might be different sets. In fact, probably the most
important Unsolved problems in Mathematics and Computer Science today is:
Conjecture. P 6= NP
If the conjecture is true, then many problems for which we would like efficient
algorithms do not have them. This would be sad. If the conjecture is false, then
much of cryptographic under threat. Which would be sad.
A.3.5 NP Complete
Definition
a) It is in NP; and
Example
0
Hm (changed module) will be the changed module
0
If (Hm ∈ S)≤ T
Where F=Feedback
S={VF n }
3. Identify TS as Output i.e. Time Table Generation
S= { FL , TS }
4. Identify Process P
S= { FL , P, TS }
P={ EA , P, DM }
Where EA = Entropy Analysis
P = Permutation
DM = Decision Making
5. S={ F L , EA , P, DM , TS }
1. Entropy Analysis
Set EA :
EA =Distribution Factor
EA =Factor count
EA =Gain Analysis
2. Permutation
Set P:
P1 =Thread Allocation
3. Decision Making
Set DM :
DM 0 =Protocol Setting
DM 2 =IF-then Rules
DM 3 =Decision Analysis
1. Union Representation:-
Set P={ P0 , P1 , P2 , P3 }
B. Set DM ={ DM 0 , DM 1 , DM 2 , DM 3 }
B APPENDIX
REFERANCES
[1] Yawar Rehman, Ghous Bakhsh Narejo, and Shoaib Zaidi, “An Experiment
for TestingEfficiency of EffectiveTeaching Model and Comprehensive Use ofLim-
ited Resources”, IEEE International Conference on Teaching, Assessment, and
Learning for Engineering (TALE) 2012.
[6] Xiao Fei Yang, MasriAyob, MohdZakree Ahmad Nazri, “An Investigation
[7] Maria Weslane Sousa Almeida, Jo˜ao Paulo Souza Medeiros, and Patrıcia
Rufino Oliveira, “Solving the Academic Timetable Problem Thinkingon Student
Needs”, IEEE 14th International Conference on Machine Learning and Applica-
tions, 2015.
[9] Yang Ting-Hong, Dan Qi1, Shen Xiao-Na, Zhao Jingand Xie Li, “The
Urgency Of Timetable Task In Course Timetable Planning”, The 2010 Interna-
tional Conference on Apperceiving Computing and Intelligence Analysis Proceed-
ing, 2010.
C APPENDIX
Plagiarism Report