Skip to content
Opt Dir

Education ยท Course Timetabling

Which Course at Which Hour, in Which Room?

Education 5 min read
#course timetable #school schedule #educational scheduling #class timetable #teacher assignment #weekly schedule

Drawing up the weekly course timetable at a school, learning center or university โ€” a conflict-free schedule under teacher, classroom, room and student-group constraints (known in the literature as Timetabling).

In plain words

Every term, a private school with 15โ€“50 teachers, 8โ€“30 classes, and 5โ€“20 rooms, a 30โ€“100-teacher learning center, or a 50โ€“200-course university faculty must produce the weekly course timetable. The decision: which course is taught by which teacher, on which day, at which time, in which room. Constraints to honor in parallel: teacher availability (most teachers have certain hours when they can’t teach), room capacity and type (lab, music room, gym), student-group non-overlap, limits on consecutive periods, lunch breaks, and pedagogical preferences (e.g. no academic class right after PE). Manual preparation for 50โ€“100 courses takes 2โ€“5 days of labor; above that, weeks of negotiation, teacher complaints, and last-minute revisions become routine.

Sound familiar?

  • At term start, the head spends 5โ€“10 days at the desk drafting the weekly timetable; then 3โ€“7 teachers say 'I'm not available at that hour' and it's redrawn
  • A last-minute clash surfaces: the same class has two courses overlapping, or two teachers share the same room
  • Some teachers are heavily loaded, others light โ€” workload imbalance is a year-long complaint
  • When a lab room (chemistry, biology, computer) can't be allocated, the class runs theoretically โ€” quality suffers
  • PE first thing at 08:00 followed by concentration-heavy math โ€” pedagogical flow is broken
  • Teacher preferences are taken 'verbally,' no record kept; the same debate repeats every term
  • In a university faculty, one person spends 2โ€“3 weeks on a 50+ course timetable; change requests still arrive 1โ€“2 months later

Why it matters

Manual timetabling leaks money on five channels: (1) administrator time โ€” 5โ€“15 days of the principal’s or coordinator’s term-start time, (2) teacher dissatisfaction โ€” unfair workload drives staff turnover, (3) pedagogical quality loss โ€” courses mis-sequenced (hard subjects at tired hours, lab-required courses taught theoretically), (4) room/resource underuse โ€” labs and special rooms below capacity, (5) late revisions โ€” even when term has started, the plan keeps changing, stressing students and parents. The operations research literature shows that systematic timetabling can drive conflicts to zero and improve teacher-workload balance by 20โ€“40%. For a 30-class private school, that’s a $10Kโ€“30K annual savings potential โ€” on top of measurable pedagogical quality gains.

How it's solved

Technical depth

One-liner: Honor the ‘zero clash’ rule first โ€” no teacher in two rooms, no class with two courses at once. Then optimize for teacher preferences and pedagogical flow (no academics right after PE). Invert that order and the plan looks clash-free but paints itself into a corner.

What the software is really doing is this: the weekly timetable a principal builds by hand over 5โ€“10 days, it constructs for 100โ€“300 courses in seconds; when a teacher changes or a pedagogical preference is updated, it re-plans in minutes. Three stages:

1. It describes the courses, resources, and constraints. Per course: which class group it serves (e.g. 9A), the teacher, the weekly hour count, the required room type (regular classroom / lab / gym / music room), and whether it must run in consecutive blocks (e.g. a 2-hour block). Teacher availability (who is free on which days and hours), room capacity and properties, the conflict map of student groups. Pedagogical preferences (no academics right after PE; mathematics in the morning) enter as soft constraints.

2. It produces the best schedule. The software does not try every possible courseโ€“timeโ€“room match โ€” for 100 courses ร— 40 hours ร— 20 rooms that is mathematically impossible (the combinatorial count is astronomical). Instead, it uses operations research (a discipline that uses math and computing to solve business-decision problems) and constraint programming (CP โ€” a method that automatically balances ’this rule + that rule + this other rule must all hold’) algorithms to take intelligent shortcuts: first it satisfies the hard constraints (zero conflicts), then it optimizes the soft preferences (teacher preferences, consecutive-period limits). The result comes in minutes โ€” a full weekly schedule: which course, which day, which time, which teacher, which room.

3. It moves through approval and publication. The principal reviews the draft and can pin soft constraints (e.g. ‘Wednesday 09:00 music stays fixed’); the software adds the constraint and re-computes. The approved schedule lands on teacher and parent apps. Mid-term, a teacher change or resource update triggers a localized re-compute โ€” only the affected portion changes.

It does not replace pedagogical judgement; think of it as a calculator that scales the 15โ€“20 course adjustments you do in your head to 300, starts every solution at zero conflicts, and numerically balances teacher preferences. The decision is still yours, but the ‘is it mathematically feasible’ answer is in your hands in minutes.

Alternatives

Paper-pencil + spreadsheet

Free

Free (administrator time is the cost)

Who it fits: 1โ€“3 classes, 5โ€“10 teachers, simple program

  • + Zero software cost
  • + Flexible โ€” instant change is easy
  • + No capex decision
  • โˆ’ At 20+ classes, the 5โ€“15 days of admin time is significant lost productivity
  • โˆ’ Conflicts must be searched by eye; misses are common
  • โˆ’ Teacher workload balance can't be checked numerically
  • โˆ’ Mid-term changes break the whole plan

Timetable module inside a school management system

Enterprise

$200โ€“800 setup + $50โ€“200/month (regional SMB pricing)

Who it fits: 10โ€“30 class private school, learning center, kindergarten chain

  • + Local-language interface and support
  • + Parent communication (SMS, app) integrated
  • + Wired to attendance and grading systems
  • โˆ’ The timetable module is usually 'conflict detection' โ€” no true timetabling optimization
  • โˆ’ Teacher-preference weighting is absent or basic
  • โˆ’ Insufficient for university scale

International specialized timetabling software

Enterprise

$50โ€“200/year/school subscription, or $20,000โ€“100,000/year licence (large scale)

Who it fits: University, large high school, multi-campus operator

  • + Mature: constraint programming engine, zero-conflict guarantee, pedagogical-preference weighting
  • + Exam and event timetabling integrated
  • + Algorithms hardened over years
  • โˆ’ High licence and consulting cost
  • โˆ’ Rollout takes 2โ€“4 months
  • โˆ’ Local curriculum (ministry rules, semester structure, exam calendar) requires adaptation

Custom build on an open-source CP solver

Open Source

Licence free; 8โ€“16 weeks of internal development, or $50,000โ€“200,000 of consulting

Who it fits: Large university or multi-campus school chain

  • + No licence cost
  • + Fully customizable to your pedagogical rules
  • + Cloud or on your own server
  • โˆ’ Requires internal technical capacity + constraint-programming expertise
  • โˆ’ Ongoing maintenance is real work
  • โˆ’ Pedagogical rule changes must be translated into the mathematical model

Recommendation

Small
1โ€“3 classes, 5โ€“10 teachers: Paper-pencil or spreadsheet is enough. Annual software cost $10Kโ€“25K against similar admin-time savings โ€” ROI is tight. First, standardize the teacher-availability form.
Medium
10โ€“30 classes, 20โ€“50 teachers, private school/learning center: Timetable module in a school management system. 4โ€“8 week pilot (at term start). Reasonable success bar: zero conflicts, admin time down 60%+, teacher workload standard deviation cut by 25%. Typical monthly cost: $80โ€“250.
Large
30+ classes, university faculty, or multi-campus: Specialized timetabling software. Total annual cost of ownership $30Kโ€“150K. Payback in 12โ€“18 months โ€” industry studies report 70โ€“90% admin-time reduction and measurable pedagogical quality gains.

Ask in the meeting

  • Does the engine run real timetabling optimization (hard constraints + soft-preference weighting together), or only conflict detection?
  • How does teacher-preference weighting (e.g. 'no Friday afternoons' as a strong preference) feed the model? Can preference weights be adjusted by the administrator?
  • How are lab/special-room constraints (e.g. chemistry lab limited to 6 hours/week) entered?
  • Are local curriculum constraints (weekly hour minimums per subject by grade level) pre-loaded for your country?
  • When a teacher changes or class groups merge mid-term, how fast does the plan recompute?
  • Are exam and event (meeting, parentโ€“teacher conference) schedules handled in the same engine or separate modules?
  • How do you structure the pilot โ€” how many classes, how many weeks, what is the success bar?
  • If we stop working with you, how do we get our course, teacher, class, and historical timetable data back? Is there a standard export format?

Technical details

Editor’s note

On the principal’s desk this problem is known as ’the timetable’, ’the weekly schedule’, or ’the term plan’. The academic name is the Course Timetabling Problem. Its mathematical formulation goes back to Gotlieb in the 1960s; today it is the most common test problem of constraint programming (CP) research. The PATAT conference (Practice and Theory of Automated Timetabling) gathers the field every two years. Without that vocabulary, in a software demo you cannot tell whether the ’timetable module’ being pitched is an engine with a zero-conflict guarantee, or just a visual calendar for a plan you build by hand.

The point most often overlooked in this segment: many school management systems advertise ‘produces the timetable’ but underneath they only have a conflict-alert system โ€” you draft the plan, they warn ’two courses overlap in this class’. A real timetabling engine systematically tries combinations of course-time-teacher-room; filters down to zero-conflict solutions; then picks the one with the highest soft-preference score (teacher availability, pedagogical flow). In any demo, insist on a 30-class + 50-teacher + 5-lab + 200-course + 10-pedagogical-preference scenario, and ask ‘does the solution arrive in minutes and is the conflict guarantee zero?’

A step-by-step path for an SMB

Stage 1 โ€” Measure first, plan later. For the last 1โ€“2 terms, log four things:

  • Hours the principal or coordinator spent on timetable preparation (term start + mid-term revisions)
  • Number of changes made because of conflicts or pedagogical issues
  • Standard deviation of teacher workload (weekly hours) โ€” fairness indicator
  • Lab/special-room utilization rate (used / total capacity)

Without this baseline you can’t tell which software will deliver which result.

Stage 2 โ€” Write the rule and preference list. Hard constraints (must hold): no teacher in two places at once, no class with two courses at the same time, no room over capacity, weekly hour counts per subject per grade level as required by curriculum. Soft preferences (hold if possible): teacher-preferred hours, no heavy class after PE, max consecutive periods per teacher (e.g. no more than 3 in a row). This list is your knowledge capital โ€” any serious vendor will ask for it first.

Stage 3 โ€” Pilot. At the start of a term, run the software on one or two grade levels (e.g. grades 9โ€“10) and compare to the manual schedule. Define the success criterion in writing, before the pilot: e.g. “administrator time cut in half, conflicts at zero, teacher workload gap reduced from 30% to 15%.” If the bar is missed, the pilot ends โ€” keep that exit right in the contract.

Stage 4 โ€” Rollout. If the pilot lands, scale to all grade levels the next term. Teacher training takes a week (mostly mobile schedule viewing); administrator training is the bigger lift โ€” they need to learn how constraints and preferences translate into the software.

Risks โ€” what can go wrong

  1. Missing or wrong pedagogical rules. The software optimizes the rules you give it; a tacit rule like ’no math after PE’ won’t be honored if it doesn’t make the input. During the pilot, review rules together with teachers and add the implicit ones.
  2. Teacher resistance. “Don’t have software dictate my hours” is common, especially from senior teachers. In the pilot, review results together; the software must transparently show which rule was applied and why this time was chosen.
  3. Curriculum/regulatory changes. When the ministry updates weekly hour rules or curriculum, the vendor’s update speed matters. Put a regulatory-update guarantee in the contract.
  4. Vendor lock-in. Software that stores course, teacher, and class configuration plus historical timetables in a proprietary format makes migration hard. Put a clause in the contract: “We can export our data in standard open formats (CSV, JSON, or similar) at any time, on request.”

Related cautionary lesson (will be linked once published): “A mid-sized private school that dropped its timetabling software at month 9 โ€” what they missed.”

A technical view of the solution method

This section holds what you’ll need when talking to a software team or a consultant. It is not what the principal sees on the daily screen โ€” it is the engine behind the curtain.

The main approaches used for course timetabling:

ApproachTypical scaleSolve timeGuarantees optimum?
Manual iterative30โ€“100 coursesDaysNo (conflicts may remain)
Constraint Programming (CP)100โ€“1,000 courses1โ€“30 minutesYes (zero-conflict guarantee)
MIP50โ€“300 courses5โ€“60 minutesYes, given enough time
Metaheuristic (tabu, GA)300โ€“2,000 courses1โ€“15 minutesNo (near-optimal)
Hybrid (CP + LNS)500+ courses5โ€“30 minutesPractically near-optimal

In practice: under 100 courses for a mid-sized school, a pure CP solver is enough. With 300+ courses, university scale, or multi-campus, hybrid CP + metaheuristic is preferred.

Objective function choice changes the shape of the solution:

  • Conflict count (hard): “Must be zero” โ€” non-negotiable baseline
  • Sum of teacher-preference scores: “Maximize satisfaction” โ€” fits schools chasing year-long stability
  • Pedagogical-flow quality: “Best learning conditions for students” โ€” fits quality-led schools
  • Room/resource utilization balance: “Capital efficiency” โ€” fits resource-constrained schools

In most real deployments, zero-conflict is the hard constraint; the remaining three are optimized as a weighted blend.

Academic references

Listed in the sources block of this page’s frontmatter. Timetabling has been one of the most active application areas of constraint programming since the 1960s; the PATAT conference releases comparative benchmark sets every two years that allow vendors and researchers to compare engines.

Sources

  • Schaerf, A. (1999). A survey of automated timetabling. Artificial Intelligence Review, Vol. 13 โ€” classic field survey.
  • Pillay, N. (2014). A survey of school timetabling research. Annals of Operations Research, Vol. 218 โ€” modern review of school timetabling.
  • Burke, E. K. and Petrovic, S. (2002). Recent research directions in automated timetabling. European Journal of Operational Research, Vol. 140 โ€” foundational paper on university timetabling.
  • INFORMS Interfaces โ€” case studies of timetabling deployments in education. informs.org/Publications/Interfaces

Glossary

Course Timetabling
The problem of assigning courses to teachers, classes, rooms, and times in schools or universities without conflicts.
Constraint Programming
Optimization paradigm where the focus is on a solution satisfying a set of constraints โ€” particularly strong for scheduling and assignment problems.
MIP
An optimization model where some decision variables are forced to be whole numbers (e.g. number of trucks, number of shifts).
Was this helpful?
Suggest correction

Related problems

Esc Close