Hikma
Timetable

Lessons and assignments

Understand what the generator schedules — lessons — and set the inputs that define them: weekly lessons, teacher assignments, groups, and lesson links.

The generator places lessons. This article explains what a lesson is, where the number of lessons comes from, and how you tell the system who teaches each one. Getting this right is what makes a generated timetable correct.

Who this is for

Administrators and academic planners preparing what the timetable will schedule.

What gets scheduled

A lesson is one weekly session of a subject for a class — for example Class 6A, Mathematics. When the generator runs, it gives each lesson:

  • a day and a time slot,
  • a room, and
  • the teacher assigned to it.

A class usually has several lessons of each subject per week, and the generator places them all without clashes.

How many lessons each subject has

The number of weekly lessons comes from Teaching load for each subject at a level (for the academic year). There you say how many meetings the subject has per week, and whether any are double (or longer) — several periods in a row.

A period is one slot on the day grid. A lesson is one meeting to place. For example, Physics might be two singles and one double: three lessons, but four periods of teaching time. The generator places three Physics meetings for each class in that level and keeps the double as two consecutive periods.

See Teaching load for the full glossary (period, lesson, lesson block, Split, room type) and how to fill the editor.

Where to set this

Set teaching load under Academic → Timetable → Config → Teaching load. Do this before you generate so the generator knows how much of each subject to place.

Assign teachers to classes

This is the key input. For each class and each subject, you assign the teacher responsible for it. The generator schedules exactly these assignments — so an unassigned class–subject simply can't be placed.

Open the assignments

Open the teacher–class assignments. From the admin sidebar go to Academic → Teacher Assignments (see Teacher Assignments), or open a teacher and go to their Classes (assignments). Then add an assignment.

Choose what the teacher teaches

FieldRequiredNotes
TeacherYesThe teacher responsible for the lessons.
ClassYesThe class they teach.
SubjectYesThe subject they teach to that class.
GroupNoOnly when the class is split — assign a teacher per group (see below).

Repeat until every class–subject is covered

The fastest way to find gaps is to start the generator: it lists every class–subject that still has no teacher. See Generate and activate.

Split a class into groups (optional)

Some subjects are taught to part of a class at a time — for example half the class does the science lab while the other half does something else, or a language is split by ability. To handle this:

  1. Create the groups within the class (e.g. Group A, Group B).
  2. Assign a teacher per group for the split subject.

The generator then schedules each group's lesson separately, and can run two groups' lessons at the same time when you want them to (see lesson links below).

Sometimes two lessons need to be placed in relation to each other. You can link lessons so the generator keeps them together or in sequence:

LinkWhat it meansTypical use
Same slotTwo lessons run at the exact same time, for different groups of a class.The two halves of a divided class have their parallel lessons together.
Back to backTwo lessons run in consecutive periods.A lab right after the lecture, or a double session.
Same dayTwo lessons fall on the same day.Keeping a paired theory and practical on one day.
Same half-dayTwo lessons fall in the same morning or afternoon.Grouping related lessons close together.

You decide how strongly the generator should honour each link on the Constraints page — a link can be a firm requirement or a gentle preference.

Common use cases

  • Standard class — assign one teacher per subject; the generator does the rest.
  • Lab subject — set the lab lesson as a double so it gets two periods together.
  • Split language groups — create groups, assign a teacher to each, and link them to run at the same time.

On this page