Skip to content

By · Published: 2026-10-12 · Updated: 2026-10-13

One class list, a whole term: seats, groups and cold calls

Most of the randomness in a classroom happens in three places: where people sit, who they work with, and who answers the next question. Teachers usually solve each one separately, on a different day, with a different method, and by week five the seating plan has quietly fossilised, the same four friends have found each other in every group task, and the hands-up kids are doing all the talking. This guide runs one class of 28 through a ten-week term using three tools that share nothing but the class list, and works out what each one actually buys you.

The class and the plan

The example is a Year 9 science class: 28 students, four lessons a week, ten weeks. The room has seven benches that seat four. The plan has three layers, each changing at a different speed:

LayerToolHow often it changesWhy at that speed
SeatsRandom Seating ChartTwice a term (week 1 and week 6)Seats are where routines live; change them too often and you lose the first five minutes of every lesson
Project groupsNo-Repeat Group MixerOnce a weekLong enough to finish a practical, short enough that nobody is stuck
QuestionsRandom Student SelectorEvery lesson, several timesThe fast layer: who speaks next

Before anything else, get the class list clean. All three tools read one name per line, and with more than one line a comma inside a line is kept as part of the name, so “Nguyen, Linh” is safe as a single entry. Each tool keeps its own copy of the list in your browser, so you paste the roster into each of the three once and it is there next lesson. Use the same spelling everywhere. The student selector and the group mixer both track people by the exact text of their name, so “Sam P” in one place and “Sam” in another are two different students as far as the memory is concerned.

Layer one: seats, set twice a term

Paste the 28 names into the seating chart, set Seats per table to 4 (it defaults to 6), and click Assign tables. You get Table 1 to Table 7, four names each. With 28 students and four per bench the division is exact. If it is not exact, the tool fills each table to the number you set and puts whoever is left at the last one, so 27 students would give six full benches and one bench of three, and 30 would give seven of four and an eighth of two. Pick the seat count with that in mind rather than discovering it on the day.

Two settings are worth using deliberately.

The Seed box makes the chart repeatable. Type something like 9sci-term4-a and the same list with the same seed always produces the same chart, so if the printout goes missing or a colleague covering the class asks how it was done, you can regenerate it exactly. Leave the seed blank and every click is a fresh chart.

Export CSV gives you a two-column file of table and student, which is the quickest way to get a printable plan or a sticker sheet for the desks.

How much mixing does a random chart give you? For any two particular students, the chance they share a bench is the number of other seats at their bench divided by the number of other students: 3 out of 27, or about 11%. So the two who spend every lesson whispering have roughly a one-in-nine chance of being reunited by a fresh chart. If you reseat twice a term, the chance they land together at least once is about 21%; at three charts it is about 30%. That is the honest limit of random seating. It breaks up most pairs most of the time, but it does not promise anything about a specific pair. If one pairing truly cannot happen, generate the chart and then swap one name by hand. A random chart with one deliberate swap is still far fairer than a hand-built chart, and nobody can claim they were singled out.

Layer two: weekly groups that keep moving

Seats give you a stable room. The group mixer gives you movement inside it. Paste the same 28 names, set People per group to 4, and click Mix groups at the start of each week.

What makes this different from just shuffling is memory. After each mix, the tool records every pair of people who were in a group together and saves that record in your browser. On the next mix it tries up to 40 random groupings, scores each one by how many pairs have already worked together, and keeps the lowest. Under the groups it prints Repeats from history, the number of pairs in the new grouping that have been grouped before.

A group of four contains six pairs, so seven groups make 42 pairs a week. The class has 378 possible pairs in total (28 × 27 ÷ 2). Every student has 27 classmates and meets three new ones per group, so in a perfect schedule everybody could meet everybody in nine weeks. The mixer is not a perfect scheduler. It is a best-of-40 random search, and the numbers below, from 2,000 simulated terms of the exact same procedure, show what that means in practice:

WeekAverage repeats with the mixer’s memoryAverage repeats with a plain shuffleDistinct pairs met so far (mixer)
10042
21.14.883
47.512.5155
614.018.6215
820.023.6261
1025.127.5298

The memory pays off most in the first half of the term. In week 2 a plain shuffle would put about five already-used pairs back together; the mixer gets that down to about one. By week 10, there are simply fewer unused pairs left to find with 40 random tries, and the two approaches converge. Over the whole term the class covers about 298 of its 378 pairs, close to four in five. That is a good result for one click a week, and it is worth knowing the curve so you are not surprised when the repeat count climbs into the twenties near the end.

Some practical points that come straight from how the tool works:

  • Absences. Delete the absent student’s line before you mix and paste it back afterwards. Only the pairs actually formed get recorded, so nobody is credited with a partner they never worked with. With 26 present and groups of four you get six groups of four and one pair, because the leftover becomes its own smaller group. If that bothers you, set the size to 4 and merge the pair into two of the other groups by hand.
  • The memory is not endless. It keeps the most recent 500 recorded pairs. At 42 pairs a week, that is about the last eleven weekly mixes, which covers a ten-week term. Mix twice a week and the oldest weeks start dropping out around week six.
  • One device. The pairing record lives in the browser you used. Mix from the classroom computer every week, not from your laptop one week and the classroom machine the next.
  • Clearing it. Reset history in the options wipes the pairing record. So does Clear history under Recent results, which also removes the tool’s memories, not just the list of past results. Use either one at the start of a new term, and avoid them mid-term.

Layer three: cold-calling that reaches everyone

The fast layer is questions. Paste the roster into the student selector and click Call on a student. The name appears large enough to read from the back of the room, gets struck through in the class roster underneath, and is skipped on every later click until everyone has been called. When the last name has gone, the next click starts a new round on its own. The roster panel tells you how many are left.

Why bother with the strike-through instead of a plain random pick? Because a plain random pick with repeats allowed is lumpy. Call 28 times from a class of 28 with replacement and the chance any one student is never called is (27/28)^28, about 36%. On average about ten students would get through that whole stretch without being asked anything, while someone else gets three questions. The no-repeat round guarantees that 28 calls means 28 different students.

At a pace of six questions a lesson, a round of 28 takes about four and two-thirds lessons, so roughly one full round per week of four lessons. Over ten weeks each student is called about eight or nine times. That is a number you can tell a parent with a straight face.

Points worth knowing before you rely on it:

  • The round boundary. When a new round starts, everyone is back in the pool, including the student called last. The chance that person comes up again first is 1 in 28. It is rare, it is fair, and if it happens the class will notice; a quick “fresh round, everyone is back in” saves the argument.
  • Absent students. Take the name out of the list for the day. The selector only counts names that are in the list, and the struck-through status of a removed student is remembered, so when you paste them back they are exactly where they were. One catch: if the round finishes while a name is out of the list, the reset puts everyone back in the pool, so that student has effectively missed a round.
  • Several classes. Type a name in the Class box above the list, such as “Period 2”. Each class name keeps its own roster and its own called list, so switching the name swaps both, a round finishing in one class leaves the other alone, and a “Jack” in two classes is struck through only in the class that called him. With the box left empty, every class you paste in shares one called list, so name your classes from the first lesson.
  • Duplicates. A name listed twice counts once, because students are tracked by name. Two students who share a first name need a surname initial.

Pair the selector with think time. Ask the question, give everyone thirty seconds, then click. The randomness is only useful if every student believes they could be next, and it only feels fair if the student called has had time to think. The earlier piece on cold-calling without the dread covers the classroom side of this in more detail.

How the layers fit together in a week

A typical week with this setup looks like this:

  1. Monday, start of lesson. Click Mix groups once. Read the repeat count. Write the seven groups on the board or project them. Groups sit together at whichever benches you like, but seats in the chart stay the home position for starters and tests.
  2. Every lesson. Questions go through the student selector. If a group task is running, you can call a name and have that student report for their group, which also makes sure the quiet group member is not always the one taking notes.
  3. Week 6. Re-run the seating chart with a new seed. Record the seed in your planner next to the date.
  4. End of term. Export the seating CSV for your records, then use Reset history on the group mixer and Reset in the student selector’s options so next term starts clean.

The three tools do not talk to each other, and that is fine. They solve three different problems at three different speeds, and keeping them separate means you can change one without disturbing the others. A new student joining in week 4 gets added to all three lists: they appear at the last bench or get swapped in by hand, the group mixer places them freely because they have no history, and the selector adds them to the current round.

What this does not do

None of this balances ability. The seating chart and group mixer are pure shuffles with no notion of who is strong in what. If you need mixed-attainment groups, tag students by level and use the team balancer for those tasks, keeping the mixer for everything else. The earlier post on balanced teams explains how the tagging works.

It also does not remember across devices, and it is not a record you should rely on for reporting. It is a fairness tool for the room. What it gives you, for about three clicks a week, is a term where seats change on schedule, most students work with most of their classmates, and every student gets asked a question roughly as often as everyone else. Those are three things students notice, and they notice when they are missing.

← Back to all posts

Send feedback

Found a bug, want a feature, or just say hi? Send it our way.