A Software Program to Facilitate the
Construction of Exam Scheduling In An
Effective Manner
Ahmad Abdulqader Abuseeni1, Mutaz Rasmi Abu Sara2
1Department of Management Information Systems, Taibah University, Medina, Saudi Arabia
2Department of Computer Science, Taibah University, Medina, Saudi Arabia
Abstract. The process of establishing and organizing electronic exam schedules in universities and academic institutions has become urgent in light of the rapid development of computer systems and technical methodologies. This study provides a computer program to facilitate the establishment of exam schedules and guarantee the absence of conflicts for all the students in the target schedule. The program was built in a way that ensures appropriate results for the different conditions, instructions, and regulations imposed by each institution or university.
The main result was the production of an exam scheduling computer program that solves several key challenges related to schedules, students, conflicts, and courses. The program design is user friendly, and it allows users to report courses that are not in conflict with 100% accuracy. Also, there is another option to report the courses that are in conflict in order to obtain a conflict ratio, using a flexible and easy process. In addition, the program can be used to facilitate many tasks related to academic advising and various other educational affairs.
Keywords: Exam scheduling computer program; conflict; schedule constraints I. INTRODUCTION
The process of establishing exam schedules at colleges and institutions is a task that requires great efforts to ensure that there are no conflicts or overlaps that may cause problems during the execution. Electronic methods are used to prepare the exam schedules in the case of large, developed institutions and universities. In the case of less-developed institutions, traditional methods are used. The first case is effective when there is regularity in the teaching process at the beginning of the semester and all the students are enrolled by the system according to their study plan, so there are no stumbles or delays. However, problems occur when there are students with irregular study plans; it becomes difficult to organize an appropriate exam schedule without conflicts. Our program will facilitate the process of creating an exam schedule in all cases and will ensure that there are no conflicts for the students enrolled in any of the courses.
In the following sections, we will discuss previous studies, a statement of the problem, and the significance of the study, and in Section IV, the algorithm will be introduced in detail. The program is detailed in Section V, which is followed by the conclusion, results, and future work.
II. IMPORTANCE OF THE RESEARCH
This research is important for the following reasons: (1) it will facilitate the process of creating exam schedules for all cases; (2) it will solve the problem of conflicts in students’ exam schedules; (3) the program gives a conflict ratio for every pair of courses; this feature offers high accuracy in the table’s construction and flexibility in giving priority to courses where there is a higher rate of discrepancy; (4) the program is easy to use and cost-effective, making it suitable for all institutions, colleges, and universities.
slots, and exams; then, the exam schedule was developed through ants tracking pheromones and trying to make a path to find the optimal exam schedules. In [13], a schedule was generated by searching among heuristics, and this was achieved using an iterative local search and a set of movable operators that tended to improve the quality of the outcome schedule. A survey of different exam scheduling techniques can be found in [2] and [9]. A clonal selection algorithm to produce exam schedules was proposed in [14], wherein a set of solutions (antibodies) was developed, and the affinity (fitness) of those solutions was calculated based on a fitness function; after that, the fittest antibodies were chosen to be cloned with a certain degree of mutation in order to find better solutions. [11] discussed a honey-bee mating optimization algorithm used to find near-optimal exam schedules. The algorithm relied on a queen (current best solution), drones (trial solutions), workers (heuristics), and broods (new solutions). The algorithm first generated a pool of solutions where the best one was chosen as the queen and the others were considered drones. Drones (trial solutions) mated with the queen (current best solution) using crossovers, thus generating new solutions.
IV. THE ALGORITHM
The algorithm is illustrated in seven steps, as shown in Table 1.
TABLE 1.THE ALGORITHM.
1. Prepare a file (may be an Excel sheet) that contains the courses and students’ IDs, with each course in a column. The first cell will be the course name or code, and the other cells in the column will be the IDs of the students enrolled in that course, with no empty cells (empty cells, if any, can be converted to a value of -1 to be omitted during the algorithm execution). Then, the following steps must be applied.
2. Read the number of courses and the max number of students.
3. Initialize the array containing the courses and the students enrolled in those courses. 4. Compare each course with all the remaining courses to identify the courses in conflict.
5. If “with conflict” has been chosen, the number of conflicting students between each pair of courses will be determined. 6. The report shows the names of the courses and the courses that are in conflict, as well as the number of students who are in each pair of conflicting courses.
7. If “with conflict” has not been chosen, the report will show the name of each course and the courses that do not conflict with it.
V. PSEUDOCODE
To apply the algorithm, the following structured will be used: class Subject
{
string name; // the name of the course
string[ ] students; // students enrolled in the course
string values = ""; // list of courses that can be safely offered with the course
}
TABLE 2.PSEUDOCODE. Step 1:
int colCount -> count Range_Columns_Count // which refer to the number of courses int rowCount -> count the Range_Rows_Count
// which refer to the max number of students Step 2:
Subject[ ] subject -> Array of Subject with length [colCount]; // initialize the array containing courses and students enrolled in these courses
Step 3:
Boolean noConflict = true; // to decide whether there is a conflict
for (int fcourse = 0; fcourse < subject.Length; fcourse++) // fcourse - first course to be compared
{
for (int scncourse = fcourse + 1; scncourse < subject.Length; scncourse++) // scncourse - socened course to be compared
{
noConflict = true;
for (int frow = 0; frow < rowCount AND
subject[fcourse].students[frow] != null; frow++) {
if (subject[fcourse].students[frow].Equals("-1")) continue;
for (int scndrow = 0; scndrow < rowCount AND
subject[scncourse].students[scndrow] != null; scndrow++) { if (subject[scncourse].students[scndrow].Equals("-1")) continue; if(subject[fcourse].students[frow]. Equals(subject[scncourse].students[scndrow])) {
noConflict = false; break;
} }
if (noConflict == false) {
break; } }
if (noConflict == true) {
The overall algorithm is illustrated in Figure 1.
Figure 1. Algorithm methodology.
VI. THE PROGRAM
The application was built using C# because it is a powerful and type-safe, object-oriented language that supports the concepts of encapsulation, inheritance, and polymorphism. This enables developers to build a variety of robust and secure applications that can be run on the .NET framework.
VII. USER INTERFACE
Figure 2. User interface.
Figure 3 shows the next step: exporting from another program.
Figure 3. Exporting from another program.
Figure 5 shows the results without the conflict ratio.
Figure 5. Results without the conflict ratio.
Figure 6 shows the results with the conflict ratio.
Figure 6. Results with the conflict ratio.
VIII. HOW THE PROGRAM WORKS
First, prepare an Excel sheet containing the courses and students IDs; each course with the IDs of the students enrolled in that course must be in one column with no empty cells.Third, if a report of the courses that conflict is required, then activate the conflict check box. Fourth, from the main interface, click on the search icon to select the Excel sheet that has been prepared.The results will appear in the empty window within the main interface, and the results file will be stored in the same folder where the program is stored.
IX. CONCLUSION
X. REFERENCES
[1] Hasan, M.A., Hasan, O.A., 2016. Constraints aware and user friendly exam scheduling system. The International Arab Journal o f
Information Technology. Vol. 13, No. 1A, 156-162.
[2] Babaei, H., Karimpour, J., Hadidi, A., 2015. A survey of approaches for university course timetabling problem. Computers &
Industrial Engin. 86, pp. 43–59.
[3] Cavdur, F., Kose, M., 2015. Fuzzy logic and binary-goal programming-based approach for solving the exam timetabling problem to
create a balanced-exam schedule. Intl. J. Fuzzy Syst. 1–11.
[4] Gonsalves, T., Oishi, R., 2015. Artificial immune algorithm for exams timetable. J. Information Sci. and Computing Tech. 4, 287–296.
[5] Hosny, M., Al-Olayan, M., 2014. A mutation-based genetic algorithm for room and proctor assignment in examination scheduling.
Sci. and Information Conf. 260–268.
[6] Kalender, M., Kheiri, A., Ender, A., Burke, E., 2013. A greedy gradient-simulated annealing selection hyper heuristic. J. Soft
Computing. 17, 2279–2292.
[7] Larabi, S., Sainte, M., 2015. A survey of particle swarm optimization techniques for solving university examination timetabling
problem. Artificial Intelligence Rev. 44, 537–546.
[8] Lei, Y., Gong, M., Jiao, L., Zuo, Y., 2015. A memetic algorithm based on hyper-heuristics for examination timetabling problems. Intl.
J. Intelligent Computing and Cybernetics. 8, 139–151.
[9] Malkawi, M., Al-Haj Hassan, M., Al-Haj Hassan, O., 2008. A new exam scheduling algorithm using graph coloring. Intl. Arab J.
Information Tech. 5, 80–86.
[10] Pillay, N., 2014. A survey of school timetabling research. Annals of Operations Res. 218, 261–293.
[11] Pinedo, M., Zacharias, C., Zhu, N., 2015. Scheduling in the service industries: An overview. J. Syst. Sci. and Syst. Engin. 24, 1–48.
[12] Sabar, N., Ayob, M., Kendall, G., 2009. Solving examination timetabling problems using honey-bee mating optimization
(ETP-HBMO). Proc. Multidisciplinary Intl. Conf. on Scheduling: Theory and Applications (MISTA), Dublin, Ireland. 399–408.
[13] Selemani, M., Mujuni, E., Mushi, A., 2013. An examination scheduling algorithm using graph colouring: The case of Sokoine
University of Agriculture. Intl. J. Computer Engin. & Applications. 3, 116–127.
[14] Soria-Alcaraz, J., Ochoa, G., Swan, J., Caipio, M., Puga, H., Burke, E., 2014. Effective learning hyper-heuristics for the course
timetabling problem. European J. Operational Res. 238, 77–86.