Teachers¶
Create every teacher in your school, even ones who teach a single subject. When you generate a schedule, ScheduLearn will never double book a teacher.
Adding a Teacher¶
Click the Add Teacher button on the toolbar of the Teachers Page.
The Teacher Card used to create or edit a teacher.
- Teacher Name — the teacher's name. Teachers are sorted alphabetically on the Teachers Page, so some schools put the last name first.
- Color — click the palette icon to change the teacher's color.
- Subjects — the subject selector shows the subjects that the teacher teaches. You may not see this field initially if no subjects have been created yet. Typically, you’ll assign subjects to teachers while creating the subjects themselves, but you can modify from either end. A subject you add here is one the teacher always teaches.
- A subject with a dashed outline is one where the teacher is in a pool that the scheduler chooses from. Algebra I · 1 of 3 means the scheduler picks 1 of the 3 teachers in the pool, and a star means the subject prefers this teacher. Hover over the subject for details.
- You can remove the teacher from a pool here. To add a teacher to a pool, or to change how many teachers are picked, edit the subject.
Constraints¶
Teacher Calendar Constraints¶
To modify the availability and calendar preferences of a teacher, click the Edit Calendar button. By default, every period that has school is marked green. Periods that don't have school are gray and can't be modified.
Red cells are hard constraints. ScheduLearn never schedules the teacher there. If the hard constraints can't all be met, there's a scheduling conflict and no schedule is built. Yellow cells are preferences. ScheduLearn avoids them when it can. Use yellow unless the teacher truly can't work at that time.
To modify the calendar, you can click on any individual cell to toggle it from green → yellow → red → green. Or click on any of the day or period buttons to toggle the whole row or column.
In the example above, Benjamin cannot work first period, and prefers not to teach on Wednesday in general.
Teacher Constraints¶
You may have certain constraints that cannot be modeled simply by blocking time off from the calendar. There are a number of other types of constraints that are meant to help in these situations.
To add a teacher constraint:
- Click Edit Teacher Constraints on the teacher card to open the Teacher Constraint Editor.
- Choose a Constraint Type and fill in its fields.
- Click + to add it.
- Click Done, then Save on the teacher card.
When constraint weights are enabled for Workload, each teacher constraint gets a weight slider, so you can make it a preference instead of a requirement.
The constraint types are:
- Lessons must be consecutive — applies to all of the teacher's subjects. To make a specific set of subjects consecutive, see consecutive constraints.
- Spacing — how many free periods the teacher can have between lessons each day. 0 means back to back. With 3 lessons a day and a spacing of 1, the lessons fit within 4 periods on any given day.
- Units — Periods or Minutes. Use periods where you can. If your periods vary in length, minutes may work better.
- Max teaching days — the most days the teacher can teach. If you know which days the teacher can't teach, use teacher calendar constraints.
- Max lessons per day — the most lessons the teacher teaches on any day.
- Min lessons per day — on any day the teacher teaches, they teach at least this many lessons. It doesn't make them teach every day. The teacher needs enough lessons for this to be possible.
-
Max consecutive teaching time — makes sure the teacher gets breaks. It sets how long they can teach in a row before a break of a minimum length.
- Max Consecutive Teaching Time - how long the teacher can teach before needing a break.
- Min Break Time - how long the break must be.
- Units - Periods or Minutes, for both of the above.
Multiple Schedule Structures
For any constraint that has a Units option, Periods will not be available if the teacher teaches in more than one schedule structure.
Teacher Constraint Weights¶
Teacher weights are an advanced feature that is off by default. Most schools don't need them. See Constraint Weights for how weights work.
Enabling Teacher Weights¶
Turn on Calendar Teacher (Yellow Constraints) or Calendar Teacher (Red Constraints) in the Constraint Weights section (below). Either one adds a weight slider to every teacher card.
The teacher calendar weights in the Constraint Weights section.
See Meaning of a Teacher Weight below for the difference between the two.
Modifying Teacher Weights¶
Once the feature is enabled, each teacher card has a weight slider with the stops Off, 1–5 and Hard defaulting to "Hard".
A teacher card with the weight slider.
Meaning of a Teacher Weight (Advanced Usage)
A teacher's weight only has an effect once you enable Calendar Teacher (Yellow Constraints) or Calendar Teacher (Red Constraints) (see Enabling Teacher Weights). Until then, every teacher's red cells are hard constraints and every teacher's yellow cells count the same.
With Calendar Teacher (Yellow Constraints) enabled, the weight sets how hard ScheduLearn tries to avoid the teacher's yellow (prefers not to work) cells:
- 1 to 5 — the higher the weight, the more a yellow cell counts.
- Hard — counts the same as 5. Yellow cells are always preferences, never hard constraints.
- Off — the teacher's yellow cells are ignored.
With Calendar Teacher (Red Constraints) enabled, the weight decides whether the teacher's red (can not work) cells must be met:
- Hard — red cells stay hard constraints.
- 1 to 5 — red cells become strong preferences, each counting twice as much as a yellow cell at the same weight.
- Off — the teacher's red cells are ignored.
New teachers start at Hard, so enabling Calendar Teacher (Red Constraints) changes nothing until you lower individual teachers' weights. To change many teachers at once, use Select Mode. Making red cells soft can show what is blocking a schedule that won't generate (see What to Do When a Scheduling Conflict Is Unclear).
The slider next to each category in the Constraint Weights drawer scales all teachers at once: raising it makes every teacher's cells in that category count for more.
Teachers and Multiple Schedule Structures¶
These points only apply to teachers who teach in more than one schedule structure.
A Calendar for Each Structure¶
Calendar constraints belong to a schedule structure, and a teacher's structures come from their subjects. Add the teacher's subjects before you edit their calendar. A saved teacher with no subjects can't open Edit Calendar because ScheduLearn doesn't yet know which structure the teacher teaches in. For a teacher in more than one structure, you can add constraints to each structure.
Once you add a subject to the teacher, ScheduLearn determines which schedule structure the teacher teaches in based on the class that the subject is taught in. When you edit the calendar of a teacher who teaches in more than one schedule structure, a dropdown next to the title of the Edit Calendar window lets you choose the schedule structure to add constraints for.
Choosing which schedule structure's calendar to edit.
Calendar constraints will only apply to the subjects that are taught in that specific schedule structure. This allows you to add specific calendar constraints for each schedule structure. For instance, if you have a teacher that teaches in both the Lower School and the Middle School but can only teach in the Lower School in the morning and the Middle School in the afternoon, you could first block off the afternoon for the Lower School calendar and block off the morning for the Middle School calendar.
The closed card for a teacher in more than one structure shows details for each structure.
A closed teacher card for a teacher in two schedule structures.
Constraints Set in Periods¶
Teacher constraints with a Units field must use Minutes for a teacher in more than one structure. Constraints set in periods are deleted when the teacher starts teaching in a second structure. The subject card warns you before you save (below).
Warning that period-based constraints will be deleted.
In this example, Brown already teaches in the Middle School. Grade 6 is in the Lower School, which runs on a different schedule structure. Brown's constraint that lessons must be consecutive, set in periods, will be deleted when this subject is saved.
Teacher Schedule Page¶
For example, the Lower School runs 8:00–1:00 in five 1-hour periods. The Middle School runs 7:30–1:30 in six. Benjamin teaches History Grade 4 (Lower School) and History Grade 8 (Middle School). He can't teach after 12:30, so:
- his Lower School period 5 (12:00–1:00) is red
- his Middle School period 6 (12:30–1:30) is red, and period 5 (11:30–12:30) is yellow
For a teacher that teaches strictly within one schedule structure, ScheduLearn shows the teacher's red and yellow cells as striped cells in the schedule. For a teacher in several structures, like Benjamin, they appear only while you drag a lesson, and only for that lesson's structure.
Dragging a lesson from the Middle School.
Dragging the lesson from History Grade 8 which is part of the Middle School reveals the Middle School teacher calendar constraints (period 5 yellow, period 6 red). ScheduLearn will highlight (in blue) where the lesson will be placed and will only allow you to place the lesson in a spot that matches with its schedule structure.
Dragging a lesson from the Lower School.
Dragging History Grade 4, in the Lower School, shows the Lower School cells (period 5 red). Notice also that the time 1pm-1:30pm is gray. This is because this time does not exist in the Lower School schedule.
As noted earlier, calendar constraints only affect lessons in the schedule structure that the constraint is connected to. So, for instance, there would be no issue with History Grade 4 being in the period 4 slot despite the yellow Middle School period 5, which overlaps it.


