Interaktive Notizbücher im Programmierpraktikum „Python“

unter Mitarbeit von JProf. Dr. Lena Oden

Technische Voraussetzungen

Jupyter-Notebooks, Zugang zu Höchstleistungsrechnern, Chatsoftware: Rocket-Chat oder Mattermost

Vorbereitung

ca. 3 Monate

Anzahl Studierende

max. 20 (Begrenzung aufgrund des Korrekturaufwandes notwendig)

Beratung

Digitalfellowsprogramm des Stifterverbandes,Peerberatung zu Höchstleistungsrechnern

Kontakt

Prof. Dr. Lena Oden, Juniorprofessorin für Technische Informatik

Beschreibung

Kenntnisse über Programmiersprachen und ihre Anwendung auf vorgegebene Probleme gehören zu den zentralen Kompetenzen, die in einem Bachelor- oder Masterstudium der Informatik erworben werden sollen. Sie werden in der Regel nicht in Vorlesungen, sondern im Kontext sogenannter Programmierpraktika erworben, bei denen die Studierenden selber entsprechend konkreter Vorgaben und Aufgabenstellungen Programmecode entwickeln.

Im Rahmen eines Digifellowships des Stifterverbandes für die deutsche Wissenschaft wird an der Fakultät Mathematik und Informatik aktuell zusätzlich noch ein besonderer Fokus auf Paralleles Programmieren und die dafür erforderliche Nutzung von Höchstleistungsrechnern gelegt. Diese Rechner können nicht an jeder Hochschule zur Verfügung gestellt werden, da ihre Anschaffung und Unterhaltung mit hohen Kosten verbunden sind. Üblich es daher, sich über spezielle Oberflächen Zugang zu bestehenden Höchstleistungsrechnern zu verschaffen und deren Kapazitäten dann mitzunutzen. In dem hier vorgestellten Ansatz werden bspw. Höchstleistungsrechner der RWTH Aachen durch das Lehrgebiet und die Studierenden mitgenutzt (selbstverständlich auf Basis vorheriger Absprachen und einer abgestimmten Kooperation).

Der bisherige Zugang zu Höchstleistungsrechnern war terminalbasiert und stellte damit eine Oberfläche dar, die vielen Studierenden nicht mehr vertraut ist. Sie fühlten sich daher im Praktikum oft überfordert, da sie sich nicht nur mit dieser neuen Oberfläche, sondern auch den unbekannten Fachinhalten auseinandersetzen mussten.

Modeldarstellung des Einsatzes von Jupyter-Notebooks und Höchstleistungsrechnern im Programmierpraktikum
Modeldarstellung des Einsatzes von Jupyter-Notebooks und Höchstleistungsrechnern im Programmierpraktikum (Screenshot: FernUniversität)

Die Lösung für dieses Problem besteht im Einsatz des Tools Jupyter-Notebooks. Hierbei handelt es sich um interaktive webbasierte Notizbücher, die sowohl Inhalte vermitteln, Programmiercode beispielhaft und ausführbar darstellen als auch die Integration von Bildern und Animationen ermöglichen. Die Studierenden können mit ihrem gewohnten Webbrowser arbeiten, der Gewöhnungsprozess entfällt. Gleichzeitig bieten die Notebooks anschaulichere Möglichkeiten zur Vermittlung der Inhalte und das direkte Aufzeigen von Transfermöglichkeiten des erworbenen Wissens.

Für eigene Programmierleistungen erstellen die Studierenden ebenfalls ein Jupyter-Notebook, in dem sie ihren eigenen Programmcode schreiben. Dieses reichen Sie dann zur Korrektur ein. Der Programmcode kann in ein anderes Format, bspw. pdf, exportiert werden. Hierdurch können Korrekturen direkt als Kommentare an den Code geschrieben und den Studierenden zurückgespiegelt werden.

Die Studierenden sollen auch zu stärker kollaborativem Arbeiten angehalten werden und sich bspw. bei Verständnisfragen und -problemen gegenseitig unterstützen. Hierzu wird die Möglichkeit eines Chats angeboten, in dem sich die Lernenden untereinander oder mit der Lehrenden austauschen können. Ein Vorteil ist auch, dass Fragen, die für alle interessant sind, von der Lehrenden nur einmal beantwortet werden müssen und für alle sichtbar sind.

Für die Zukunft ist angedacht zusätzlich „Performance Wettbewerb“ als weiteren Motivationsanreiz für die Studierenden zu integrieren. Eine wichtige Zielstellung beim Parallelen Programmieren ist, dass das Programm möglichst schnell rechnen soll. Die Studierenden sollen also nicht nur richtig programmieren, sondern ihr Programm auch so anlegen, dass es diesem zusätzlichen Anspruch entspricht. Für die Gewinner*innen des Wettbewerbs sollen Preise ausgelobt werden, bspw. ein Fachbuch.

Weitere Informationen

Voraussetzungen

  • Kenntnisse im Programmieren (Grundlagensprachen)
  • gängiger Webbrowser

Tools

  • Jupyter-Notebooks
  • Zugang zu Höchstleistungsrechnern
  • Chatsoftware Rocket-Chat oder Matermost

Hinweise

  • Der Ansatz ist auch fachübergreifend übertragbar, bspw. zum Erlernen der Statistiksoftware R.
  • Geplant ist automatische Korrekturen zu integrieren.
  • Die Notebooks sollen als Open Educational Ressources (OER) zur Verfügung gestellt werden.
  • Kontakt: JProf. Dr. Lena Oden, Lehrgebiet Technische Informatik, FernUniversität in Hagen

Übersicht

Ziele

  • Studierende an die Nutzung von Höchstleistungsrechnern heranführen
  • leichteren Zugang zum Programmieren für die Studierenden schaffen
  • Programmieren anschaulicher und sichtbarer machen

Kontext

Modul „Technische Informatik“ und Fachpraktikum im Wahlpflichtbereich
B.Sc. und M.Sc. Informatik

Probleme

  • Studierenden finden schwer Zugang zum Thema des Moduls bzw. Praktikums
  • technische Hürden werden von den Studierenden als hoch empfunden
  • Nutzung einer ungewohnten Oberfläche in Kopplung mit neuen Fachinhalten überforderte viele Studierende kognitiv

Lösung

Die Nutzung der Jupyter-Notebooks ermöglicht die Kombination von Lehrtext, Programmiercode und Bildern sowie Animationen. Der Gewöhnungseffekt an die unbekannte Oberfläche entfällt. Die Aufgaben können anschaulich gestaltet werden und sind direkt auf den Transfer des erworbenen Wissens ausgerichtet

Vorteile

  • anschauliche Darstellung von Inhalten und Aufgaben
  • Erarbeitung der Inhalte im eigenen Lerntempo
  • relativ barrierefrei
  • Tool ist betriebssystemunabhängig

Nachteile

  • Umstellungsschwierigkeiten auf klassisches Programmieren möglich, da hier Zellen nicht wie bei den Notebooks verschoben werden können, sondern der Code von oben nach unten erstellt werden muss.
  • Es müssen für die Darstellung und den Transfer geeignete Beispiele gefunden werden.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert