avatar

Zollkiesel statt Meilensteine
Digitaler Zettelkasten eines chronisch Neugierigen

Die vernachlässigten Daten in der Informatik-Bildung
19.03.2025
Anzahl Worte: 2713

Program or be Programmed

Vor 15 Jahren, Mitte März 2010, hielt Douglas Rushkoff auf der SXSW einen Talk, der später als Buch ausformuliert ein Beststeller wurde: “Program or Be Programmed (Ten Commands for a Digital Age)”. Dieser Talk ist meiner Meinung nach so wichtig, dass Du ihn dir unbedingt ansehen solltest, wenn Du keine Zeit hast, das daraus entstandene Buch zu lesen. Keine Angst, das Video ist nur etwas über 5 Minuten lang, ich warte inzwischen hier. 😉

Direkter Link: https://youtu.be/imV3pPIUy1k?si=IDiPTNjD-jXXrFh0

Die Kernaussage von Douglas Rushkoff ist nicht, wie der Titel vermuten lässt, dass wir alle programmieren lernen sollten. Sondern, dass digitale Technologien nicht nur Werkzeuge sind. Sie beeinflussen unsere Gesellschaft, Denkweisen und Handlungsweisen tiefgreifend. Was er betont, ist folgendes: wir müssen entweder selbst die digitalen Systeme gestalten ("program") oder wir werden von ihnen gesteuert werden ("programmed"). Die meisten nutzen digitale Medien konsumierend und ohne die dahinterliegenden Mechanismen und den Bias dieser Systeme zu verstehen. Dies führt dazu, dass sie von Algorithmen, Plattformen und Konzernen beeinflusst und gesteuert werden, oft ohne es zu bemerken. Technologie ist nie neutral. Sie bringt ihre eigenen Logiken und Werte mit sich, die unser Verhalten prägen. Um mündig mit der digitalen Infrastruktur und ihren Ausprägungen umgehen zu können, ist ein tieferes Verständnis ebendieser notwendig.

Die zentrale Botschaft des Talks ist: Wer nicht versteht, wie digitale Systeme funktionieren, wird von ihnen manipuliert oder fremdbestimmt.


Nein, wir müssen nicht alle programmieren lernen

Das Interessante an diesem Talk sind zwei Dinge. Erstens die Anzahl, wie oft das als Begründung benutzt wird, warum “alle programmieren lernen müssen” (was erstens falsch und zweitens auch nicht die Aussage des Talks ist 😎). Zweitens die Tatsache, dass Douglas Rushkoff schon damals das gesamte Bild beleuchtet, eben nicht nur “coding”, sondern die Auswirkungen von Programmen (also Systemen) und ihren Kontext.

Auch wenn wir nicht alle rausgehen und programmieren lernen - etwas, das jeder im High School-Alter mit einem anständigen Taschenbuch zu diesem Thema und ein paar Wochen Aufwand tun kann - müssen wir zumindest die wesentlichen Vorurteile der Technologien, mit denen wir von nun an leben und arbeiten werden, lernen und mit ihnen auseinandersetzen.
Douglas Rushkoff

Das bedeutet, obwohl wir sehr wahrscheinlich nicht alle unsere eigene Social-Media-Plattform, die geniale Spiele-App oder eine Suchmaschine erstellen werden, wir doch die Verantwortung haben, uns bewusst zu sein, wie solche Programme und Plattformen uns beeinflussen. Was Rushkoff also mit “being the programmer” meint, ist die Kompetenz, nicht nur zu “coden”, sondern zu erkennen, wie Programme funktionieren, welche Auswirkungen Computer und Software für unser Leben haben und die Implikation dessen zu verstehen. Das ist wesentlich mehr als nur "Hello World" auf den Bildschirm zu dengeln oder Aktionen in verketteten Listen zu pauken, in welcher Sprache auch immer.


Aha. Und was hat das jetzt mit dem Unterricht zu tun?

Es geht um das, was in Rushkoffs Talk nur in Nebensätzen und zwischen den Zeilen zu hören ist: Code ist wertlos ohen Daten und informatische Bildung kann es nicht geben, wenn der Fokus nur auf dem Programmieren liegt. Warum das so ist? Dazu müssen wir einen Blick auf die aktuelle Situation werfen. Was wir im Bildungsbereich (immer noch) haben, ist ein föderaler Flickenteppich für das Fach Informatik (das mit Programmieren entgegen landläufiger Meinung erst einmal relativ wenig zu tun hat, wenn der Begriff Informatik ernst genommen wird, aber die Diskussion um die Benennung von Schulfächern ist hier nicht relevant). Schülerinnen und Schüler lernen Sprachen, die ihren Höhepunkt längst überschritten haben (ok, es werden auch immer noch COBOL-Programmierer gesucht 😎), pauken das Malen von Objekthierarchien und bekommen oft genug langweilige „Schulbeispiele“ als Projekte. Je nach Region und Engagement der Lehrkräfte geht das Spektrum von Informatik zu Medienkunde zu Softwarebasteln bis Coden. Fast nie höre, lese oder erlebe ich im Gespräch mit jungen Leuten, die aus der Schule kommen und ins Berufsleben starten, dass “Data Literacy” und die Fähigkeit, Repräsentationen und Modelle von Daten der realen Welt zu erstellen und zu bewerten mehr als eine Randnotiz gewesen sind. Rushkoff sagt zwar “if you‘re not the programmer, you are the user, or worse, the used”. Das bedeutet aber nicht, dass nur der Code und das Programmieren wichtig wäre, sondern bezieht auch die Fähigkeit ein, Daten und Ihre Auswirkungen bewerten und einordnen zu können.


Das Ungesagte, Datenkompetenz

Programmieren als Teil der Softwareentwicklung ist nur die eine Seite der Münze. Die andere, ebenso wichtige und im Unterricht so oft vernachlässigte sind Daten, ihre Struktur, Bedeutung und die Datenflüsse in und zwischen Systemen. Im Talk (hier merkt man das Alter von 15 Jahren) kommt das nur bedingt zum Ausdruck. Kein Code ist Selbstzweck (ok, fast keiner, aber das ist eine andere Geschichte 😉). Software wird geschrieben, um eine Anforderung zu erfüllen, etwas zu verarbeiten. Und was ist dieses „etwas“? Genau, Daten. Und diese Daten der realen Welt können nicht einfach in einen Computer gekippt werden, sondern es müssen Repräsentationen dieser realen Welt als informatisches Modell erstellt werden. Code und Daten sind eine untrennbare Einheit auf dem Weg zu einer „Lösung“, auch wenn das gerne in Einführungen anders dargestellt wird. Dazu müssen Daten recherchiert, bewertet und aufbereitet werden. Ebenso gehört dazu ein zumindest grundlegendes Verständnis von Strukturierung und aber auch dem Umgang mit Datenwerkzeugen. Nein, verkettete Listen und ein paar binäre Bäume in der Sek II machen noch keinen Bildungswald.


Das bedeutet auch, dass die Fokussierung in der Bildung auf “Programmieren” im Sinne von Algorithmen und Sprachen zu einseitig ist. Mindestens ebenso wichtig ist ein Bereich, der mit “Datenmodellierung” bzw. “Data Literacy” beschrieben wird. Es bringt für die vielbeschworene spätere digitale Souveränität nichts, wenn Schülerinnen und Schüler nur weniger als eine Handvoll Datenstrukturen kennen, Daten-Diagramme malen ohne die Modellierung zu diskutieren oder Code (ab)schreiben. Noch dazu wenn Schülerinnen und Schüler in ihrer Zeit in der Schule genau eine Sprache (wenn’s hoch kommt, zwei) und ihr Vokabular an Datenstrukturen kennenlernen. Mit am besten hat das Mike Acton bereits 2014 ausgedrückt.

The purpose of all programs, and all parts of those programs, is to transform
data from one form to another. If you don’t understand the data, you don’t understand the problem.
Mike Acton

(“Data-Oriented Design and C++”, CppCon 2014 https://www.youtube.com/watch?v=rX0ItVEVjHc)


Wir müssen verstehen, wie die Daten in diesem Spiel mitwirken, gerade auch was die Auswirkungen auf Gesellschaft und Umwelt angeht. Es reicht dafür nicht, in der Schule gelernt zu haben, ein paar Zeilen Code in eine Entwicklungsumgebung klopfen zu können. Da beginnt mit der Struktur und Codierung von Daten und führt über verschiedene Zwischenstufen bis zum Verständnis, wie Daten auf uns und die Gesellschaft wirken, beispielsweise bei der Ausspielung von Anzeigen in Onlineauftritten.

Der aktuelle “KI”-Hype ist ebenfalls ein schönes Beispiel dafür. Die wenigsten Lehrkräfte gehen im Unterricht darauf ein, wieviel der Probleme einfach durch das Geschäftsmodell bedingt sind. Die sog. “generative KI” funktioniert nur mit riesigen Datenmengen. Das bedeutet u.a., dass die eigentliche Macht auf die Betreiber der Rechenzentren konzentriert wird, die in der Lage sind, diese Datenmengen und die Rechenleistung für das Training vorzuhalten.

Auch eigentlich auf den ersten Blick „harmlose“ Informationen wie Metadaten werden in der Masse und mit der richtigen Auswertung zu mächtigen Werkzeugen, die Daten aus Sensoren entscheiden über Erfolg und Misserfolg bei einem Autorennen (Huderte Gigabyte pro Auto pro Rennen) mindestens ebenso wie die Wahl der richtigen Reifen.

Aber “data literacy” meint nicht nur die Fähigkeit zum Recherchieren und Bewerten von Daten, sondern auch das, was (meist auf Datenbankdesign verkürzt) “Datenmodellierung” ist. Das Bauen von Repräsentationen aus Daten der realen Welt, die dann von einem Programm verarbeitet werden können und das Verstehen, wie Daten wirken und wie sich aus Daten auf andere Daten schließen lässt und aus diesen Informationen und schließlich Wissen wird.


Daten und Datenmodellierung

Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt.
Ludwig Wittgenstein

An dieser Stelle bin ich ein Anhänger der Sapir-Whorf-Hypothese (nein, Chomsky hatte nicht immer Recht 😎) in dem Sinne, dass verschiedene Sprachen durch die Wahl der Versprachlichungen verschiedene Aspekte der Realität betonen, Deine “Sprache” bzw. Dein “Datenvokabular” daher Dein Problemlösungsdenken prägt und damit die Möglichkeiten, die Dir zur Lösung eines Problems zur Verfügung stehen. Je mehr Sprachen (oder “Datendarstellungsformen”) Du lernst, umso leichter lassen sich Möglichkeiten zur Modellierung einer Problemstellung finden. Das geht im Kleinsten von einzelnen Bits oder Enumerationen zur Darstellung von Zustandskennung bis hin zum Design ganzer Applikationssysteme oder der Ablage von großen Datenmengen in der Industriesteuerung.

Diese Fähigkeiten sind für das “Programm” bzw. das Verständnis von Auswirkungen von Softwaresystemen mindestens ebenso wichtig wie die Fähigkeit des “Codens”. Dies bedeutet auch eine wesentlich Änderung in der Bildung, was das Verständnis von Computern, Programmen, Daten und ihren Auswirkungen angeht. Ein Informatik-Unterricht, der sich viel zu oft auf Programmieren und Algorithmen konzentriert (und dabei meist beim “Coden” bleibt und so 90% des Softwareentwicklungsprozesses einfach unter den Teppich kehrt, weil “zu wenig Zeit im Unterricht”, obwohl genau diese 90% im Beurf wichtiger sind als Syntax) und nicht eben soviel Wert auf die Rolle der Daten legt, ist zum Scheitern verurteilt, wenn es um die Bildung geht, die wir benötigen, um eben nicht “Benutzende” oder gar “Benutzte” zu bleiben.


Code und Daten als gesellschaftliche Verantwortung

Dies ist ein Aspekt, der ebenfalls kaum im Informatik-Unterricht vorkommt, aber ebenso wichtig ist wie Code und Daten. Jede Technologie hat eine Implikation und wenn ich ein System entwerfe oder es benutze, dann treffe ich damit auch Entscheidungen über Machtstrukturen und Möglichkeiten.

Technologie ist nie neutral.
Gary Stager / Douglas Rushkoff

Ein Beispiel aus dem Schulbereich, das für alle Lehrkräfte relevant ist, ist die Entscheidung zwischen LMS und LXP (ich habe darüber hier geschrieben: https://www.arminhanisch.de/2021/07/lms-lxp-ist-das-die-frage/).


Auch wenn nicht jeder von uns eine Datenbank für eine Bank entwerfen oder Software für die Steuererklärung schreiben wird: wie oben erwähnt, gehört zur Bildung für die teschnisch-digitale Zivilisation auch, die Grundzüge Systeme hinter dem Vorhang zumindest in Grundzügen zu verstehen. In seinem Talk bringt Rushkoff ein Beispiel, was ich wissen muss, wenn ich lese, dass ein Hersteller ein neues Betriebssystem herausbringt, das keine Dateien mehr benutzt, sondern alles in einer Datenbank ablegt. Wenn es nun keine Dateien mehr gibt, sondern ein datenbankbasiertes Dateisystem und alle Daten in dieser Datenbank liegen, wie einfach ist es dann, sich von diesem System zu lösen, wenn ich meine Dateien nicht mehr einfach auf eine andere Maschine kopieren kann? Bin ich kompetent genug, zu wissen, wie ich diese Daten aus einer Datenbank wieder pro Datensatz in eine Datei zerlegen kann? Weiß ich überhaupt, was eine Datenbank ist und wo die Vorteile gegenüber einem Haufen Dateien liegen, um zu verstehen, warum ein Softwareanbieter so etwas macht und wie wahrscheinlich es ist, dass der Rest der Industrie dem folgt?


Diese Einschätzung des eigenen Werkes kann sich dabei durchaus im Lauf der Zeit verändern und zeigt sich auch an Stellen, bei denen wir das vielleicht gar nicht vermuten. Kennst Du “infinite scrolling”, erfunden 2006 von Aza Raskin? Seine Bewertung dieser Funktionalität zur Zeit der Einführung und heute Mitte der 2020er Jahre zeigen, dass Programmieren eben nicht alles ist. Jeder Code ist auch eine Entscheidung in eine bestimmte Richtung von Machtermöglichung und Bias. Heute jedenfalls würde Aza Raskin nicht mehr handeln. Auch jedes Design eines Datenmodells hat ebenfalls einen Bias in eine bestimmte Richtung. Ein ganz kleines, einfaches Beispiel gefällig: wenn Sie Geburtsdaten in Ihrem Enterprise Social Network als ein Datum speichern, werden Sie nicht viele Kolleginnen und Kollegen finden, die in der Geburtstagsliste enthalten sind. Speichern Sie Geburtsjahr und Datum (also Tag und Monat) getrennt, ist das kein Problem, denn dann ist die Angabe des Geburtstages möglich, ohne das Alter zu verraten. Datenschutz durch Datenmodellierung.


Welche Aufgaben sollte einer Bildung in diesem Bereich dann erfüllen?

Das im Video genannte Verständnis, dass Zivilisation der Technik eigentlich immer eine Stufe hinterher hinkt, dass Code ohne Daten nutzlos ist, dass Technologie ohne Kontext und Gesellschaft immer böse endet. Das sind gute Punkte. Einfach zusammengefasst sollte ein Unterricht zumindest den folgenden Prinzipien folgen:

  • Lernende sollen die Fähigkeit erhalten, aus dem Netz Daten zu recherchieren und zu bewerten, aus diesen Daten Informationen zu erschließen und aus diesen Informationen Wissen zu gewinnen.
  • Die wichtigste Fähigkeit ist weniger, zu wissen, wie ein Problem gelöst wird als vielmehr zu wissen, wie ein Problem analysiert wird, das man nie zuvor gesehen hat.
  • Das Verständnis einer Problemdomäne und deren datentechnische Modellierung ist ebenso wichtig wie die Fähigkeit, den zu verarbeitenden Code zu erstellen.

Zusammengefasst hat das Prof. Aufenanger von der Universität Mainz in seinem Zitat über das Ziel von Bildung.

Bildung als die Befähigung in einer digital geprägten Welt souverän und sozial verantwortlich handeln zu können und in Würde zu leben.
Prof. Stefan Aufenanger


Da ist schon sehr viel drin enthalten, die Analyse einer Anforderung oder eines Problems, die Analyse und das Durchdenken des Problemraums, die Beschäftigung mit und das Modellieren von Daten sowie die Fähigkeit, Algorithmen zu entwerfen, die mit diesen Daten das gewünschte Ergebnis liefern. Dazu das Verständnis, dass jegliche Software immer in einem gesellschaftlichen Kontext eingebettet verwendet wird. Bereits vor etwa zehn Jahren hat die GI in der Dagstuhl-Erklärung alle diese Perspektiven im “Dagstuhl-Dreieck” abgebildet, das sich mittlerweile zum “Frankfurt-Dreieck” weiterentwickelt hat. Die Behandlung aller drei Seiten wird nciht nur im schulischen Bereich der Bildung immer noch zu wenig gelebt.


Information ist nicht Wissen

Wozu soll ich also Programmieren (besser “Programmieren und Daten modellieren”) lernen? Wenn Du bis hierhin durchgehalten hast, dann ist Dir klar, dass im oben verlinkten Video damit nicht das “Coden” gemeint ist. Dazu kommt der Aspekt, dass ich nur dann nicht “Benutzende” (oder schlimmer noch “Benutzte”) bin, wenn ich die Fähigkeit besitze, die Systeme, Daten und Algorithmen zumindest dem Konzept nach zu verstehen. Code ist, wie bereits weiter oben beschrieben, nicht Selbstzweck, sondern dient der Lösung eines Problems und damit der Verarbeitung und Transformation von Daten, also letztlich der Erlangung von Wissen.

Dies funktioniert nur mit dem Verständnis der Daten und selbst diese Daten sind nicht keine Informationen, sondern Information entsteht aus Daten. Und auch Informationen sind nicht Wissen. Sehr schön hat das Haridimos Tsoukas, Professor für Organization Studies an der University of Warwick beschrieben.

Information besteht aus objektiven, dekontextualisierten, zeitlosen, unpersönlichen und wertfreien Repräsentationen. Wissen hingegen ist kontextabhängig, persönlich, zeitbezogen und von Werten durchdrungen.
Haridimos Tsoukas


Daten erzählen Dir, was passiert. Eine Analyse dieser Daten zeigt Dir Muster und Systemverhalten und erzeugt Informationen. Wissen ist die Anwendung dieser Informationen in einem erfahrungsbedingten Kontext und die Einsicht in das “und jetzt?” als Ermöglichung von Handlungsoptionen. Schon aus diesem Grund wird eine Vermittlung ohne eine Gleichberechtigung dieser beiden Seiten der Medaille (Daten und Code) und eine Behandlung aller drei Perspektiven des Dagstuhl/Frankfurt-Dreiecks immer nur “Nutzende” hervorbringen und keine “Programmierer” im Sinne von Rushkoff.


Beispiele für die Praxis und den Unterricht

Die folgenden Links sind nur einige Beispiele, um im Unerrciht zu zeigen, warum das Arbeiten mit Daten ebenso wichtig ist wie die Fähigkeit, diese mit Code zu verarbeiten. Aus Daten werden so Informationen und dann Wissen. Code und Daten existieren nie im kontextfreien Raum. Spätestens, wenn Schülerinnen und Schüler auf der Strava Heatmap entdecken, dass sich die Grenze zu Nordkorea nur durch die Daten von Fitnesstrackern finden lässt, wird klar, warum Daten und die Arbeit mit ihnen essenzieller Bestandteil des Informatik-Unterichts sein müssen.


Und jetzt, Schule?

Alles dies in einen Unterricht zu integrieren, der zeitinvariante Kompetenzen vermittelt und die Konzepte hinter Softwaresystemen und Datenflüssen aufzeigt, das ist enorm aufwändig hinsichtlich Zeit und Ressourcen. Ja, das fordert auch von Lehrkräften deutlich mehr, als jetzt für einen „Informatik“-Unterricht (der aktuell von Rumtippen in einer meist auch noch proprietären und kommerziellen Tabellenkalkulation bis zum Vermitteln informatischer Konzepte reicht) nötig ist. Es hat aber auch niemand behauptet, dass andere Fächer wie Chemie sich nicht weiter entwickeln oder anspruchsvoller werden. Wenn wir als Gesellschaft der technisch-digitalen Zivilisation gewachsen bleiben wollen (oder dahin kommen, je nach Deinem Grad an Pessimismus als Leser:in), dann benötigen wir mehr in der Bildung. Mehr Zeit, mehr Geld, mehr Lehrkräfte, mehr Ressourcen für deren Ausbildung und mehr Möglichkeiten der Differenzierung für Lernende.

PS: Ganz lieben Dank an _DigitalWriter_@bildung.social, @fuersti77@bildung.social und @herr_mess@bildung.social für das Durchlesen und das wertvolle Feedback.


Lizenz für diesen Post CC-BY-SA 4.0


Alle Blogposts auflisten



Diesen Artikel kommentieren

  ℹ️

Sie können die Kommentarfunktion ohne die Speicherung personenbezogener Daten nutzen. Schreiben Sie Ihren Kommentar und klicken Sie auf "Abschicken". Der Versand und die Übertragung Ihres Kommentars ist zur Erfüllung der von Ihnen mit dem Klick auf "Abschicken" ersichtlichen Absicht technisch notwendig und bedarf keiner weiteren Einwilligung. Es besteht kein Anspruch auf die Veröffentlichung des Kommentars. Jeder hier eingegebene Kommentar wird zuerst geprüft.