JOE: Java Online Exercises
This repository provides scripts and information to offer web-based Java (and C++, Python) assignments.
It uses Jupyter Notebook for web access and the extension nbgrader for automatically graded assignments. Additionally, JupyterHub manages multiple users, IJava provides language support, and files are managed by Docker.
If you haven't heard of nbgrader yet, you can watch the video YouTube: nbgrader at SciPy 2017.
- Install Docker
- Download and unpack JOE
- Build Docker image
sudo docker build -t nbgjava:latest JavaOnlineExercises-master/docker/
(This takes about 9 minutes.)
- Run Docker container
sudo docker run -t -d -p 8000:8000 --name nbgjava nbgjava:latest
- Initialize the system
(This creates example student accounts nbgtesta, nbgtestb, and nbgtestc. It also copies assignment templates.)
- Go ahead
Ignore messages like 'Your connection is not private' for now.
You can use the teacher account nbgadmin, and the student test accounts nbgtesta, nbgtestb, nbgtestc, and nbguser.
All passwords are nbgpsw. You have to change the passwords for public installations.
The wiki provides detailed descriptions.
There are scripts for an installation on a virtual machine. This variant provides a mounted directory to create backups. It is described on the installation wiki page.
Data Science Group (DICE) at Paderborn University
Adrian Wilke and Michael Röder