0% found this document useful (0 votes)
104 views6 pages

Algorithm For Efficient Seating Plan For Centralized Exam System

Uploaded by

detel74956
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
104 views6 pages

Algorithm For Efficient Seating Plan For Centralized Exam System

Uploaded by

detel74956
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

2016 International Conference on Computational Techniques in Information and Communication Technologies (ICCTICT)

Algorithm For Efficient Seating Plan For Centralized


Exam System
Prosanta Kumar Chaki Shikha Anirban
Department of Software Engineering Department of Software Engineering
Daffodil International University Daffodil International University
Dhaka, Bangladesh Dhaka, Bangladesh
[email protected] [email protected]

Abstract— Exam seat allocation is one of the major concerns assignment [3],[7]. The Senior Capstone Project [5] of Prince
in quality education. With the increasing number of students, of Songkla University, Thailand is offered a solution but the
subjects, departments and rooms, exam seat management feature not effective enough. M.N.M. Kahar and G.
becomes complex. Maintaining a decent exam environment with Kendall [7] provided a solution for room assignment and
the proper seating arrangement is one of the difficult jobs for
they consider that only one exam will take place in one room
authority. This research offers solution for exam seating
arrangement problems that can be achieved through the
at a time, but it may create an opportunity to cheat in exam
sequential execution of three proposed algorithms. This research hall as like as copying from other. M. Ayob and A. Malik[3]
offers a solution for preventing some exam hall cheating by also did the same thing about the room assignment, but they
arranging seats for large students and it also finds out the best consider some special exam. This type of exam environment is
combination of rooms to be assigned for the exam to organize easy to maintain, but it does not ensure the quality of exam
perfect seating based on the room orientation and size, number of environment.
students, differentiation of subjects. To do this research, we have
To solve this problem, this research offers a system to
collected data and methods from a university those are being
generate an exam seat plan for a large number of students
used for their exam seating arrangement. By using university
exam information we test our algorithms. It provides better
from different subjects. This system mostly focused on
seating plan then the manual system used by the university. optimum uses of seats, having a distance of students getting
same query set to prevent cheating (copying from others) in
Keywords— Exam; Seating Plan; Seat Allocation; Algorithm the exam, avoiding seat overlapping and finally full seating
arrangement that is comfortable both for the students and
invigilators.
I. INTRODUCTION
A successful distribution of seats in exam is one of the II. PROBLEM ANALYSIS
primary concerns of a well prepared exam hall. While
distributing seats in the exam hall, authority tries to ensure a Though centralize exam affects educational achievement,
minimum distance between students to protect cheating as but it is essential for standard education [10]. Most of the
like as copying from “crib sheet” and other students [1], [6]. institutions are becoming unwilling to centralize examination
Another important issue is to utilize the best use of seats. The system [11] day by day. One of the major causes is that with
process of exam seat assign starts with the exam timetabling the increasing number of students, courses and departments, it
[2],[3] but in some cases timetabling is separate from exam becomes almost unmanageable to allocate proper exam seats.
seating [4]. Usually Exam seats are allocated manually based It is quite difficult to properly allocate the seats among a large
on some basic rules. Most of the cases, it demands high cost number of students whenever the students are from different
and time to provide the optimum solution while there are a subjects. We have to follow some preconditions for proper
large number of students and they are from multiple allocation of exam seats. Minimum one column of distance
disciplines or subjects. Some of the cases there are needs to be maintained while seating the students of the same
possibilities of having some empty seats, overlapping students subject. The students of different subjects should not be
with different subjects in the same column and also having no allowed into one column. The best use of the seats should be
distance between the students with getting same question set. confirmed. This may possible for a small number of students
As a result it becomes very tough for invigilators to control the to do it manually with fulfilling these preconditions, but for a
exam hall and also to ensure a proper exam environment. With large number of, it becomes harder.
the increasing number of students and subjects, it becomes To get rid of these hassles, some institutions encourage
more difficult to arrange the proper seat plan for the students. decentralize the exam system instead of the centralize exam
Most of the institutions do this process manually. Although system [11]. They offer the course teachers to arrange the
there have many related works of exam arrangement, exams individually for the students of the same course. But it
institutions face difficulties to do those works. Most is very hard for a course teacher to manage quality
difficulties arise from the exam timetabling and room examination while conducting exams this way. For
assignment problem. There are few solutions for exam room maintaining central examination some institutions offer one

Authorized licensed use limited to: Sardar Patel Institute of Technology. Downloaded on February 26,2024 at 04:06:13 UTC from IEEE Xplore. Restrictions apply.
978-1-5090-0082-1/16/$31.00 ©2016 IEEE
room for one exam to get rid of this hassle of preparing a IV. METHODOLOGY
seating plan. As a result the quality of examination as well as
education becomes questionable for lots of the educational A. System Description
institutions. In this research, we are going to offer a model and some
This exam seating problem can be simplified into two algorithm to solve exam seating problem. Our proposed
parts, the first part is exam timetabling and the second part is system is applicable for I shape seat allocation system. The
seating and room assignment. Our research objective is to find system needs two types of data as input, Room information
out the solution of exam seating or room assigning problems and Exam information. The total number of students must
to prevent cheating in exams. have to be less than or equal to the total seats. For offering an
optimum seating solution we followed some steps. These steps
The hard constraints of exam seating problems are as will be followed for each slot of examination.
follows:
Step 1: Two types of data sets are needed for exam seating,
H1: To prevent cheating (copying from another), no one is room information having room id, size of columns and
student of the same query set should allow to sit beside. rows; another is exam information with subject id and number
H2: Students having different query sets do not allow in of students. By processing room and exam information it will
nearest columns. calculate total number of seats and students. Finally it will
calculate the number of extra seats available after seating.
H3: As less as extra seats will be available in the exam hall
during the exam. Step 2: When the amount of extra seats is greater than any
room capacity, then it may possible of having one or more
H4: As many as seats will be used during the exam for extra room. In this step it will search those rooms, which will
student seating. be kept empty at the time of exam.
H5: The minimum number of exams takes place in a room. Step 3: Our main concept is to distribute column to the
subject so at first it needs to calculate the number of columns
III. SEATING TYPE and the capacity or number of rows for each column. To
prevent copying from other it tries to ensure at least one
There are no fixed rules for exam seating. Different column distance among students having same query set. That
institutions follow the different seat allocation methodology in is why it will also calculate maximum usable column and its
exam based on the number of students, capacity of seats, capacity for any subject.
environment and exam type. For all close book written and
MCQ exam authority tries to confirm a minimum distance of Step 4: Then it will allot columns to the subjects. By using
the students of the same subjects. Mostly two types of seating a combination of column size (row) we can ascertain the set of
methodologies are used for exam seating where the room is columns which will be assigned to subjects. After that it will
rectangular or square. These methodologies look like as the provide a set of columns for each subject. In best case extra
English letter X and I. seats are not required, but in worst case it may require to
assign some extra seats to subject for getting a set of column
Consider A and B are two subjects having only one for exam seating.
question set for each subject.
Step 5: We have subject having different column size and
number. We have also room identity which is represented by
column number and row number as column size. So the
common attribute is column size. By using this it assigns room
and column number to the subject by maintaining one column
distance between the columns having the same subject. After
completing the column and room distribution it will provide a
complete seating solution for the exam.
X I
B. Problem formulation and Calculation
Fig. 1. Exam seating types We have implemented those steps into three algorithms. In
this section we are going to represent cost and complexity of
Fig. 1.shows the X and I shape exam seating arrangement our proposed algorithm.
system. For X shape seat allocation system, students of the
same subject are not allowed in vertically or horizontally List of parameters for both algorithm and calculation:
nearest seat. In I shape seating methodology, students of the i=1. . . . . . . R
same subject are not allowed to nearest column, and they are
allowed to the nearest row. At least one column distance is j= 1. . . . . . .S
confirmed between two columns having same subject R = number of rooms
students. S= number of subjects
c[i]= Number of columns of room number i
r[i]= Number of rows of room number i

Authorized licensed use limited to: Sardar Patel Institute of Technology. Downloaded on February 26,2024 at 04:06:13 UTC from IEEE Xplore. Restrictions apply.
978-1-5090-0082-1/16/$31.00 ©2016 IEEE
Capacity[i] = c[i]*r[i] m represents the number of columns and 2m/3 Represents
students[j] = Amount of student of subject j the maximum usable column for each subject by maintaining
one column distance between same subjects.
Max[x] = Total number of columns of x sizes row;
a2 is used for calculating the column assignment cost for
Min[x] = Maximum usable Max[x] for any subject;
last half subjects. By assigning column for any subject of last
Row= it is an array which contains the row sizes. half the maximum usable column will decrease. We assume
m= (R is finally selected rooms for exam seating) that each subject needs m/s number of columns so equations
is:
The objective is to generate seating layout where the
column from room will be allocated to the subject for the
exam setting. The solution of this is formulated in following
term:
C=c1+c2+c3 So the second component c2 can be described by:
C means the cost or complexity of algorithms. The first
component is c1, which is represented by

Another component is c3which is the final stage of the


R is the number of room and S is the number of subjects. exam room and seat assigning.
Capacity[i] represents the seat capacity of a particular room i c3=2R+m
and Student[j] represents the number of students of subject j. Those calculations are based on worst case of algorithms.
This equation is used for calculating the complexity of extra
room determination. C. Algorithms
The second component c2 is describing the cost of column We have categorized this problem into three parts. The first
assigning to the subjects. part is room specification; second one is column distribution
c2=a1+a2 and last one is room and column assigning. We have written
algorithms for those three parts separately. Each algorithm has
a1 is used to compute the cost of column assigning for some specific input and output, but all of those algorithms are
first half subjects. working together to achieve one goal; that is proper seating
arrangement.
1) Description of the pseudo code of Room specification

Inputs: r, c, Capacity, S;
Outputs: emptyRoom, extraSeat.
1. Set extraSeat = ;
2. Set rNumber =1, tempESeat = extraSeat , eSeat=extraSeat, uRooms and eRoom are empty array;
3. emptyRoom= RoomDeletion( rNumber, eSeat, uRooms)(8);
4. Function RoomDeletion( rNumber, eSeat, uRooms):
a. If eSeat=Capacity[rNumber]:
i. Add rNumber in uRooms; Return uRooms;
b. Else if rNumber=R:
i. Return -1;
c. Else if rNumber+1<=R and (eSeat - Capacity[rNumber] )>0:
i. Add rNumber in uRooms;
ii. Value=RoomDeletion(rNumber+1,eSeat- Capacity[rNumber], uRooms);
d. If value= -1 or (eSeat - Capacity[rNumber]) <0:
i. Remove rNumber from uRooms
ii. If eSeat<tempESeat then set eSeat=tempESeat and eRoom= uRooms;
iii. Value=RoomDeletion(rNumber+1,eSeat,uRooms);
e. Return value
5. If emptyRoom = -1:
a. Set emptyRoom = eRoom; extraSeat= tempESeat;
6. Else Set extraSeat=0;
7 End;

Fig. 2. Pseudo code of Room Specification

Authorized licensed use limited to: Sardar Patel Institute of Technology. Downloaded on February 26,2024 at 04:06:13 UTC from IEEE Xplore. Restrictions apply.
978-1-5090-0082-1/16/$31.00 ©2016 IEEE
Algorithm: This algorithm can specify rooms for exam - A function is used for specifying rooms for keeping
seating. To make proper exam timetabling sometime it empty at the time of the exam is in step 4. Step 4a is checking
necessary to keep some empty seats. Sometime this number of if extra seats are equal to the capacity of the room. 4b is used
seats is very large. It may larger then some room capacity. In for the end of the loop; 4c and 4d keep record for the best
solution and also call this function again by setting new
this situation, it is essential to specify those rooms which will
parameters by analyzing the current condition of extra seats
be kept empty at the exam for qualitiful exam seating and rooms.
arrangement. The room specification algorithm is doing this
job. In this research. Fig. 2. shows the pseudo code of room - Update the list of extra rooms if the extra seat doesn't
specification algorithm. become zero in step 5.
- Calculation of extra seats from room information and At the end of this algorithm we found the minimum extra seats
exam information is in step 1. and some extra rooms.

Inputs: r, c, emptyRoom, extraSeat


Outputs: allocatedRow (contain the column size or row for each subject)

1. Set i=1,j=1,x=1;
2. While i<=R:
a. If i is not in emptyRoom (emptyRoom come from fig. 2)
i. Max[r[i]]=Max[r[i]]+c[i];
ii. Min[r[i]]=Min[r[i]]+c[i]/2;
iii. If r[i] is not in row then add r[i] in row.
b. Set i=i+1;
3. While j<=S:
a. allocatedRow[j]=columnAllocation(Students [j], row, a); (a is a empty array)
b. If allocatedRow [j]== -1and extraSeat>0:
i. Set Students [j]= Students [j]+1;
ii. extraSeat=extraSeat -1;
iii. Recall step 3.a;
c. else if allocatedRow [j]== -1 and extraSeat<0:
i. Select room from emptyRoom and delete from emptyRoom;
ii. Max[r[room]]=Max[r[room]]+c[room];
iii. Min[r[room]]=Min[r[room]]+c[room]/2;
iv. Set Students [j]= Students [j]+1;
v. extraSeat=extraSeat -1;
vi. delete m from result;
vii. Recall step 3.a;
d. While x<=length(row):
i. If x in allocatedRow [j]
1. max[row[x]]=Max[row[x]]- allocatedRow [j][ row[x]]
2. if Min[row[x]]>Max[row[x]], set Min[row[x]]=Max[row[x]];
e. j++;
f. Reverse row;
4. Function columnAllocation(std , row ,aColumn):
a. If std=0 return aColumn;
b. Set tem= ⌊std/ row [1] ⌋;
c. If tem<1 Return -1;
i. If tem>min[row [1]] then Set tem=min[row [1]];
d. Else if std==tem*row [1]:
i. Add row [1] and tem in aColumn; Return aColumn;
e. While tem>-1
i. Set y = aColumn and Add row [1] and tem in y;
ii. Value = columnAllocation(std- row [1]*tem, row without row[1], y);
iii. If value != -1 then Return value;
iv. Set tem=tem-1;
f. Return -1;
5. End ;

Fig. 3. Pseudo code of Column Allocation

Authorized licensed use limited to: Sardar Patel Institute of Technology. Downloaded on February 26,2024 at 04:06:13 UTC from IEEE Xplore. Restrictions apply.
978-1-5090-0082-1/16/$31.00 ©2016 IEEE
1) Description of the pseudo code of Column Allocation Algorithm: From the previous algorithms we have the
Algorithm: This algorithm ascertains the column which will information about a subject and allocated column size. This
assign to the subject. At first it calculates the total and the algorithm assigns room and column number to the subject
maximum possible amount of columns for each subject. Then based on defined column size. This process will be done in
different sizes of columns will assign for each subject. To do two steps. First, it categorizes the subject based on allotted
so the algorithm takes one column size and calculates column size. Second, it assigns subjects to each odd column
maximum number of seats that can be used to assign to the (based on position). After finishing all of the odd columns it
subject. If the exact amount of seats for one subject can be will assign subjects to even columns. Fig. 4. shows the pseudo
allocated by using one size of columns it is assigned otherwise code of room allocation algorithm.
another column size will be used. How many percentages of - Step 2 creates from for stores results.
which column size have already been used is calculated before -Step 3b categorizes subjects based on assigned column size;
column allocation for each subject. Based on this result less 3c assigns subject to the even number of columns and 3d
used column will give priority for assigning to subjects.Fig. 3. assigns subject to odd number of columns.
shows the pseudo code of column allocation algorithm.
V. RESULT AND DISCUSSION
-In step 2 it calculates the number of columns and
maximum usable columns for any subject. 1) Result: We have implemented those algorithms by
python code for calculating the cost and effectiveness of
- Step 3 creates link the main column allocation unit and
results. We have mainly focused on Result generation; Prevent
pre process the input set for that unit. 3a allots extra seats to
seats overlapping; Distance among the student having same
subject if essential and possible. If extra seats are not available
query sets; Minimal extra seats.
then 3b add a room for getting extra seats and add extra seats
Our algorithms successfully meet all hard constraints and
to the subject which require.
provide optimum results.
-A function who allocates the column to the subject is
written in step 4. 4a and 4c are for checking the ends of this
2) Comparison : We did not find any work on exam
Frecursive function; 4d and 4e are for checking the column
seating arrangements for preventing exam cheating, but some
size that will be used, 4f is for calculating how many
work already have done on the exam room assignment
particular sizes of columns will be used.
Problem; we have already discussed about those in the
3) Description of the pseudo code of Room Allocation introduction. That is why we have compared our result with a

Inputs: r, c, allocatedRow;
Outputs: allocated room number and column for each subject;
1. Set j=1, k=1, result as a array;
2. While k<=R:
a. If k is not in emptyRoom:
i. Add k as key in result;
ii. Add -1 into result[k] for c[k] time;
b. k++;
3. While j<=length(row):
a. Set i=1 and temp as empty array, k=1, l=1;
b. While i<=S:
i. If row[j] is in allocatedRow[i] then add i into tem for n time;(n= how many row[i] is assign for subject i)
ii. i++;
c. while k<=R:
i. if r[k]=row[j] and k is in result
1. Replace –1 in even position from result[kj] by subjet from temp one by one and delete
assigned subjects from temp.
ii. k++;
d. while l<=R:
i. if r[l]=row[j] and k is in result
1. Replace –1 in odd position from result[l] by subjet from temp one by one and delete
assigned subjects from temp.
ii. l++;
4. End ;

Fig. 4. Pseudo code of Room Allocation

Authorized licensed use limited to: Sardar Patel Institute of Technology. Downloaded on February 26,2024 at 04:06:13 UTC from IEEE Xplore. Restrictions apply.
978-1-5090-0082-1/16/$31.00 ©2016 IEEE
TABLE I. Result and comparison
Report generated from our proposed
Data sets Report generated from manual system algorithms
Date and time slot Extra Overlaps
Students Subjects seat Students Subjects Columns Extra seat Overlaps
26-04-13 D 704 10 30 14 4 2 2 0
26-04-13 C 665 10 30 14 4 2 0 0
26-04-13 B 656 10 37 12 4 2 2 0
26-04-13 A 785 11 33 0 0 0 3 0
03-03-13 C 686 9 7 3 2 1 0 0
09-07-13 A 837 10 42 0 0 0 1 0
09-07-1 B 867 11 42 12 6 3 3 0
09-07-13 C 399 6 47 0 0 0 0 0
09-07-13 D 661 9 28 18 6 3 2 0
10-11-13 B 377 5 41 0 0 0 0 0
Total 6667 81 337 73 26 13 13
Percentage 5.05% 1.09% 32.09% 0.19% 0%

real data set of a reputed university of Bangladesh named and seats are equal. In future we will try to solve these
Daffodil International University. problems.

We have tested those algorithms by using the exam seating REFERENCES


(subject information, room information, exam routine [1] R. D. Danielsen, A. F. Simon, and R. Pavlick, “The Culture of Cheating:
From the Classroom to the Exam Room,” Journal of Physician Assistant
information) data set of faculty of science and information Education, vol. 17(1), pp. 23-29, 2006.
technology of Daffodil International University. They generate
[2] A. Dammak, A. Elloumi, and H. Kamoun. "Classroom assignment for
seat plan manually. We have collected the data for exam exam timetabling," Advances in Engineering Software, pp. 659 -666,
seating from exam committee and select some dataset by using 2006.
a random sampling method to apply our algorithms in that [3] M. Ayob and A. Malik, “A New Model for an Examination-Room
data set. The results are shown in table I. Assignment Problem,” IJCSNS International Journal of Computer
Science and Network Security, VOL.11 No.10, 2011 .
We have analyzed 10 different time slots of the seat plan in
[4] E.K.Burke, B.McCollum, and P.McMullan, “Examination Timetabling:
the year of 2013. 6667 students and 81 different subjects were A New Formulation,” International Conference on the Practice and
on those exams. For these exams, they can use maximum 1024 Theory of Automated Timetabling (PATAT 2006), Brno, Czech
seats and 25 rooms, however the 5.05% extra seats were Republic, ISBN 80-210-3726-1, 2007 .
allotted for the exam, but also 32.09% subjects and 1.09% [5] T. Prabnarong and S. Vasupongayya, "Examination management
system: room assignment and seating layout," Proceeding of the Office
students were suffering on seat overlapping problems. A of Academic Resources International Conference, Phuket, Thailand, pp.
positive thing is that they ensured the minimum one column 25-27, 2011.
distance among those students who had same query sets. Same [6] S.Vasupongayya, W.Noodam, and P.Kongyong, “Developing
result, we have generated by our algorithm which used 0.19% Examination Management System: Senior Capstone Project, a Case
Study,” World Academy of Science, Engering and Technology, Vol:7
extra seats to provide no overlapping and other conditions. 2013.
[7] M.N.M. Kahar and G. Kendall, “The examination timetabling problem
VI. CONCLUSION at Universiti Malaysia Pahang: Comparison
This research solves one of the big issues of centralized of a constructive heuristic with an existing software solution,” MIT
Press and McGraw-Hill, ISBN 0-262-03141-8.
examination system by offering a series of algorithms. This
[8] M. Hegland, J. Garcke, and V. Challis, “The combination technique
will reduce a huge number of workload that have to be given and some generalisations,” Linear Algebra and its Applications, vol.
by the employees before exam to prepare an exam seating 420, pp. 249–275, 2007.
arrangement plan. Also this will reduce the risk of [9] S. Mathew and L. Ginsberg, “Dynamic Backtracking,” Journal of
mismanagement during exam like not having seats for all Artificial Intrelligence Research, vol. 1, pp. 25-46, 1993.
students, overlapping of multiple students in the same seat, not [10] Ludger Wobmann, “How Central Exams Affect Educational
Achievement: International Evidence from TIMSS and TIMSS-Repeat,”
having proper distance between students with same question Harvard University Program on Education Policy and Governance
sets, etc. Although the system does not provide the optimum Working Paper No. PEPG/02-10 y.
result for worst case like very big column size with very less [11] Maria De Paola and V. Scoppa, “A signalling model of school grades:
students but it is very effective for large amount of students centralized versusd ecentralized examinations,” JEL Classification: D02,
and seats. This gives good result while the number of students H42, I28.

Authorized licensed use limited to: Sardar Patel Institute of Technology. Downloaded on February 26,2024 at 04:06:13 UTC from IEEE Xplore. Restrictions apply.
978-1-5090-0082-1/16/$31.00 ©2016 IEEE

You might also like