Jupyter Notebook (JupyterHub)
The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.
We have packaged Jupyter for Cloudron - https://cloudron.io/store/org.jupyter.cloudronapp.html. It is integrated with Cloudron authentication. A notebook container is spawned off for each user separately. This means that notebooks of one user do not interfere with others. You can tune the memory limits, notebook image etc - https://cloudron.io/documentation/apps/jupyterhub/
Also, this app is actively in use in a few universities. If you want to deploy this app for students with integration with your universities' user directory, please contact firstname.lastname@example.org