Guide

How to create a school timetable without clashes

Timetabling is a constraint-satisfaction problem wearing a spreadsheet costume. Solve it in the right order and it takes a day; solve it in the wrong order and it takes a week and still breaks in October.

What you're actually solving

A school timetable is a set of hard constraints (a teacher cannot be in two rooms at once; Section 8B needs five Mathematics periods; the chemistry lab holds one class at a time) plus a set of soft preferences (core subjects in the morning, no teacher with six consecutive periods, games not right after lunch). Every clash you find on a Monday morning is a hard constraint you violated on a Friday afternoon.

The reason experienced timetablers seem fast is not talent — it's ordering. They place the most constrained pieces first, so the flexible pieces absorb the compromise. That ordering is the whole method.

Step 1: gather the inputs before placing anything

Half of all timetable rework comes from discovering an input mid-build. Collect these first, in writing:

  • The section list. Every section that needs a schedule, with student counts. Your sections are the rows of this puzzle — get them settled first.
  • Subject-period requirements per section. How many periods of each subject each grade gets per week. This is policy; confirm it with leadership before you encode it.
  • Teacher loads. Who teaches what, to which sections, and their maximum weekly periods. Note every teacher shared across sections — they're your future clashes.
  • Room constraints. Labs, computer rooms, the sports field: anything with limited capacity and a fixed location.
  • Fixed events. Assembly, library slots, language streams that must run simultaneously. These are immovable; everything else flows around them.

Step 2: build in constraint order

  1. Lock the fixed slots. Assembly and shared events go in first across all affected sections — they define the shape of the week.
  2. Place scarce resources. The physics teacher shared by six senior sections, the single chemistry lab, the specialist who's in on Tuesdays and Thursdays: schedule these next, while every slot is still open to them. A scarce resource placed last is a clash guaranteed.
  3. Spread the heavy subjects. Distribute core subjects across morning periods and across the week — five Maths periods on consecutive mornings beats five stacked around lunch. Watch for the same section getting all its hard subjects on one brutal day.
  4. Fill the flexible remainder. Subjects with multiple qualified teachers and no room constraints go last; they can absorb whatever slots remain.
  5. Audit teacher weeks, not just section grids. Flip the view: does anyone teach six periods straight? Is one teacher's "free" period always period 8? Uneven weeks are how goodwill leaks out of a staff room.

Step 3: hunt clashes before publishing

Three checks, in decreasing order of pain:

  • Teacher double-booking — the same teacher in two sections at once. In spreadsheets this hides until someone cross-references every teacher's week; clash-aware software flags it at placement time.
  • Room double-booking — two classes converging on one lab.
  • Requirement shortfalls — a section that quietly ended up with four English periods instead of five. Count them; don't eyeball them.

Step 4: plan for the timetable to change

No timetable survives a term intact. A teacher resigns, a room floods, a board exam schedule lands on your week. The real test of your process is the cost of change: if the timetable is a laminated artifact, every change is a reprint and a rumor; if it's live data, a change is an edit that everyone sees immediately. Keep parallel structures — a morning and afternoon shift, senior streams with different period structures — as separate groups so a change in one can't silently corrupt the other.

Common mistakes

  • Building section-by-section to completion, then discovering the shared teachers are triple-booked in week one of the second section.
  • Treating teacher preferences as constraints and student learning as a preference.
  • Publishing to paper and hoping the staff-room copy stays current.
  • Rebuilding from scratch every year instead of iterating on a structure that mostly worked.

Doing this in Premeena

Premeena's timetable builder encodes this method. Your sections are the foundation — the same ones attendance and assessments use — and the timetable is built on top of them, with teacher double-booking caught while you place periods, not after. Timetable groups keep shifts and streams cleanly separated, and every teacher sees their live schedule in their portal, so mid-term changes propagate instantly instead of via pigeonhole. It's part of the free platform — set up your school and build the year's timetable with the constraints doing the bookkeeping for you.

Build next year's timetable in a day

Sections, constraints, clash detection, live teacher schedules — all on the free platform.

Free to get started · No credit card required