Loading...
Degree
Bachelor of Science (Computer Science)
Department
Department of Computer Science
School
School of Mathematics and Computer Science (SMCS)
Advisor
Dr. Ahmed Akhtar, Assistant Professor, Department of Computer Science
Keywords
Examination Timetabling, Constraint Optimization, Metaheuristics, Simulated Annealing, Great Deluge, Hill Climbing, Academic Scheduling, Next.js, TypeScript, UniTime
Abstract
The Examination Timetabling Problem (ETP) is a highly constrained, NP-hard optimization problem faced by academic institutions worldwide. The challenge lies in assigning exams to a limited number of time periods and rooms while satisfying hard constraints, such as preventing student exam overlaps, and optimizing soft constraints, such as minimizing back-to-back exams and maximizing room utilization. While established systems like the Java-based UniTime offer powerful solvers, their integration into modern, lightweight web architectures remains difficult due to heavy deployment footprints and dated interfaces.This project introduces the IBA Exam Scheduler, a full-stack exam scheduling application built on Next.js, Prisma, and SQLite. Its core contribution is a native TypeScript implementation of an advanced exam scheduling engine inspired by UniTime. The solver employs a multi-phase optimization pipeline: a greedy Construction Phase using constraint-based sorting, followed by Hill Climbing for local optimization, and metaheuristics such as Simulated Annealing and Great Deluge for global optimization.Experimental results demonstrate that the solver schedules 100% of exams in test datasets without violating any hard constraints, with metaheuristic techniques outperforming pure local search. By wrapping this engine in a Next.js framework, academic administrators gain a seamless dashboard to configure parameters, upload datasets, trigger solver runs, examine diagnostics, and visualize generated timetables in real time. The system shows that modern web technologies can support sophisticated optimization workloads traditionally associated with standalone scheduling platforms, improving accessibility, maintainability, and usability.
Tools and Technologies Used
Next.js, React, TypeScript, Prisma ORM, SQLite, PostgreSQL, Tailwind CSS, Shadcn UI, Git, Visual Studio Code
Methodology
The system was developed using a layered architecture separating the presentation, application, data, and optimization layers, allowing each subsystem to evolve independently. The frontend was built with Next.js, React, Tailwind CSS, and Shadcn UI; a RESTful API layer coordinates requests, validates inputs, and triggers solver runs; Prisma ORM handles data access over SQLite and PostgreSQL; and a custom TypeScript engine performs the scheduling.
A relational schema was designed around the core entities like Academic Sessions, Examinations, Periods, Rooms, Distribution Constraints, and Solver Configuration , to represent institutional scheduling policies. Scheduling was modelled as a constraint optimization problem with hard constraints (no student exam overlaps, room capacity limits, valid period assignments) that must never be violated, and soft constraints (minimizing back-to-back exams, balancing daily load, improving room utilization) captured through weighted penalties.
The solver follows a multi-phase pipeline: a greedy Construction Phase generates an initial feasible timetable by scheduling the most difficult exams first; Hill Climbing then applies local search operators (period reassignment, room reassignment, exam swaps) to reduce penalties; and Simulated Annealing and Great Deluge metaheuristics perform global optimization to escape local optima.
The system was evaluated on a realistic university dataset through functional testing, unit testing of solver components, performance/convergence analysis, and manual inspection of generated timetables.
Document Type
Restricted Access
Submission Type
BSCS Final Year Project
Recommended Citation
Arshad, S., Adnan, S., & Raheel, U. (2026). IBA Exam Scheduler. Retrieved from https://ir.iba.edu.pk/fyp-bscs/27
Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License.
COinS
