Feature note
Generating a timetable per student
A group is a convenient approximation. It stops being true at the edges, and that is where published timetables get complaints.
Where the group stops being true
Generation treats a student group as the smallest unit of teaching, and for most of a timetable that is exactly right. Everyone in the group attends the same lectures, so scheduling the group schedules every person in it.
Four ordinary situations break that assumption. An elective taken by students from two different groups, who are then put into an elective group of their own. A student repeating one course from last year. Two programmes taught one course together but separated for everything else. A laboratory subgroup whose members also sit in the parent group's lectures.
In each case the group structure is correct and the timetable built from it is still wrong for a particular person — who finds two classes in the same hour on their own timetable, and says so after publication rather than before it.
Two ways in, depending on where you start
If the groups already exist and every student is in one, nothing has to be imported and no structure changes. Two settings under Settings ▸ Miscellaneous ▸ Generate make the generator ask, for every pair of classes it considers putting in the same hour, whether one person would have to be in both places. One reads course enrolment and ignores groups entirely — so it works even on a course with no group attached to it, which is how an elective usually arrives from a student information system. The other reads group membership, and counts a parent group and its subgroups as one.
If there are no groups at all, Wise Timetable can build them. Two flat CSV files — the teaching plan and the enrolment list — become a group per student, merged into turnuses course by course, sized from the number of enrolments and split when a room will not hold them. The timetable that comes out is correct per person because each person was a unit of the calculation.
Both are strictly harder problems than scheduling by group, so a timetable that was tight before may come back with more unallocated classes. That is the correct outcome: those classes were never really placeable, and the group approximation was hiding it.
The manuals
Both routes are documented in full, including the naming rules that decide whether an import succeeds, what each check costs in generation time, and a worked example you can build in ten minutes.
- Per-student generation with existing groups (PDF, 16 pages)Student-level checking when the groups are already there: what each of the two settings compares, how to get student data in, and how to read the result.
- Per-student timetable generation (PDF, 9 pages)Starting with no groups at all: two CSV files become a group per student, merged into turnuses course by course.
Want to see this working?
Book a 45-minute online presentation and we will walk through it against your institution's own scheduling problem.