How to build a school master schedule

To build a school master schedule, collect every student’s course requests, count them to decide how many sections each course needs, assign teachers and rooms, and write your rules. Then place the hardest courses first, singletons above all, fill in the rest, check every student’s day, fix what didn’t fit, and send the finished schedule to your student information system.

Updated

What are the steps?

There are seven, and they happen in this order. Most of the time goes into the first three, because a schedule can only be as good as the requests and sections it starts from.

1. Collect course requestsEvery student picks next year’s courses, ideally ranked, with alternates.
2. Decide the sectionsCount the requests for each course and work out how many sections it needs.
3. Assign teachers and roomsEach section gets a teacher who can teach it and, where it matters, a room that fits it.
4. Write down the rulesWho can’t teach when, which courses can’t share a period, what must happen for each grade.
5. BuildPlace the most constrained sections first, then everything else, then the students.
6. Fix what’s leftLook at every request that didn’t fit, find out why, and work down the list.
7. Send it to your student information systemLoad the sections and student schedules, then handle the summer changes.

What do you need before you start?

You need the students, their course requests, the courses, the teachers and the rooms. You also need the shape of the day: how many periods, how many terms, and whether the days rotate.

  • Students, with their grade next year.
  • Course requests, ranked if you collect them that way, with alternates.
  • Courses, with a class size, any grade limits and any prerequisites.
  • Teachers, what each one can teach, and when each one is not available.
  • Rooms, if some courses need a lab, a gym or a room of a certain size.

In nOS these go into six sheets (students, courses, sections, requests, teachers and rooms) that re-check as you type. You can connect your student information system or upload the spreadsheets you already keep. Problems are marked on the cell, with a fix, before you build.

How many sections does each course need?

Divide the number of requests for a course by its class size, and round up. Then check that you have enough teachers for that many sections, and that no teacher is over their load.

Pay close attention to the courses that end up with one section. A singleton can only meet in one period, so every student who takes it is locked out of everything else in that period. Two singletons in the same period, wanted by the same students, will cost you requests no matter how good the rest of the schedule is.

Before it builds, nOS works out the ceiling: the largest share of your requests any schedule could fill with your courses, sections and rules. If the ceiling is low, the sections need to change, and no amount of rearranging will fix it.

Which rules should you write down?

Write down anything that must be true, and anything you would like to be true. The first kind are hard rules, the second are soft, and it matters which is which.

Typical hard rules are a part-time teacher who only works mornings, a lab course that needs a lab, or two courses that can’t meet at the same time because the same students take both. Typical soft rules are keeping a teacher’s classes together, or spreading sections of a course across the day.

In nOS you write rules as sentences, and each one is marked hard or soft.

In what order do you place courses?

Place the hardest things first. That usually means singletons and other small courses, then courses tied to one room or one teacher, then the large courses with many sections, and students last.

If you build in the other order, the big courses fill the easy periods and the singletons end up wherever is left. That is the most common reason students lose a course they asked for.

nOS builds in four passes, starting with the most constrained decision. It takes apart pieces of the schedule and rebuilds them, follows chains of students who have to move, and hands what is left to a mathematical solver. See how it builds for the detail.

How do you know the schedule is good?

Count how many course requests were placed, out of how many were made. That share is called request fulfillment, and it is the clearest single measure of a master schedule.

Then look past the average. Check which students missed more than one course, whether any grade did worse than the others, and whether sections of the same course are close in size.

In the nOS sample school, the build placed 1,282 of 1,322 requests, or 96.97%. Every request that didn’t fit is listed under one of 12 plain-English reasons, such as “All classes are full” or “Conflicts with another class”. A separate check runs on every build and tells you what it finds before anything is saved.

What happens after the build?

You fix what’s left, worst first, then share the draft with department heads and counselors. Once it is agreed, it goes into your student information system, and the summer changes begin.

In nOS you can move sections on the Board or ask nOS AI for a fix. Every change is staged, so you review it before it is applied. When you are ready, you preview what will change in your student information system and send it, or export the schedule as CSV, Excel or PDF.

Common questions

How long does it take to build a master schedule?

By hand, it often takes more than a hundred hours, spread over weeks. With software that builds the schedule for you, the build itself takes hours, and most of the time goes into checking your data and reviewing the result.

What should you schedule first?

Schedule singletons and other courses with one or two sections first, along with anything tied to a single room or teacher. Large courses with many sections can fit around them.

Can you build a master schedule in a spreadsheet?

A spreadsheet can hold a schedule, but it can’t search for one or tell you that a change broke a student’s day on another tab. Most schools that build in a spreadsheet still place students by hand.

Do we have to replace our student information system?

No. Your student information system stays the record for enrollment, grades and attendance. nOS reads your data from it and hands the finished schedule back, or gives you files to import.

Try it on your own data.

Create an account and use the full planner on your own data.