CTL Blog

A New Process for Sending Quiz Results in Large Classes

November 08, 2021 | 3 Minute Read

The Quiz Generator in CoursePlus is a powerful tool for delivering quizzes, exams, and assessments of all kinds. The CoursePlus team has worked hard to make it as fast as possible, but large (500+ student) classes still present a challenge in some areas. While CoursePlus doesn't break a sweat having students in an 800 person class take a final exam online, batch actions on quiz/exam results and scoring can be problematic at scale.

As enrollment at the School of Public Health has grown, scaling problems have occurred with the sending of exam results to students and with recalculating all grades on an exam in a large class. The computational power required to send exam results via email varies depending on the number of students in the class, the number of questions in the exam, and the specific options chosen for display in the email (score, questions, answers, etc.). The computational power required to recalculate all scores for all students on an exam is similarly dependent on the number of students in the class and the number of questions in the exam. When question randomization is introduced into an exam (as it often is), the system has to load different questions in a different order for every student in order to send results or recalculate scores. With 500+ students, this can take quite a while.

CoursePlus has traditionally done all of this work in a single request. You click the button to send exam results or recalculate grades, and then wait for the process to finish. The problem with this approach is that, at scale, it takes longer than CoursePlus would allow. CoursePlus can’t let individual requests run forever, because that would ultimately exhaust resources and cause system instability. So if it takes longer than CoursePlus allows to send email results or recalculate scores for 200+ or 500+ students, how can that work ever get done?

The CoursePlus team rebuilt the process by which the sending of email results and recalculation of all scores for an exam occurs. The new process stores information about each individual student who needs their results sent or their score recalculated in a durable queue. CoursePlus then picks individual items off the queue, one at a time, and processes them. This new approach ensures that all student results are sent via email or scores are recalculated even if there are 10,000 students in a class.

How, though, do you know that work is being done with messages in this queue? If everything is happening in the background, how do you know that emails are being sent or scores recalculated? Fortunately, when your request for result sending or score recalculation goes into this queue, you get an on-screen indicator of the number of emails or scores waiting to be processed.

The counter which shows you how many quizzes await sending or score recalculation.

This indicator shows up at the top of the main “Responses and Grades” page for the exam in the Quiz Generator, and counts down in real time.

This new approach only applies to large (200+ student) classes or long (50+ question) exams in medium-sized classes. For all other classes, email result sending and score recalculation is handled in the same way as before: you click the appropriate button and then wait about a minute (or less!) while the process completes.

We hope that this change makes result sending and grade recalculation in large classes a lot smoother. As always, if you have questions or concerns about this change, please contact CTL Help!