Does anyone know a good tool by which programming tests can be automated? I'm about to start teaching Python via Google Classrooms and want to setup some homework/tests students can complete, send, and get a grade for.

Kind of like a platform online where i can set basic rules (functions to test expected outcomes), and the students can submit their scripts to be tested, by which id get their results.

1 Answer 1


The Jupyter project has the marvellous NB Grader sub-project which is documented here with a video here.

NB Grader allows you to:

  • Create assessments which are in the form of Jupyter notebooks.
  • These can obviously contain static text as instructional material.
  • Formulae
  • Working code examples
  • Data or links to data sources
  • Code Entry cells (these can be marked as Auto or Manually graded)
  • Cells that run tests on the Code Entry cells
  • Text Entry cells (Usually manually graded)
  • Multi-choice cells (Usually auto graded)
  • Being Jupyter it is not limited to python alone.

It also provides an entire ecosystem for writing the tests, converting them to the student view, distributing the tests, getting answers submitted, marking the tests, etc.

NBGrader is:

  • Free, Gratis & Open Source
  • Does not rely on specific hardware or operating systems
  • If you have or can set up a JupyterHub instance that the students have access to then the students don't have to have any specific software other than a reasonably up to date web browser. More info here & you might find the info here useful.

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.