Jupyter nbgrader Hackathon Topics


The University of Edinburgh is hosting a hackathon looked at adding features and improvements to nbgrader as part of the Jupyter Community Workshop Series. We’ve collected a list of features and items that we want to work on but we also want to hear if there are any things you would like to highlight.

Here is our current list:

  • Support for Multiple course/Multiple classes. Instructors that teach multiple course using nbgrader or students enrolled on multiple course. Multiple Courses (ref: PR #1040) vs Support for multiple classes via Jupyterhub groups (PR #893)

  • Considerations for LTI use: Users/Courses not in the database at startup

  • Support for Multiple markers for one assignment (part of issue #1030, which extends #998)

  • API Tests have hard-coded file copy methods to pre-load the system to enable testing, and os.file_exists-type tests for release & submit tests

  • Generation of feedback copies for students within the formgrader UI (to mirror the existing terminal command). Also consider ability to disseminate this feedback back to students within nbgrader.

You can also find some discussion at https://github.com/jupyter/nbgrader/issues/1079

1 Like

I didn’t see https://github.com/jupyter/nbgrader/issues/1073 on the list – but it cost us a couple of hours (mainly because we assumed we’d corrupted gradebook.db before we realized it was the sqlalchemy update).


We’ve worked on the same issue here as part of our implementation on nbgrader. We are planning to release a large amount of the work that’s been done here as part of the hackathon so this issue should be addressed when it gets fed back upstream. Thanks for the input.


That’s great news, thanks for your work on this. I was going to teach myself enough sql to try to debug, happy to postpone for another time.


Here are some features we would need at Paris-Sud and I would like to discuss / collaborate on:

  • Secure execution of student code in a sandbox
  • Randomization upon generating the student notebook to limit plagiarism
  • Digital watermark / signature in the student notebook to limit plagiarism
  • Online exchange directory
  • More modularity for using only certain pieces and help integrate with local infrastructure / workflow
    E.g.: producing the student version without any configuration
  • Handling groups of students by adding the group info in addition to the student name

FYI, I’ve created the Edinburgh-Hackathon label in the nbgrader repo and will be tagging issues/PRs with that to make it easier to track what people want to work on. If you’d like me to tag an issue with it please comment here or on #1079 with the issue number and I’ll go ahead and tag it!


Things on my list include:

  • Moodle: how Moodle integration might work; how nbgrader compares with something like Moodle Code Runner;
  • extent to which elements of nbgrader can be decoupled, then used / reused / co-opted for other things.

I would like to add:

  • (ref: PR #1060) so teachers can navigate to their service with a link from their user home instead of having to manually write the path, this would provide better user experience for teachers.