Live Tutorials with Jupyter

Hi,

today I was introduced to some cool MATLAB functionalities. I did not know that MATLAB does also support a kind of notebook with its MATLAB live scripts (ending with .mlx). I also stumbled upon their Onramp courses, which were very impressive in the short time I could see them. I was thinking a little bit about this and came up with this idea of integrating / developing an infrastructure for Jupyter, which can easily be used to create own live tutorials. I did not research if there is some tool out there, maybe something like this already exists. Eitherway I wanted to share my idea:

There are lots of live tutorials (e.g. code.org) and I do not know if this is the correct term. They are easy to access via browser, give users the ability to run code live and save their progress (also possible with JupyterHub). In addition the code must solve some predefined problem, in order to proceed (I do not know, how to implement such a functionality in notebooks). Wouldn´t it be great, if teachers or professors could easily set up there own live tutorials, emphasizing their own ideas and notions? Or if developers of frameworks could easily create a live tutorial to explain the framework. I thought, one could leverage python´s unittest to validate, if the users code solved the problem.

I am happy about suggestions or references to tools that do this already.

Best,

1 Like

There are several extensions and related tools that do much of that. You should look at nbgrader and exercise and exercise2 for showing solutions, see here.
Also check out Teaching remotely with Jupyter: tips, resources, and best-practices .

For testing you may also be interested in: nbdev, testipynb, or “I’ve hacked our open-source repository of California coronavirus data to demonstrate how you can use nbclient and @github actions to test and verify @ProjectJupyter notebooks with each commit. https://github.com/datadesk/california-coronavirus-data”, posted here

1 Like

Also check out ok.py (https://okpy.org/) and Gopher Grader (https://github.com/data-8/Gofer-Grader).

Keep in mind that even these advanced tools are not “easy” to use for regular non-conding staff, but I also lack imagination how that could work one day. It is my fault.