How to Create a School Timetable: A Step-by-Step Guide

Most schools build their timetable the same way: someone senior blocks out two weeks in July, prints the class lists, and starts filling a grid. Maths goes in first because everyone agrees Maths matters. Then English. Then the sciences, which need the lab. By day four the grid is 80 percent full and looking good. On day six, the whole thing collapses because the only Physics teacher is also the only one who can cover Year 11 Chemistry, and both need period three on Tuesday.

That collapse is not bad luck. It is the predictable result of building a timetable in order of perceived importance rather than in order of constraint. The fix is not working harder or starting earlier — it is changing the order of operations.

Step one is gathering your constraints before you place a single lesson. That means four lists. Your classes and the subjects each one takes. Your teachers and which subjects each is qualified to teach. Your rooms, including which ones are specialised — the lab, the gym, the ICT suite, the art studio. And your week shape: how many days, how many teaching periods per day, and where breaks fall. This sounds obvious, and almost nobody does it completely before starting.

Step two is a feasibility check, and it is the step schools skip most often. Add up the weekly periods every class needs. If that total exceeds the number of slots in your week, no timetable exists — you have asked for more teaching than the week contains, and no amount of rearranging will fix it. Then do the same check per subject: multiply the periods a subject needs by the number of classes taking it, and compare that against the total available time of the teachers qualified to teach it. If demand exceeds supply, you need another teacher or fewer periods. Finding this out in ten minutes of arithmetic is considerably better than finding it out on day six.

Step three is assigning teachers to class-and-subject pairings, and the goal here is balance rather than preference. If you give your most experienced Maths teacher every top set because they are the strongest, you have loaded them to capacity while a colleague sits with free periods — and you have made the remaining placement problem much harder than it needed to be. Spread the load first; optimise for preference later, if the constraints leave room.

Step four is placement, and the rule is counterintuitive: place the hardest lessons first, not the most important ones. A lesson that can only happen in the science lab, taught by the only qualified teacher, who is part-time and unavailable Fridays, has almost no valid slots. Place it while the grid is empty and it will fit. Place it on day six and it will not. Maths, taught by any of four teachers in any general classroom, has hundreds of valid slots and will fit around whatever else is already there.

Within that ordering, spread each subject across the week rather than stacking it. Three Maths lessons on Tuesday and none until Friday is technically a valid timetable and pedagogically a poor one. A good scheduler treats "same subject, same day, more than twice" as a hard limit and distributes the rest.

Step five is validation, and it must be mechanical rather than visual. Scanning a printed grid for double-bookings is exactly the task human attention is worst at. Check each teacher against every slot, each class against every slot, and each room against every slot. One clash that reaches publication costs you more credibility with staff than a week of delay would have.

Step six — the one that separates a timetable that survives the year from one that does not — is planning for change before change arrives. A teacher will leave in November. A room will be repurposed. A new class will be added in January. If your timetable exists only as a spreadsheet that one person understands, every change is a fresh crisis. If it exists as a set of constraints plus a generated result, a change means updating a constraint and regenerating.

This is the part where doing it by hand stops making sense. The steps above are mechanical: check feasibility, balance loads, order by constraint, place, validate. That is precisely the kind of work software does better than people — not because the reasoning is sophisticated, but because a computer will check ten thousand placements without getting bored or missing one.

Skoolia’s AI timetable generator runs this process automatically. You define the constraints once — classes, teachers, subject qualifications, rooms, availability — and it produces a conflict-free timetable, then regenerates around any change without you rebuilding the grid. If you want to see the mechanics before committing to anything, the free generator on this site runs the same feasibility checks and placement logic on a sample school, with no account required.

The two-week July ritual is not an inherent feature of running a school. It is what happens when a constraint problem is solved by hand, in the wrong order, with no way to validate the result.

Generate your school timetable with AI

Start a 14-day free trial on Skoolia — no credit card, cancel anytime.

Start free trial

14 days free · No card required · Clash-free timetables in minutes