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
- Lock the fixed slots. Assembly and shared events go in first across all affected sections — they define the shape of the week.
- 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.
- 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.
- Fill the flexible remainder. Subjects with multiple qualified teachers and no room constraints go last; they can absorb whatever slots remain.
- 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.