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.
We now announce the Graded #Jupyter Notebook Integration for #OpenEdx, in collaboration with @iblstudios: instructors can assign #nbgrader-instrumented notebooks in the #MOOC platform! https://t.co/1vz9NK5xHb https://t.co/rDywbvUPWb
— Lorena Barba (@LorenaABarba) May 15, 2018
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