WheelMigo

A random student selector for fair cold-calling

Cold-calling keeps a whole class ready to think — but only if students trust it is not personal. A random student selector makes the fairness visible.

Quick answer

A random student selector picks who answers next by chance instead of by your split-second judgement, so cold-calling stops landing on the same eager hands and front rows. Paste or import your class list once, turn on no-repeat so every present student is called before anyone repeats, and mark absent students as not present so they are skipped without being deleted. The selector treats every name on the list as one equal entry — the part your memory cannot reliably do. And the randomness is measured, not just claimed: over 7,000,000 draws WheelMigo stayed within 0.015 percentage points of a perfectly even one-in-seven.

Key points

  • Cold-calling means asking students who did not raise a hand — a selector makes it feel fair, not targeted.
  • Choosing from memory drifts toward eager hands, the front rows and familiar names; a selector weights every present student equally.
  • No-repeat rounds call every present student once before anyone repeats; attendance skips absent students without deleting them.
  • The randomness is measured: 7,000,000 draws landed within 0.015 percentage points of even, using crypto.getRandomValues with rejection sampling.
  • A selector removes selection bias — it does not replace warm technique like wait time and a no-gotcha tone.

Cold-calling is the teaching move of asking a student who did not volunteer, so the whole class stays ready to think instead of a few hands carrying every question. It has two familiar failure modes: it can feel like a targeted gotcha, and it can quietly become unfair when the teacher keeps landing on the same students. A random student selector answers both at once — the choice is visibly out of your hands, and it is spread evenly across the room.

The bias a selector removes

When you pick a name in the half-second after a question, you are not picking evenly. Attention slides to the students with their hands up, the ones near the front, and the names that surface fastest — while the quiet middle of the room can go a whole lesson without being asked. None of that is deliberate, which is exactly why trying harder does not fix it. A selector treats every present student as one equal entry, so being called no longer depends on being eager or memorable.

How to use it for a cold call

Build your class list once and keep it as a roster you reopen each lesson. Turn on no-repeat for the round so every present student is called exactly once before anyone comes up again — that answers “why always me” and “never me” at the same time. Mark absent students as not present so they are skipped for the session without losing their place. Then change the order most teachers use by habit: ask the question first, pause, and only then let the selector say a name — so every student prepares an answer, not just the one who gets picked.

Keep the cold call warm

A selector decides who is picked, not what happens next — and cold-calling earns trust only when it stays supportive. Give real wait time once a name appears, keep your tone matter-of-fact rather than a gotcha, and leave an honest way through: let a student think aloud, pass and come back, or bring in a partner. Used that way the randomness lowers the stakes, because being chosen is plainly the luck of the draw and not a spotlight you aimed.

Is the selector actually even?

“Random” is free to print and impossible to check by eye, so we measured it. Running WheelMigo's real selection function 7,000,000 times over a seven-name list, every name landed within 0.015 of a percentage point of a perfect one-in-seven — because it draws from the browser's crypto.getRandomValues and uses rejection sampling to strip the modulo bias that skews naive pickers. For a single spin that gap is invisible either way; for a class you cold-call every day, an even selector is the difference between fair over time and a standing advantage no one can see on screen.

How this works

The fairness figures here come from running WheelMigo's actual selection function — crypto.getRandomValues for a 32-bit integer, rejection sampling to remove modulo bias, then remainder modulo the entry count — 7,000,000 times over a seven-name list and tallying wins per name. The selector applies the same method to your class list whatever its size.

Frequently asked questions

What is a random student selector?
It is a tool that picks a student from your class list at random, so you can cold-call without choosing by hand. WheelMigo's picks come from the browser's cryptographic random generator, and no-repeat mode calls every present student once before anyone repeats.
Is calling on students at random actually fair?
It is fairer than picking from memory, which drifts toward eager or familiar students. Measured over 7,000,000 draws, WheelMigo stayed within 0.015 percentage points of an even split, so every present student has the same chance of being next.
Can I skip students who are absent?
Yes. Mark them as not present and they are excluded from this session's picks without being deleted — they keep their place on the roster. Reopen the roster next lesson and adjust attendance.
Does WheelMigo store my students' names?
Only on your device. Rosters and results are saved in your browser on this device and are never uploaded to a server — see the privacy page for details.

References

  1. MDN — Crypto.getRandomValues()
  2. Wikipedia — Rejection sampling

← All articles