Virginia Tech® home

Auto-Grading Jupyter Notebooks

Amit Naik, Clifford Shaffer, Chris North

Abstract

Jupyter Notebooks are becoming more widely used, both for data science applications and as a convenient environment for learning Python. Currently, grading of assignments done in Jupyter Notebooks is typically done manually. Manual grading results in students receiving feedback only long after the assignment is complete. We implemented support for auto-grading programs written in Jupyter Notebooks within the Web-CAT auto-grading system. Scores received are directly reported to the Canvas gradebook. A Jupyter notebook extension allows students to upload their notebook files to Web-CAT directly. Survey results from class use show that 80% of students believe that getting immediate feedback from Web-CAT improved their performance. Instructors report that this implementation has significantly reduced their workload.

Publication Details

Date of publication: February 25, 2020

Conference: ACM Technical Symposium on Computer Science Education

Page number(s): 1139-1144

Volume:

Issue Number:

Publication Note: Hamza Manzoor, Amit Naik, Clifford A. Shaffer, Chris North, Stephen H. Edwards: Auto-Grading Jupyter Notebooks. SIGCSE 2020: 1139-1144