Submission and Grading System for Assignments
With the integrated grader service of TU Wien it is possible to handle the exercise workflow (i.e., create, distribute, edit, submit, correct, give feedback) via bwJupyter. Lecturers can annotate notebooks with tasks and points via a Jupyter extension. Tests can be written for each task: Only if the test passes, full points are awarded. The tests can be public and hidden. Public tests are displayed to students. This can be useful to test the rough functionality. Hidden tests are not displayed to students. They can be used to test edge cases of the implemented solution.
After the assignment has been published, students who have the link to the profile can download the tasks. The solution and the hidden tests are not visible. After processing, the notebook must be handed in.
The notebook is automatically graded when it is handed in: The tests are carried out and give points. After the automatic correction, it is possible to correct the submission manually afterwards (e.g., free text fields and bonus points). When the correction has been completed, feedback can be generated. The feedback shows the Jupyter notebook with the points, comments if applicable, and the tests carried out. Students can view and download the feedback automatically. After the exercise, a CSV file with the points achieved can be downloaded.
Activate grader service
To be able to use the grader service in a profile, the option "Enable Grading Service for Jupyter Notebooks" must first be activated in the profile settings. Then, the correct Docker image must be set under "JupyterLab Environment".
For the grader service to work, the Python packages grader-service and grader-labextension must be installed. We have already created an image based on the Datascience profile. To do this, enter the following image under "Provide a custom Docker image":
harbor-bwjupyter.apps.bwkube.scc.kit.edu/bwjupyter/bwj-grader-test:latest
We keep the image up to date to apply bug fixes and changes to the grader service. If you use your own image, please install the following packages. Please note, however, that the versions may need to be updated if a new version of the grader service is used by us.
grader-service==0.8.2 grader-labextension==0.8.2
After the changes, the profile has the "Grading enabled" badge in the profile overview ("Profile Selection") under "Shared Profiles".
Usage
The person who created the profile and all profile collaborators can create assignments, view submissions, etc. All other users are considered "students" - even if they have the role "Lecturer" in bwJupyter. For specific usage, please refer to the official documentation for lecturers and students.
To make it easier for lecturers to get started, we provide a sample notebook with tasks and tests.
Feedback, questions and problems
We are currently in a test phase so that we can fix any bugs before the winter semester. Please contact us (support∂bwjupyter.de) if you have any questions or problems. We are also happy to forward new feature requests. Please note, however, that the project is open-source and we cannot develop or enhance the service ourselves for capacity reasons.