JupyterHub

© Cameron Oelsen / 2017 Project Jupyter Contributors

Jupyter – Explorative Datenanalyse mit Code, multimedialen Inhalten und interaktiver Visualisierung

Jupyter ist eine webbasierte Open-Source-Software. Die Nutzer:innen  können im Rahmen eines Notebooks multimediale Inhalte miteinander verbinden, teilen und wiederverwenden: Texte, Bilder, Videos, interaktive Inhalte und das besondere Grundfeature ausführbarer Programmiercode in diversen Programmiersprachen wie zum Beispiel Python, R oder Java.

Diese Eigenschaften bieten gute Voraussetzungen zur Vermittlung von Programmierkenntnissen und Data Literacy, der Fähigkeit Sachverhalte mit Hilfe von Daten zu verstehen, bearbeiten, beschreiben, interpretieren und diskutieren zu können.

So erreichen Sie JupyterHub an der Universität Bremen

Jupyter steht allen Angehörigen der Universität Bremen zur Nutzung zur Verfügung

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

Die Anmeldung erfolgt mit Ihrem Uni-Login (Shibboleth). 

Weitere Informationen finden Sie auf dieser Seite oder auf der Seite von JupyterHub. Bei weiteren Fragen steht Ihnen das Jupyter-Team gerne unter der folgenden Email-Adresse zur Verfügung

info@jupyter.uni-bremen.de

Jupyter - ein leistungsfähiges, webbasiertes, DSGVO- konformes Angebot für Lehrende und Studierende an der Universität Bremen 

Lehrende können für ihre Veranstaltungen eigene Profile erstellen, in denen die gewünschten Programmiersprachen und Zusatz-Pakete und Bibliotheken implementiert werden und notwendige digitale Unterlagen für die Studierenden zur Verfügung gestellt werden können. Eine Verknüpfung Profils mit der jeweiligen Stud.IP-Veranstaltung sorgt für eine komfortable Teilnehmer:innen-Verwaltung.

Studierende erhalten ein niederschwelliges Angebot für eine Arbeits- und Programmierumgebung. Die technische Ausstattung und die Vorkenntnisse der Studierenden spielen eine geringere Rolle, lediglich das Uni-Login, ein Internet-Browser und eine stabile Internet-Verbindung werden benötigt.
Unabhängig von Veranstaltungen kann in eigenen Notebooks ausprobiert und gearbeitet werden.

© Project Jupyter / Isabell Schaffer

Anmeldung auf JupyterHub

Jupyter an der Universität Bremen erreichen Sie unter 

https://jupyter.uni-bremen.de

Auf der Startseite von JupyterHub klicken Sie auf den Anmeldebutton (1). Danach werden Sie weitergeleitet auf die Seite Single-Sign-On Seite vom Zentrum für Netze, ZfN (2). 

Melden Sie sich hier mit Ihrem Benutzernamen (2a) und Passwort (2b) an. Nach den Klick auf ,,Anmelden" (2c) landen Sie auf der Profilseite von JupyterHub an der Universität Bremen.

Hier stehen aktuell drei Standardprofile (3a) zu den Programmiersprachen Python, R und Java zum Ausprobieren zur Verfügung. Beachten Sie in der Beschreibung die Hinweise zu den jeweiligen Versionen und vorinstallierten Pakete und Bibliotheken der Profile. 
Einige Nutzer:innen stellen ihre Profile für alle zu Verfügung, Diese finden Sie im Akkordion-Fach „Öffentliche Profile" (3b). 

Haben Sie eigene Profile angelegt, dann finden Sie diese auch auf dieser Seite.

© SKILL-UB / ZMML, (1) Startseite von Jupyter, Button zur Anmeldung mit dem Uni-Account
© SKILL-UB / ZMML, (2) Anmeldung (c) via Single-Sign-On auf der Seite des ZfN mit Ihrem Benutzernamen (a) und Passwort (b)
© SKILL-UB / ZMML, (3) Profilseite von Jupyter. Hier finden Sie die Standardprofile (a), öffentlichen Profile (b) und selbstangelegte, individuelle Profile
© SKILL-UB / ZMML Unter JupyterHub-Menü können neue Profile erstellt werden.
© SKILL-UB / ZMML Formular zur Erstellung eines Profils auf JupyterHub

Anlegen von eigenen Profilen und Verknüpfung mit Stud.IP-Veranstaltungen

Um ein Profil anzulegen benötigen Sie ein paar Voraussetzungen. Hier eine kurze Checkliste bevor Sie mit der Erstellung beginnen:

  •  Sie müssen Lehrende:r sein und benötigen eine Veranstaltung auf Stud.IP, welches in einem bestimmten Semester läuft. Sollten Sie bisher keine Lehrveranstaltung haben, sprechen Sie den/die LV-Planer:in in Ihrem Bereich an.
  •  Die Veranstaltung solle einen aussagekräftigen Namen haben(deutsch/englisch)
  •  Eine Kurzbeschreibung für die Veranstaltung (deutsch/englisch)
  •  Welche Programmiersprache(n) wollen Sie nutzen (mindestens eine ist notwendig)
  •  Welche Pakete möchten Sie Installieren und welche sonstigen Erweiterungen benötigen Sie
  •  Wollen Sie Dateien via eines GitLab Repositories zur Verfügung stellen, dann benötigen Sie
    •   1. den Link zum Gitlab Repository  
    •   2. und den Access Token zum Gitlab-Repository (Optional, nur wenn Repository auf private gestellt ist) 

Überprüfen Sie also zunächst, ob Sie in Stud.IP in der gewünschten Veranstaltung als Lehrende:r eingetragen sind. Nur Lehrende haben aktuell die Möglichkeit eigene Profile anzulegen und diese mit einer Veranstaltung in Stud.IP zu verknüpfen. Die Verknüpfung erlaubt eine Verwaltung der Teilnehmer:innen. Wenn das Profil nicht öffentlich ist, können so nur die Teilnehmer:innen der Veranstaltung das Profil nach dem Einloggen sehen und nutzen. Ein weiteres Feature ist, dass Sie mit Hilfe eines Git-Repositories Lehrmaterialien im Profil zur Verfügung stellen können.

Im Folgenden geben wir Ihnen eine kurze Beschreibung wie Sie ein Profil auf dem JupyterHub der Universität erstellen können. Vermissen Sie eine Programmiersprache, Erweiterung oder ein Paket oder haben Sie Fragen zum Erstellen eines Profils, nehmen Sie gerne Kontakt zu uns auf.  

Gehen Sie zum Anlegen eines Profils auf „Profile verwalten" (4) im Menü vom JupyterHub. Klicken Sie auf den Button „Neues Profil erstellen" (5). Es öffnet sich das Formular zum Erstellen eines Profils.

Auswahl der Veranstaltung

Folgende Werte werden automatisch ausgefüllt: Vorname (6), Name (7) und Email (8). 

Wählen Sie das gewünschte Semester (9) aus und Sie bekommen im Dropdown-Menü die Auswahl Ihrer angelegten Veranstaltungen des jeweiligen Semesters angeboten (10). Nach der Auswahl wird auch die Veranstaltungs-ID (11) automatisch eingetragen. 

Fügen Sie eine kurze Beschreibung des Profils auch in englischer Sprache hinzu (12). Die Beschreibung kann z.B. inhaltliche oder auch technische Hinweise enthalten.

Auswahl der Programmiersprache(n)

Wählen Sie eine oder mehrere Programmiersprachen (13). Wenn die Programmiersprache(n) gewählt haben, können Sie optional aus einer Vielzahl von Paketen wählen, die dann zusätzlich installiert werden (14). Für die Programmiersprache R stehen auch die Erweiterungen RStudio und Quarto zur Auswahl. Fehlt Ihnen eine Programmiersprache, Erweiterung oder Paket, senden Sie uns einfach eine Email.

Verknüpfung mit einem Git-Repository

Optional haben Sie auch die Möglichkeit Lehrmaterialien zur Verfügung zu stellen (15). Wenn dies der Fall ist, benötigen Sie hierfür ein GitLab-Repository. Geben Sie den entsprechenden Link an (16). Wenn dieses Repository privat ist, müssen Sie einen Token mit angeben (17). Beachten Sie aber, dass die dieses Profil auf „read-repository" gesetzt ist, damit Dateien nur gelesen werden können. 

Speichern Sie zum Abschluss Ihre Eingaben (18).

Anwendungsszenarien in der Lehre

Jupyter Notebooks können auf verschiedene Arten in die Lehre eingesetzt werden. Hier finden Sie erste Szenarien:

Vermittlung von Programmiergrundlagen

In Jupyter Notebooks können wie in einem digitalen Textbuch erste Konzepte der Programmierung in verschiedenen Programmiersprachen vorgestellt werden. Der Vorteil ist, es können direkt ausführbare Beispiele eingebaut und Übungen im selben Dokument gemacht werden. Alle Inhalte werden dem/der Lernenden zur Verfügung gestellt. Lehrende können die Schrittweiten im Stoff variieren, Lösungen anbieten und danach weitere Übungsversuche zur Verfügung stellen.

Der Vorteil der Jupyter Notebooks ist, dass alle benötigten Unterlagen, Pakete und Bibliotheken vorhanden sind. Lernende können sich so auf das Lernziel konzentrieren.

Vermittlung eines Themas

Darstellung eines Themenkomplexes mit einführendem Text, ausführbaren Code, Videos, (interaktiven) Grafiken und weiterführenden Referenzen. Die Lernenden bekommen neben dem inhaltlichen Einblick auch Zugriff auf die Information, wie eine Analyse technisch durchführt wird und Daten aufbereitet werden. Im Anschluss können inhaltliche Aufgaben gestellt werden.

Der Vorzug der Jupyter Notebooks ist auch hier, dass alles in ein Dokument abgelegt werden kann und über den JupyterHub an einen Kurs verteilt werden kann. Es verschafft die Möglichkeit einen tieferen Einblick in zum Beispiel die Datenanalyse zu bekommen. Ergebnisse müssen keine Black Box mehr sein.

Erarbeitung eines Themas 

Lernende erarbeiten innerhalb eines Dokuments ein Thema inhaltlich. Sie schreiben den Text, programmieren den Code, werten Daten aus und stellen die Ergebnisse grafisch dar und interpretieren sie. Dieser  sehr eigenständige Ansatz kann von Lehrenden mehr oder weniger begleitet werden, zum Beispiel,

  • indem sie Studierenden schon eine Vorarbeit in Form eines Jupyter Notebooks geben, die die Studierenden unter einen anderen Aspekt bearbeiten
  • eine Vorlage an der sie sich orientieren können
  • oder sie komplett neu starten lassen. 

Jupyter Notebooks können weitergegeben und wiederverwendet werden. Somit können Themen oder Themenaspekte wieder oder neu bearbeitet werden. Lernende können so zum einen Erlerntes wieder aufgreifen und  erleben, dass wissenschaftliches Arbeit immer weiter aufeinander aufbaut. Neue und unterschiedliche Aspekte können aus einem Notebook heraus bearbeitet werden.

Kurze Programmbeispiele in JupyterHub

© SKILL-UB / ZMML, kurze Programmbeispiele implementiert in JupyterHub in der Programmiersprache Python, interaktive Widgets (IpyWidgets), Markdown, LaTeX.

Notebooks, Arbeitsumgebung und Multi-User-Umgebung von Jupyter

Die Open-Source-Software Jupyter entwickelt sich laufend weiter und besteht inzwischen aus den anfänglichen, interaktiven Dokumenten (Jupyter Notebooks), einer interaktiven Entwicklungsumgebung (JupyterLab) und einer Multi-Userumgebung (JupyterHub). Das Jupyter-Team nimmt die neuen Entwicklungen auf, implementiert sie und erweitert sie anhand der Bedürfnisse der Nutzer:innen  an der Universität Bremen.

© SKILL-UB / ZMML / Isabell Schaffer

Jupyter Notebooks

Jupyter Notebooks bieten die Möglichkeit ausführbaren Code, Text und Multimedia-Inhalte zu verbinden.

40 gängige Programmiersprache können in den Notebooks ausgeführt werden. Die Notebooks können exportiert und weitergegeben werden.

Die Open-Source-Software Jupyter findet weltweit Anwendung und produzierte Inhalten können jenseits des universitären Kontextes eingesetzt werden.

 

 

 

© SKILL-UB / ZMML / Isabell Schaffer

JupyterLab

Jupyter Notebooks werden durch JupyterLabs mit einer interaktiven, webbasierten Entwicklungsumgebung ergänzt, und ermöglicht bequemes Arbeiten mit den Notebooks vergleichbar mit Desktop-Programmen.

Einfaches Verwalten, Bearbeiten, Exportieren, Hoch- und Runterladen von Dateien wird durch ein Dateiverzeichnis ermöglicht.

Zusätzliche Programmpakete oder Bibliotheken können geladen werden. Den Nutzer:innen stehen Debugger-Funktionen und Syntax-Ergänzungstools zur Verfügung. 

 

 

© SKILL-UB / ZMML / Isabell Schaffer

JupyterHub

JupyterHub bildet eine Multiuser-Umgebung. Über eine Anmeldung mit Shibboleth können sich die Angehörigen der Universität Bremen auf Jupyter einloggen. Der Hub ermöglicht das bequeme Arbeiten in größeren Gruppen. Das Hosting-on-Site gewährleistet ein leistungsfähiges und datenschutzkonformes Arbeiten.

Neben einigen Standardprofilen zu Pythen, R und Java, können eigene Profile erstellt werden.Profile geben zunächst die gewünschte Programmiersprache vor, und können durch zusätzliche Programm-Packages, Dateien und Dokumente, die Sie für Ihre Lehrveranstaltung benötigen,ergänzt werden, so dass die Studierenden problemlos darauf zu greifen können.

Pilotierung im Projekt SKILL-UB

Im Projekt SKILL-UB wurde JupyterHub im Rahmen des Innovation Lab der Geowissenschaften pilotiert.
SKILL-UB unterstützt die weitere Etablierung von JupyterHub an der Universität Bremen.

© Universität Bremen / SKILL-UB

Förderung des Projektes SKILL-UB

Die Stiftung Innovation in der Hochschullehre fördert SKILL-UB im Rahmen der Ausschreibung Hochschullehre durch Digitalisierung stärken
 

Portraitfoto Marcel Meissner

Marcel Meißner (System-
management)

Portraitfoto Isabell Schaffer

Isabell Schaffer (Anwendungs-
betreuung & Support)