Problem Statement
Academic scheduling at IMCS was done entirely by hand: class timetables, paper schedules, events, and seminars. The department runs three BS programs with morning and evening shifts, around 14 rooms, labs, and halls, and about 50 teachers, many of whom teach across programs. Avoiding teacher, room, and cross-program clashes manually was slow and error-prone.
Proposed Solution
An automated scheduling system where a genetic algorithm and Google OR-Tools generate timetables that respect hard constraints such as teacher and room availability, while soft preferences are scored through a weighted fitness function. Academic data lives in PostgreSQL, exposed through a FastAPI backend and a Next.js interface, and the same platform is being extended to paper timetables, events, and seminars.
Key Features
- Automated timetable generation using a genetic algorithm (chromosome, hard and soft constraint fitness, operators, constructive seeding) together with Google OR-Tools for constraint-based scheduling.
- Domain data model for programs, divisions, course schemes (per program and admission year), classrooms, teachers, courses, and timetables.
- Database seed and rematerialization utilities for loading real academic data.
- Next.js interface with dashboard, schemes, and timetables sections on top of a versioned FastAPI API.
- In development: paper timetable generation.
- In development: event and seminar management, and a performance matrix for evaluating schedules.
System Architecture Flow
Engineering Challenges
- Teacher initials collide across timetable sheets and refer to different people, so teachers are resolved by full name, using the original scanned timetables as the source of truth.
- Many teachers teach across both CS and AI, so cross-program clashes are enforced as hard constraints.
- Scheme documents arrive in inconsistent PDF and Word formats, so the design uses extraction with an admin review step instead of blind automatic parsing (in development).
Lessons Learned
- Choosing between metaheuristic search and exact constraint solving depending on the shape of the scheduling problem.
- Validating the scheduling logic on a small problem first, then scaling it to real department data.
- Real institutional data is messy, so original documents must be the source of truth over any digitized copy.
Results
Data scope: about 14 rooms, labs, and halls and about 50 teachers across 3 programs, taken from real 2026 timetables. No performance metrics yet.