Just imagine, you have to hold a programming course, that is, a lecture and tutorial course, for 200 students. Two options are available to you: (a) You correct all the code submissions manually, which takes forever, or (b) you try to automate the review, because then you can set several different tasks with a reasonable amount of effort.
The .dcall project "Jupyter as a Service": fully digitalized course management
We opted for the second course of action and proposed the .dcall FCG project "Jupyter as a Service", which has since been carried out successfully. Our aim was to fully digitalize course management, both for the lecture and for the tutorial, based on TUWEL, the e-learning platform at TU Wien. We used a central Jupyter Notebooks server infrastructure, the "JupyterHub, opens an external URL in a new window", for the practical work. This gives the students a standardised web-based programming environment for the course. All the students need is a mobile device (PC, notebook, tablet) with internet connection and a web browser. Done!
Learn and review at your own pace
The course content is taught in YouTube style, that is, in short videos. There are 4-8 short videos in each course unit, which can be worked through all in one go, or with breaks in-between. The pace you work at can be adapted to suit your concentration and endurance, in other words, self-paced learning. The videos are always Jupyter Notebook-based, with the different cells firstly displaying the script for the theory, and secondly being immediately available for practical exercises – that is, for coding. The Jupyter environment is launched from TUWEL by pressing a button, and authentication is automatic thanks to the TU Wien single sign-on.
And what about self-checking? No problem! The theory is consolidated by multiple-choice tests in TUWEL, and there are exercise sheets in the Jupyter environment for practical exercises. One exercise sheet for each week! So, how are the corrections made, you ask? This is done by nbgrader, opens an external URL in a new window, a tool for automatically reviewing and evaluating the code. The code submissions for the actual performance assessment are also corrected in this way. And how does the data get back to TUWEL? Easily, using an automatic script that transfers the collected results back to TUWEL.
A collaborative pilot project is looking for copycats
This was made possible by a partnership between the Department of Geodesy and Geoinformation, where the didactic concept came from, TU.it, which is responsible for the technical matters of the JupyterHub infrastructure, and the Teaching Support Center, so that everything could also be seamlessly integrated into TUWEL.