PosterPDF Available

Programmieren mit Python - Einbindung in Bachelor- und Mastermodule

Authors:

Abstract

In der Geophysik ist der Einsatz von Computerprogrammen für Inversion und Modellierung nicht mehr wegzudenken. So bedarf es sowohl in der Forschung als auch in der Praxis wissenschaftlichen Nachwuchses mit Kenntnis zumindest einer höheren Programmiersprache. Python, als freie und plattformunabhängige Programmiersprache, gewinnt in Forschung und Lehre zunehmend an Bedeutung. Absolventen sollen nicht nur in der Lage sein, eine Software zu bedienen; sie sollen Programmcodes verstehen, modifizieren und weiterentwickeln können. Dieser Erfahrungsbericht gibt einen Einblick in das didaktische Konzept des Fachbereiches Geophysik der Universität Bonn zur Einbindung der Python-Programmierung in bestehende und neue Bachelor- und Mastermodule. Weiterhin werden Nutzungsmöglichkeiten einer zentralisierten und webbasierten Recheninfrastruktur aufgezeigt. Lässt sich „Programmieren“ nicht als eigenständiges Modul im Curriculum abbilden, werden die Studierenden mit Beginn ihrer Abschlussarbeit im Schwerpunkt Geophysik - viel zu spät also - mit der Herausforderung konfrontiert, sich das Programmieren anzueignen. Wir setzen bei der Vermittlung des Programmierens mit Python auf Effektivität durch Kontinuität. Im Bachelorstudiengang Geowissenschaften lag die Herausforderung der Einbindung ab dem dritten Fachsemester darin, bestehende Module durch die Python-Komponente zu erweitern ohne fachliche Lehrinhalte zu kürzen. Mehr Freiräume im Masterstudiengang Physik der Erde und Atmosphäre ermöglichen das Angebot eines zusätzlichen Moduls, das pythonbasiert eine Brücke schlägt zwischen bestehenden Modulen zu theoretischer Modellierung und hydrogeophysikalischen Prozessen. Realisiert werden die Python-Sessions mithilfe von Jupyter Notebooks: Interaktive Dokumente, die Text, Formeln, Grafiken, Eingabecode und zugehörige Ausgaben anzeigen können. Die Notebooks können somit Aufgabenstellungen, Theorie, numerische Lösungen und Visualisierung der Ergebnisse bereithalten. Eine zentralisierte Recheninfrastruktur mit persönlichen Zugängen für die Studierenden erlaubt webbasierten Zugriff über Computer, Tablets und Smartphones. Auf diese Weise steht den Studierenden ohne Installationsaufwand stets eine vollständige Programmierumgebung mit allen erforderlichen Modulen und Paketen für die geophysikalische Anwendung zur Verfügung - eine willkommene und motivierende Abwechslung im Studienalltag.
Programmieren mit Python
Einbindung in Bachelor- und Mastermodule
Anna Zoporowski, Florian Wagner, Andreas Kemna
zoporowski@geo.uni-bonn.de
Einleitung
In der Geophysik ist der Einsatz von Compu-
terprogrammen für Inversion und Modellierung
heutzutage nicht mehr wegzudenken. So bedarf
es sowohl in Forschung als auch in Praxis wis-
senschaftlichen Nachwuchses mit Kenntnis zu-
mindest einer höheren Programmiersprache, wie
Fortran, C++ oder Python. Absolventen, egal
ob Bachelor oder Master, sollen nicht nur in der
Lage sein, eine Software zu bedienen; sie sol-
len Programmcodes verstehen, modifizieren und
weiterentwickeln können.
Dieser Erfahrungsbericht soll sowohl einen Ein-
blick in das didaktische Konzept des Fachberei-
ches Geophysik der Universität Bonn zur Ein-
bindung der Python-Programmierung in beste-
hende und neue Bachelor- und Mastermodule
geben. Weiterhin werden Nutzungsmöglichkei-
ten einer zentralisierten und webbasierten Re-
cheninfrasktruktur aufgezeigt.
Problematik
In quantitativ ausgerichteten geophysikalischen
Studiengängen wird „Programmieren“ als ei-
genständiges Modul im Curriculum abgebildet.
Lässt dies der Lehrplan jedoch nicht zu, werden
die Studierenden mit Beginn ihrer Abschlussar-
beit im Schwerpunkt Geophysik – viel zu spät
also – mit der Herausforderung konfrontiert, sich
nebenbei das Programmieren anzueignen.
Python interaktiv, zentralisiert und webbasiert mittels JupyterHub
Python ist eine Programmiersprache mit effizienten abstrakten
Datenstrukturen und einem einfachen, aber effektiven Ansatz zur
objektorientierten Programmierung. Durch die elegante Syntax
und die dynamische Typisierung ist Python als interpretierte Spra-
che sowohl für Skripte als auch für schnelle Anwendungsentwick-
lung hervorragend geeignet.
Anstelle von reinen Python-Scripts, führen wir die Studierenden
an Python Notebooks heran. Dies sind interaktive Dokumente, die
Text, mathematische Formeln (L
A
T
EX), Grafiken, Videos, Eingabe-
code und zugehörige Interpreter-Ausgaben anzeigen können. Die
Notebooks können somit Aufgaben, Theorie, numerische Lösungen
und Visualisierungen enthalten. Zugriff erfolgt über einen Jupyter-
Hub, einem Client-Server-Framework, welches webbasiert jedem
Studierenden ohne Installationsaufwand eine einheitliche Pytho-
numgebung zur Verfügung stellt. Quelle: www.pygimli.org
Python in der Lehre
Python gewinnt in Forschung und Lehre zu-
nehmend an Bedeutung. An der Universität
Bonn werden Python-Übungen, -Workshops und
-Seminare mithilfe von Jupyter Notebooks rea-
lisiert, die den Studierenden einen webbasier-
ten Zugriff über Computer, Tablets und Smart-
phones ermöglichen. Auf diese Weise steht den
Studierenden stets eine einheitliche Program-
mierumgebung mit allen erforderlichen Modu-
len und Paketen für die geophysikalische Anwen-
dung zur Verfügung – eine willkommene, moti-
vierende Abwechslung im Studienalltag.
Danksagung
Die Dozenten zur Unterstützung der Lehre am
Fachbereich Geophysik der Universität Bonn
werden durch Hochschulpakt-II-Mittel des Lan-
des NRW und des Bundes finanziert.
Python im Bachelorstudium Geowissenschaften
Im Bachelorstudiengang Geowissenschaften lag die Herausforderung der Einbindung ab dem dritten
Fachsemester darin, bestehende Module durch die Python-Komponente zu erweitern ohne fachliche
Lehrinhalte zu kürzen.
3. Semester
Modul
Mathematische Methoden in
der Geophysik
Einführung in Python
Grundlagen des Moduls
NumPy
Import von Modulen und
Dateien
Anwendung linearer
Algebra in der Geophysik
Analysis und Vektoranalysis
mit dem Modul SymPy
Darstellung von Funktionen
mit der MatPlotLib
Numerische Lösung von
Differentialgleichungen
5. Semester
Modul
Angewandte Geophysik
Python in der geophysikalischen
Anwendung
Einlesen geophysikalischer
Datenformate
Erstellung von Gittern für
2D- und 3D-Probleme
Inversion geoelektrischer
Daten
Modellierung von
Magnetikprofilen
Prozessierung von
Seismikdaten
Modellierungstools von
pyGIMLi
6. Semester
Module
Projektarbeit
Bachelorarbeit
Datenaufnahme und Auswertung
mit Python
Projektarbeit
Aufnahme von
geophysikalischen Daten im
Gelände (Seismik,
Geoelektrik, Magnetik)
Bachelorarbeit
Auswertung eigener Daten
mit geeigneten
Python-Modulen
Interpretation eigener
Ergebnisse durch Vergleich
mit der Geologie oder der
Modellierung
Der Fachbereich Geophysik setzt bei der Vermittlung des Programmierens mit Python auf Effektivität
durch Kontinuität.
Python im Masterschwerpunkt Geophysik
Mehr Freiräume im Masterstudiengang Physik der Erde und Atmosphäre ermöglichen das Angebot
eines zusätzlichen Moduls, welches pythonbasiert eine Brücke schlägt zwischen bestehenden Modulen
zu prognostischer Modellierung und hydrogeophysikalischen Prozessen.
Mastermodul Hydrogeophysikalische Prozesssimulation
0 10 20 30 40 50
x (m)
−35
−30
−25
−20
−15
−10
−5
0
y (m)
0 0.020 0.040 0.060 0.080
Darcy velocity (mm/s)
0 10 20 30 40 50
x (m)
−35
−30
−25
−20
−15
−10
−5
0
y (m)
-35 -15 0 15 35
SP (mV)
Fließgeschwindigkeit in einem Aquifer mit kreisförmigen hydraulischen
Barrieren (links) und resultierendes Strömungspotential (rechts).
Wissenschaftliches Rechnen
mit Python, Anwendungs-
aspekte der Finite-Elemente-
Modellierung
Hydrogeologische Simulation:
Permeabilität, Darcy-Fluss,
Massentransport, Modellie-
rung eines Salztracerversuchs
Geophysikalische Simulation:
Zusammenhang zwischen
Fließprozessen und SP-Signal
(elektrokinetische Kopplung)
und zwischen Konzentration
und spezifischem Widerstand
ResearchGate has not been able to resolve any citations for this publication.
ResearchGate has not been able to resolve any references for this publication.