A student already started to implement this application. The next student will continue implementing what is left.


Exercises of introductory level programming often require a simple control mechanism, such as giving predefined parameters and observing the program’s output. In exercise sessions, we often provide students with answers so that they can verify their results. However, we are not able to check their replies one by one. Thus, in 2019-2020, we used the JupyterHub system and tested students’ output with expected outputs to automate this approach. However, this system did not work well because i) we had to write all test cases from scratch by instructor, and ii) cells of a Jupyter notebook process Java codes differently.


Many online programming courses/challenge websites implement simple input/output testing (e.g., Hackerrank), running the user’s code with predefined inputs and comparing the results to expected outputs. In this project, we propose developing an online coding environment using the approach mentioned earlier for the University of Lausanne students.

The list of tools we use:

  • Spring Boot
  • JSF + PrimeFaces
  • JDoodle
  • MySQL
  • PayaraServer