Inhalt der Veranstaltung

Das Project Jupyter umfasst inzwischen einige Anwendungen, hervorgegangen ist es aus dem IPython Notebook, welches anschliessend in das inzwischen weit verbreitete Jupyter Notebook überging.

Jupyter Notebook

Jupyter Notebook wird seit einigen Jahren nicht nur für Informatiker sondern auch für Naturwissenschafter, Wirtschaftswissenschaftler und auch Ingenieure immer beliebter. Warum ist das so ? Dies liegt u.a. daran, dass Jupyter Notebook eine einfache Kombination unterschiedlichster Materialien wie normalen Text, Bilder, Grafiken mit HTML, LaTeX, SVG-Grafiken und insbesondere dies mit Programmiercode unterschiedlichster Programmiersprachen wie Python, Java, JavaScript, C++, R, Scala, u.a. vermischen kann. Dabei liegt insbesondere der Vorteil auch darin, dass die Benutzerschnittstelle eines Jupyter Notebook Servers zur Erstellung eines Jupyter Notebooks einzig und allein ein Browser ist.

JupyterLab

Die Weiterentwicklung des Jupyter Notebook ist das JupyterLab, welches eine erweiterte webbasierte interaktive Entwicklungsumgebung für Jupyter Notebooks, Programmcode oder Daten ist. JupyterLab ist flexibler als Jupyter Notebook, da die Benutzeroberfläche konfigurierbar und selbst angeordnet werden kann. Damit kann eine Vielzahl von Abläufen in den Bereichen Data Science, Scientific Computing und maschinelles Lernen unterstützt werden. JupyterLab ist zudem über Plugins und Komponenten erweiterbar und modular.

JupyterHub

Jupyter Notebook und JupyterLab sind Single-User Webserver, die auf jedem Rechner einfach zu installieren und lauffähig sind. Die Erweiterung dieser Single-User Webserver für Firmen, Organisationen, Hochschulen, Arbeitsteams, etc. zu einem Multi-User Webserver ist durch den JupyterHub Server erfolgt. Auch für den JupyterHub Server gibt es entsprechende Erweiterungen, wie z.B. nbgrader, ein auf Jupyter Notebook und JupyterHub basierendes automatisiertes Verteilungs- und Codeprüfungs Framework.

Violà

Als jüngstes Mitglied von Project Jupyter ist Voilà hinzugekommen, eine Anwendung, die Jupyter Notebooks in eine eigenständige Webanwendung in der Art umwandelt, dass nur der Programmcode aus dem Jupyter Notebook für die Benutzer sichtbar und anwendbar ist, der vom Jupyter Notebook Besitzer dafür freigegeben worden ist. Diese Freigabe wird über ein sicheres und anpassbares interaktives Dashboard gesteuert werden.

Ablauf der Veranstaltung

Die Veranstaltung findet jeweils Online via Zoom am Mittwoch von 14:00-17:10 statt und beginnt mit dem ersten Termin am 24.3.2021. Der Zoom-Link wird ihnen rechtzeitig bekanntgegeben.

Umfang

Die Veranstaltung ist für 5 CP (d.h. ca. 150 Arbeitsstunden) bei 4 SWS ausgelegt.

Gliederung

Die Veranstaltung ist in drei Teile gegliedert:

  • Teil 1 - Einführung in die Anwendungen von Project Jupyter und Übungen hierzu (ca. 2-3 Wochen)
  • Teil 2 - Brainstorming und Ideenfindung von Studienarbeitsthemen aus z.B. folgenden Bereichen (ca. 1-2 Wochen)
    • Nutzung von Jupyter Notebooks
      • eigene Ideen
      • Wikipedia / Wikimedia
      • öffentliche Datenbanken (OpenData, Deutscher Wetterdienst, etc.)
      • Artificial Intelligence / Künstliche Intelligenz
    • Test von Jupyter Notebooks mittels Voila
    • Weiterentwicklung diverser PlugIns (nbviewer, nbgrader, nbdev, etc.)
    • Entwicklung eigener PlugIns
    • etc.
  • Teil 3 - Umsetzung der Studienarbeitsthemen (ca. 10-12 Wochen)

Prüfung

Die Prüfung wird als Portfolioprüfung durchgeführt

Bachelorstudiengänge:

  1. die Übungen des 1. Teils (20%)
  2. die Beschreibung des Brainstormings und der Ideenfindung des 2. Teils (10%)
  3. die Studienarbeit des 3. Teils (70%)

Die Übungen des 1. Teils soll jeder Teilnehmer selbständig und eigenhändig durchführen, die Ideenfindung und die Studienarbeit können auch in einem Team zu zweit durchgeführt werden.

Masterstudiengänge:

  1. die Beschreibung des Brainstormings und der Ideenfindung des 2. Teils (20%)
  2. die Studienarbeit des 3. Teils (80%)

Die beiden Teile können auch in einem Team zu zweit durchgeführt werden.

Quellen