Epistemisches Programmieren

Aus Unterrichtsmaterial
Version vom 8. Februar 2022, 11:35 Uhr von DominikFreund (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Bestätigte Version (Unterschied) | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

Das Ziel ist, mit Programmieren Ideen, Erkenntnisse oder Evidenzen für Ideen und Erkenntnisse zu gewinnen, um einen differenzierteren Blick auf die Welt erhalten und sich selbst ausdrücken zu können. Dieser Ansatz wird, unter anderem auch, als digitale Kompetenz aufgefasst.


Bedeutung

Ziele

Ein Ziel des Epistemischen Programmierens ist, Programmieren als Werkzeug zu betrachten, mit dem man Erkenntnisse im Alltagsleben gewinnen kann. Durch die fortschreitende Digitalisierung werden digitale Kompetenzen und Fähigkeiten daher umso hilfreicher, um am Leben teilzunehmen.
Des Weiteren kann Programmieren dazu beitragen seine eigene Welt zu erkunden. Diese Sichtweise kann dazu beitragen, Vorurteile gegenüber Programmierer:innen aufzulösen. Die Erkundung und Förderung des eigenen Umfeldes, welche als externe Erkenntnisse bezeichnet werden, sowie die Kompetenzförderung mit digitalen Artefakten, auch interne Erkenntnisse genannt, sind positive Ereignisse des epistemischen Programmierens. Daher ist Epistemisches Programmieren als Prozess aufzufassen, bestehend aus einem Wechselspiel zwischen Programmierung und Wissensgewinnung.

Persistenz

Anstatt die Erstellung eines digitalen Produktes bzw. Artefaktes beim Programmieren in den Blick zu nehmen, ist beim Epistemischen Programmieren der Fokus ein anderer. Zum einen die Erkenntnis durch das Programmieren, zum anderen den Programmierprozess persistent zu machen. Den Prozess persistent zu machen hat den Vorteil, gewisse Abläufe der Programmierung zu vertiefen und gegebenenfalls reproduzieren zu können, aber auch Aspekte der Programmierung vermitteln und verständlich darstellen zu können, sodass andere diese Art von Projekten ebenfalls selbstständig durchführen können.

Reproduzierbare Datenanalyse

Ziele

Das Ziel der reproduzierbaren Datenanalyse ist, diese so zu dokumentieren, sodass andere mit eigenen gewonnen Daten, diese auszuführen können, um somit vergleichbare Ergebnisse zu erhalten. Um diesen Prozess effizienter zu gestalten, ist es ebenfalls sinnvoll, Ergebnisse mit geeigneten Kommentaren zu verbinden und dadurch die Datenanalyse für alle nachvollziehbar zu machen.

Computational Essays

Computational Essays bieten sich als Möglichkeit an, eine reproduzierbare Datenanalyse umzusetzen. Die Idee dahinter ist, ein „digitales Essay“ zu erstellen, welches beispielsweise Programme zur Verdeutlichung der Idee einer These enthält. Diese Essays erläutern den Erkenntnisprozess zwischen dem Autor und seines/ihres Programms. Somit kann der Betrachter direkt mit dem Programm interagieren und die Ergebnisse, sowie den Prozess erkunden.

Beispiel (Computational Essays)

Zeitreihendarstellung einer Feinstaubanalyse



















Ten Simple Rules for Reproducible Computational Research

Der Artikel „Ten Simple Rules for Reproducible Computational Research“, geschrieben von Geir Kjetil Sandve, Anton Nekrutenko, James Taylor und Eivind Hovig, handelt davon, wie man mit ausgewerteten Daten und den dafür verwendeten Programmen umgehen sollte, um sie für weitere Zwecke wiederverwenden zu können. Hierbei beziehen sich die Verfasser auf zehn wesentliche Regeln:

Regel 1: Bei jedem Ergebnis soll festgehalten werden, wie es erzeugt wurde.

Regel 2: Man sollte manuelle Datenmanipulation vermeiden.

Regel 3: Die unterschiedlichen Versionen der verwendeten Programme sollten immer protokolliert werden.

Regel 4: Alte Programmcodes sollten immer ordnungsgemäß archiviert werden.

Regel 5: Alle Zwischenschritte/-resultate sollten gesichert werden - wenn möglich in standardisierten Formaten.

Regel 6: Zu jeder Analyse, die eine Zufallswahrscheinlichkeit beinhaltet, sollten die zugehörigen „Random-Seeds“ mit angegeben werden.

Regel 7: Die Rohdaten, aus denen die Plots entstanden sind, sollten immer auch abgespeichert werden.

Regel 8: Man sollte die Möglichkeit geben, Analysen immer genauer zu inspizieren, nicht nur Rohdaten, sondern auch "Zwischenprodukte", wie z.B. bereinigte oder gefilterte Daten

Regel 9: Ausgewertete Daten und ihre dazugehörigen Interpretationen sollten verbunden werden.

Regel 10: Code, Programme und Ergebnisse sollten öffentlich zugänglich sein.