I would like to choose some random students in class to answer questions.

I don't want to make some students feel that they are targeted. So I used to use a software to choose random student name.

But the problem is that who comes to class is a bit random. Many registered students do not show up. So the software often chooses name of student who is not there, which wastes a bit of time.

How do you choose students to answer questions?

  • 6
    $\begingroup$ I have them fill out 3x5 cards on the first day, which I use for other purposes too. I shuffle and call from those. It's very quick to skip those absent. $\endgroup$
    – Sue VanHattum
    Commented Sep 8, 2019 at 19:52
  • $\begingroup$ Is this a school classroom or a mass lecture at a university? $\endgroup$
    – Tommi
    Commented Sep 9, 2019 at 8:34
  • 1
    $\begingroup$ It's university class. About 30-40 students usually come. $\endgroup$
    – user11702
    Commented Sep 9, 2019 at 12:53

5 Answers 5


One of the classes I took that I remember most fondly was a Differential Equations class, in which the number of assigned homework problems equaled the number of students in the class. (Granted, there were only 18 students in the class.)

The assigned classroom had blackboards on three sides of the room. Typically, the classes would begin with the professor randomly assigning one assigned problems to each student in the class, after which we would all go to the board and write our solution to the assigned problem. No one was to "sign" their name to their solution, and if they had gotten stuck trying to complete the assigned problem, they could show their work, and write questions about how to proceed. After doing so, the class would discuss the solutions and problem-solve any unsolved problems.

Everyone, in other words, was targeted every class period, though, in fact, everyone felt responsible to come to class prepared.

This is not feasible in a lecture hall, of course. In such large lectures, you can use your computer program, or preferably, Sue's suggestion of using $3\times 5$ index cards for each student in the class. Proceed during lectures, using only the index cards not previously naming someone who was called upon. Then, if time allows, start from the beginning.


Here are some options that might be feasible:

Use a deck of cards

You'll need two identical decks of cards to do this. At the beginning of each class, hand out a card to each student from Deck 1. Then, when you want to choose a student, shuffle Deck 2 and pick a random card.

You can either use a standard deck of playing cards, or make two sets of your own with just numbers on them. The second option means you can have any number you like, and also you can just hand them out in order and so know exactly how many people are there to choose from each time.

Get them to log into a system/fill out a form

If they have devices with them, you could get them to log into a computer system (eg a Desmos activity or Kahoot) or fill out a form (eg a Google form) each class. Then you can take the list of people logged in and choose from those names randomly each time.

One advantage of this is that you could make the filling out of the form part of the class. For example, you could ask them a formative question and collect responses from everyone, thus increasing participation from everyone. It could even make choosing a random student unnecessary, because you could choose from the several responses you have which you think the rest of the class needs to hear more about.


When facing hard problems, use easy solutions!

Step 1: Assign a number to each student in a systematic way (for example, from front-to-back, from-left-to-right attending to their seats)

Step 2: Generate a random number between $1$ and the number of people in your class

  • $\begingroup$ Exactly what I do. Just assign each seat a number and open up Random.org at the beginning of each class! $\endgroup$
    – ruferd
    Commented Sep 12, 2019 at 12:17

In my opinion there is never a random student. You pick a student from a group, a group is made up of student at same level of skillset and knowledge etc and within a group you sort of go by gut feel and more or less round robin way such that everyone gets asked questions. It is important for students to know that anyone can be asked to answer a question. In my opinion choosing students is a bit of art and science. More of an art in my opinion.


I have a spreadsheet which I can use to select random students. I have created a version of that spreadsheet as a Google sheet.

enter image description here

To explain how this works:

  • Column A is a list of the students in the class.

  • Column B tracks attendance. I take attendance at the beginning of every class, and enter that into my gradebook.[1]

  • The cell C2 contains the function =sort(A2:A,B2:B,TRUE). This (essentially) creates a sorted copy of column A, with the students who are present on top. This function populates the rest of column C.

  • The cell D2 contains the function =index(C2:C, randbetween(1,counta(B2:B))), which randomly selects a student from among those present. This is a little complicated:

    • counta(B2:B) returns the number of non-empty cells in column B, excluding the header cell
    • randbetween(1,n) returns a random integer between $1$ and $n$ (inclusive); in this case $n$ is a count of the number of students who are present, so this function returns the index of some student who is present
    • index([list],k returns the $k$-th element of [list]; in this case, the list is C2:C, which is a list of all students in the class (plus a bunch of empty cells), sorted so that the first $n$ entries are the students who are present; as $k \le n$, the $k$-th element of [list] will be a student who is present
  • The cell E2 contains a checkbox. The default behaviour of Google Sheets (and MS Excel, and Apple's Numbers) is to refresh the spreadsheet every time any cell in the sheet is altered. Thus checking (or unchecking) the box will rerun the random number generator, thus making a new selection.

The random number generator may select the same student more than once (there is nothing here which prevents this from happening). If you want to ensure that you don't call on a student a second time, delete the 1 in column B after you call on them. This will cause the list in column C to be resorted, and will also select a new student.

[1] When I assign a failing grade or an administrative withdrawal, I am required to list the last date of attendance. Thus, as a CYA measure, I track attendance in my gradebook. When I record attendance in my gradebook at the beginning of class, I enter a 1 if a student is present, and leave the appropriate cell blank otherwise. It is pretty simple to copy that column over to this sheet at that time.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.