Assume you have decided to call on students to present HW solutions in your course. For educators who have done this before, how do you implement this and why? There are a few problems I can imagine an instructor having

  • making sure every student presents at least once (or a similar number of times compared to other students)
  • having it appear random so that students don't correctly guess when they are going to be called.
  • making sure students that have presented don't lose motivation to do future assignments because they think they won't be called on again (either because they guessed your algorithm correctly, or because of some incorrect gamblers fallacy logic)

So what do you do to avoid these problems? I have never called on students before, but am considering it next semester.

Note: this is not a discussion on whether someone ought to call on students. There are obviously major drawbacks and advantages to this approach.

  • 3
    $\begingroup$ This is a math problem, which is relevant to educators in general. It has nothing specifically to do with mathematics education. $\endgroup$
    – user1598
    Commented Jun 11, 2014 at 18:15
  • $\begingroup$ making sure students that have presented don't give up between presentations I don't understand what you mean by this. "Give up" implies that they're discouraged and stop trying...? Why are they discouraged? Or do you just mean that they might lack motivation? Aren't they motivated because their homework papers are getting graded? Or are you proposing doing this as an alternative to grading their papers? $\endgroup$
    – user507
    Commented Jun 11, 2014 at 19:34
  • 1
    $\begingroup$ As a student I have always disliked selective homework checking: why should I write down these trivial solutions even if nobody will bother to read it? Such a waste of time. In my opinion it discourages honest work (one could say devalues). Hence, as a teacher, I always do something to appreciate students' work (reinforce desired behavior). I know you said it's not about whether someone ought to call on students, but I could not resist. The takeaway is: if you don't call on everybody, make sure that the rest doesn't feel underappreciated. $\endgroup$
    – dtldarek
    Commented Jun 11, 2014 at 20:34
  • 1
    $\begingroup$ @dtldarek, yes this is true, but ideally doing the HW and the learning should be reward in and of itself. The goal is for students to focus on what they need practice on, and not problems they find trivial. $\endgroup$ Commented Jun 11, 2014 at 21:24
  • 1
    $\begingroup$ @Taladris There are several things at work: 1. I work with university-level students, which are often more mature and it makes things much easier. 2. There is less homework, yet I recommend some problems for them to solve if they wish (and I check them if asked by a student). 3. If there is HW, then yes, I do check all the students' HW. It is a lot of work, but I don't know how to do better. 4. It's easier to grade "write a program that takes $X$ as an input and outputs $Y$", because you can test the correctness by automatic tests, and then only look for complexity and bad programming style. $\endgroup$
    – dtldarek
    Commented Jun 12, 2014 at 8:18

2 Answers 2


I do the following in my Pre-Calc and first-semester Calculus course:

Assignments: A week's worth, so usually 3 sections with 8-15 problems per (depending on difficulty).

Homework Day: About once a week, students are called randomly to present* their solution on the board to an assigned problem. About third to a half of the problems are pre-selected (by me, unknown to students) to be done this way.

* Here "presents" means writes a full complete solution on a section of the board that can be understood without any additional verbal exposition (though I sometimes ask clarifying questions).

Random Method (Concept): Conceptually the idea is that at the beginning of each Homework Day, every student's name is added into a hat. Names are drawn one by one and we go down a sublist of assigned problems. For students whose names are not called that period, their name remains in the hat so that next time (after adding everyone's name again) they will be in there twice, and so on.

Random Method (Implementation): I do all the randomization using Mathematica to manipulate a list of student names and a list of problem numbers. This is then printed off and I just read down my list. The "hat" is a Mathematica file that I update throughout the semester.

Adjustments: Sometimes if I have a lot of left-over names already in "the hat" I won't add everyone's name again. But I don't tell the students this. If I have more problems then students (which happens in smaller classes) then I'll add names twice.

Results: Every student has a possibility of getting called on at least once, so all are motivated to be ready. Also, every time a student doesn't get called on, they are more likely to get called on next time. I have had students go 3 or 4 times without getting called and then for the next couple Homework Days they end up presenting multiple times each day. The longer they go without presenting, the more ready they realize they need to be. In a semester with 13 homework days and ~25 students, by the end everybody has presented about the same number of times, maybe +/-2.

Grading: Since not everyone presents the same amount, points are given out of the number of times they were called and then this percentage entered for the homework grade. Also, since I really want students to show work so we can learn from it, the rubric is as follows: 4 pts for a solution (even if wrong), 3 pts for a solution to a different assigned problem (with permission, even if wrong), 1 pt for being there, 0 pts if absent.

Extra Credit: Some homework problems are hard and students need to pass. If 4 students in a row pass and/or ask to do a different problem (for the deduction), then the hard problem becomes extra credit and I ask for a volunteer. This is no longer random.

Additional Notes: This is way better than grading papers and it seems to benefit students more or by the same (but certainly not less). It's good for classes were the concepts are really new (e.g. Calc I, Pre-Calc, even Number Theory), but I wouldn't recommend it for classes where the problems can be long, tedious, and/or computationally heavy (Calc II, Diff EQ, Linear Algebra).

Good luck!

  • $\begingroup$ So if I understand your method correctly, your random list at any given time contains the $i$th student's name $n_i$ times, where $n_i$ is the number of weeks since she last presented. Of course there is a small (very small with 25 students and 5 presentations a week) chance that someone never presents in this method. $\endgroup$ Commented Jun 12, 2014 at 13:13
  • $\begingroup$ @MHH, not quite. $n_i = $(number of HW days so far) - (number of times a student has presented). Presenting once after 3 weeks of not still leaves 2 or more instances of their name remaining. $\endgroup$
    – Aeryk
    Commented Jun 12, 2014 at 17:58
  • $\begingroup$ ah, OK, so this probably works really well when students present frequently (say 1/3 of the class presents per week or more - as in your case) but if only say 1/7 of the class presents per week this may not work as well, because there is a reasonable chance that a student not present at all. But it could be easily modified. For example, say you have 4 students present per HW day, 2 students can be chosen deterministically from an alphabetic list (until everyone has presented once), while the other two students are chosen randomly out of the list you describe above (this was based on Ben's idea $\endgroup$ Commented Jun 13, 2014 at 4:11
  • $\begingroup$ You could actually use this method together with monitoring the students who have not presented and "randomly pick" students who haven't presented yet so far. Teachers are allowed to be sneaky. ;) $\endgroup$
    – David G
    Commented Jun 14, 2014 at 14:11

Doing this requires an impossibly large number of homework sets or a large proportion presenting each time.

What I do is to have everybody turn in homework, and each time a "random" selection (of around five) gets their grades by explaining what they turned in to the TAs, not by what they turned in. I'm not interested if they got the answers off MSE or Wikipedia, I want them to understand their answers. TAs tend to select suspected cheaters...

  • $\begingroup$ That is an interesting approach. Do you have them do this in front of the class/section or just to the TAs privately? $\endgroup$ Commented Jun 11, 2014 at 21:17
  • 2
    $\begingroup$ @MHH, privately. It would probably be very embarrassing otherwise $\endgroup$
    – vonbrand
    Commented Jun 11, 2014 at 21:30
  • 1
    $\begingroup$ Doing this requires an impossibly large number of homework sets or a large proportion presenting each time. Because the class is a certain size? There seems to be a computation that you have in mind, but I can't tell what it is, or what data it's computed from. $\endgroup$
    – user507
    Commented Jun 12, 2014 at 5:03

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.