GW and IBL Release an Open edX XBlock to Add Graded Problems Based on Jupyter Notebooks

Three weeks after the Jupyter Viewer XBlock for the Open edX platform was released, GW professor Lorena Barba and IBL Education’s engineering team announced the graded Jupyter Notebook integration.

This software extension, released as open source, will allow instructors to assign nbgrader-instrumented notebooks into the Open edX platform.  It will be officially presented by Lorena Barba and Miguel Amigot, CTO at IBL, during the upcoming Open edX conference in Montreal, Canada, on May 30.

This XBlock uses Docker and nbgrader to create a Python environment and auto-grade a Jupyter Notebook, and tracks the resulting score as a problem with an edX graded sub-section. It allows an instructor to upload the student’s version of an assignment created with nbgrader, upload a requirements.txt file to configure the environment, and set the maximum number of tries for the student. The student downloads the assignment file, answers the questions (executing all cells), and uploads the solution, which gets immediately auto-graded. The student gets a visual score report, and the score gets added to his/her progress in the Open edX gradebook.

Features and Support of the Jupyter EdX Graded XBlook:

  • Integrated into edX Grading System
  • Maximum point values are pulled from the instructor version of the notebook
  • A separate Python3 virtual environment is kept for each course
  • Each student’s notebook is run within its own Docker container
  • Several Other Configuration Options
  • Only supports auto-graded cells – Does not support manually graded cells.


This is the video demo:

• The  Jupyter EdX Graded XBlock on GitHub
• IBL, April 28: An Open edX XBlock to Load Content from a Jupyter Notebook