JupyterHub

© Cameron Oelsen / 2017 Project Jupyter Contributors

Jupyter – Exploratory data analysis with code, multimedia content and interactive visualisation

Jupyter is a web-based open source software. Users can connect, share and reuse multimedia content within the framework of a notebook: Text, images, videos, interactive content and the special basic feature of executable programming code in various programming languages such as Python, R or Java.

These are good prerequisites for teaching programming skills and data literacy, the ability to understand, process, describe, interpret and discuss issues with the help of data.

How you can reach JupyterHub at the University of Bremen 

Jupyter is available for use by all members of the University of Bremen

https://jupyter.uni-bremen.de/

You can log in with your university login (Shibboleth). 

Further information can be found on this page or on the JupyterHub page. If you have any further questions, please contact the Jupyter team at the following email address

info@jupyter.uni-bremen.de

Jupyter - a powerful, web-based, GDPR-compliant service for lecturers and students at the University of Bremen

Lecturers can create their own profiles for their courses, in which the desired programming languages and additional packages and libraries can be implemented and the necessary digital documents can be made available to students. A link between the profile and the respective Stud.IP course ensures convenient participant management.

Students receive a low-threshold offer for a working and programming environment. The technical equipment and prior knowledge of the students play a minor role, only the university login, an internet browser and a stable internet connection are required.
Students can try out and work on their own notebooks independently of courses.

© Project Jupyter / Isabell Schaffer

Registration on JupyterHub

Jupyter at the University of Bremen can be reached at 

https://jupyter.uni-bremen.de

On the JupyterHub homepage, click on the login button (1). You will then be redirected to the Single-Sign-On page of the Centre for Networks, ZfN (2). 

Log in here with your user name (2a) and password (2b). After clicking on "Login" (2c) you will land on the profile page of JupyterHub at the University of Bremen.

Three standard profiles (3a) for the programming languages Python, R and Java are currently available here for you to try out. Please note the information on the respective versions and pre-installed packages and libraries of the profiles in the description. 
Some users make their profiles available to everyone; these can be found in the accordion section "Public profiles" (3b). 

If you have created your own profiles, you will also find them on this page.

© SKILL-UB / ZMML, (1) Jupyter homepage, button to log in with the university account
© SKILL-UB / ZMML, (2) Login (c) via single sign-on on the ZfN website with your user name (a) and password (b)
© SKILL-UB / ZMML, (3) Profile page of Jupyter. Here you will find the standard profiles (a), public profiles (b) and your customised profiles you created yourself
© SKILL-UB / ZMML New profiles can be created in the JupyterHub menu.
© SKILL-UB / ZMML Form for creating a profile on JupyterHub

Creating your own profiles and linking them to Stud.IP courses

To create a profile, you need a few prerequisites. Here is a short checklist before you start creating your profile:

  • You must be a lecturer and need a course on Stud.IP that is running in a specific semester. If you do not yet have a course, please contact the course planner in your department.
  • The course should have a meaningful name (German/English)
  • A short description of the course (German/English)
  • Which programming language(s) do you want to use (at least one is required)
  • Which packages do you want to install and which other extensions do you need
  • If you want to make files available via a GitLab repository, then you need
    • 1. the link to the Gitlab repository
    • 2. and the access token to the Gitlab repository (optional, only if the repository is set to private)

So first check whether you are registered as a lecturer in Stud.IP for the desired course. Only lecturers currently have the option of creating their own profiles and linking them to a course in Stud.IP. This link allows you to manage the participants. If the profile is not public, only the participants of the course can see and use the profile after logging in. Another feature is that you can make teaching materials available in the profile with the help of a Git repository.

Below is a brief description of how you can create a profile on the university's JupyterHub. If you are missing a programming language, extension or package, or if you have any questions about creating a profile, please do not hesitate to contact us.

To create a profile, go to "Manage profiles" (4) in the JupyterHub menu. Click on the "Create new profile" button (5). The form for creating a profile opens.

Selection of a course

The following values are filled in automatically: First name (6), last name (7) and email (8). 

Select the desired semester (9) and you will be offered a selection of the courses you have created for the respective semester in the drop-down menu (10). The course ID (11) is also entered automatically once you have made your selection.

Add a short description of the profile, preferably in both German and English (12). The description can contain content-related or technical information, for example.

Selection of programming languages

Select one or more programming languages (13). If you have selected the programming language(s), you can optionally choose from a variety of packages, which will also be installed (14). The RStudio and Quarto extensions are also available for the R programming language. If you are missing a programming language, extension or package, simply send us an email.

Link to a Git repository

You also have the option of making teaching materials available (15). If you want to do this, you will need a GitLab repository. Enter the corresponding link (16). If this repository is private, you must also specify a token (17). Please note, however, that this profile is set to "read-repository" so that files can only be read. 

Finally, save the form (18).

Application scenarios in teaching

Jupyter Notebooks can be used in teaching in various ways. You can find some initial scenarios here:

Teaching programming basics

Jupyter Notebooks can be used like a digital textbook to introduce initial programming concepts in various programming languages. The advantage is that directly executable examples can be integrated and exercises can be carried out in the same document. All content is made available to the learner. Teachers can vary the steps in the material, offer solutions and then provide further exercises.

The advantage of the Jupyter Notebooks is that all the required documents, packages and libraries are available. Learners can therefore concentrate on the learning objective.

Teaching a topic

Presentation of a topic with introductory text, executable code, videos, (interactive) graphics and further references. In addition to an insight into the content, learners also have access to information on how an analysis is carried out technically and how data is processed. Subsequently, content-related tasks can be set.

The advantage of the Jupyter Notebooks is that everything can be stored in a document and distributed to a course via the JupyterHub. It provides the opportunity to gain a deeper insight into data analysis, e.g. Results no longer have to be a black box.

Developing a topic 

Learners develop the content of a topic within a document. They write the text, programme the code, analyse the data and present and interpret the results graphically. This very independent approach can be more or less supported by teachers, for example 

  • by giving students preliminary work in the form of a Jupyter Notebook, which the students work on from a different angle 
  • a template that they can use for orientation
  • or letting them start from scratch. 

Jupyter Notebooks can be passed on and reused. This means that topics or aspects of topics can be worked on again or anew. Learners can pick up on what they have learnt and experience that scientific work always builds on each other. New and different aspects can be worked on from a notebook.

Short examples of Python-Code implemented on JupyterHub

© SKILL-UB / ZMML, short programme examples implemented in JupyterHub in the Python programming language, interactive widgets (IpyWidgets), Markdown, LaTeX.

Notebooks, working environment and multi-user environment of Jupyter

The open source software Jupyter is constantly evolving and now consists of the initial interactive documents (Jupyter Notebooks), an interactive development environment (JupyterLab) and a multi-user environment (JupyterHub). The Jupyter team takes up the new developments, implements them and expands them based on the needs of users at the University of Bremen.

© SKILL-UB / ZMML / Isabell Schaffer

Jupyter Notebooks

Jupyter Notebooks offer the possibility to combine executable code, text and multimedia content.

40 common programming languages can be executed in the notebooks. The notebooks can be exported and passed on.

The open source software Jupyter is used worldwide and the content produced can be used outside the university context.

 

 

 

© SKILL-UB / ZMML / Isabell Schaffer

JupyterLab

Jupyter Notebooks are supplemented by JupyterLabs with an interactive, web-based development environment, and enable convenient working with the notebooks comparable to desktop programmes.

Simple administration, editing, exporting, uploading and downloading of files is made possible by a file directory.

Additional programme packages or libraries can be loaded. Debugger functions and syntax extension tools are also available.

 

 

© SKILL-UB / ZMML / Isabell Schaffer

JupyterHub

JupyterHub is a multi-user environment. Members of the University of Bremen can log in to Jupyter using Shibboleth. The hub makes it easy to work in larger groups. Hosting on site ensures efficient and data protection-compliant working.

In addition to some standard profiles for Pythen, R and Java, you can create your own profiles, which initially specify the desired programming language and can be supplemented with additional programme packages, files and learning materials that you need for your course so that students can access them easily.

Piloting in the SKILL-UB project

JupyterHub was piloted in the SKILL-UB project as part of the Geosciences Innovation Lab.
SKILL-UB supports the further establishment of JupyterHub at the University of Bremen.

© University Bremen / SKILL-UB

Project funding of SKILL-UB

The Stiftung Innovation in der Hochschullehre is funding SKILL-U as part of the call Hochschullehre durch Digitalisierung stärken.

Portraitfoto Marcel Meissner

Marcel Meißner (System 
management)

Portraitfoto Isabell Schaffer

Isabell Schaffer (Application & user support)