Creating automatically gradable coding assignments using nbgrader#

Grading assignments can feel like a time-comsuming chore. This is where automatic grading programns come in handy, although most grading solutions are constrained to a certain data format or costly.

One free solution to this is nbgrader, a tool to tool for creating and grading assignments in Jupyter notebooks. Nbgrader allows instructors to create assignments with coding exercises, written responses, and other types of questions, but mainly is focuesd on automatic grading of programming tasks. Written or free text responses will still have to be evaluated by hand. Nbgrader is therefore particularly useful for courses in statistics or data science. Unfortunately there is also no way of integrating nbgrader into this online course structure. If you plan on using nbgrader, you’d therefore need to send out and collect the assignments from your students via e-mail, discord etc.

For an introduction and demonstration of nbgrader’s core functionality, check out the Scipy 2017 talk by Jessica Hamrick

There are two great in-depth tutorials on how to create and grade assignments using nbgrader out there. Do check them and their piloshopy out if you want to implement this approach in your work: