Goethe, Schiller ... Python? Geht es nach dem Wissenschaftsjournalisten Ranga Yogeshwar, gehört die Programmiersprache ebenso zur Kultur wie die beiden Schriftsteller. Doch während die ersten beiden in keinem deutschen Schulunterricht fehlen dürfen, sieht es mit Programmiersprachen anders aus. Dabei glaubt inzwischen auch Bundeskanzlerin Angela Merkel, "dass die Fähigkeit zum Programmieren eine der Basisfähigkeiten von jungen Menschen wird, neben Lesen, Schreiben, Rechnen". Die Bildungsministerin Anja Karliczek fordert: Jedes Kind soll programmieren lernen.
Aber was heißt das eigentlich, programmieren lernen? Lesen und Schreiben brauchen wir im Alltag, die meisten Menschen kommen durchs Leben, ohne auch nur eine Zeile Programmcode zu sehen. Nun aber fördert die Bundesregierung mit dem Digitalpakt die Digitalisierung an Schulen mit fünf Milliarden Euro und es stellt sich die Frage, was damit eigentlich finanziert werden soll. Geht es darum, mittelfristig die 80.000 unbesetzten Stellen im IT-Bereich zu besetzen, von denen der Branchenverband Bitkom vor einigen Monaten berichtete? Oder geht es nicht um die größere Frage, was eine digitale Gesellschaft eigentlich leisten muss?
"Ich glaube nicht, dass alle programmieren können müssen", sagt die Soziologin Natalie Sontopski, die am Komplexlabor Digitale Kultur der Hochschule Merseburg forscht. Das ist überraschend, da sie die Initiative Code Girls mitbegründet hat, die Workshops zum Thema Programmieren für Mädchen und Frauen anbietet. Doch ihr Satz geht weiter: "Worauf es uns ankommt, ist die sogenannte Code Literacy, also dass Menschen etwas davon verstehen, wie Programmierung funktioniert", sagt sie. "Das zu wissen, hilft dabei zu verstehen, wie unsere Welt funktioniert."
Softwareverständnis als Allgemeinbildungbesteht aus Verkettungen von Wenn-dann-Bedingungen, aus Funktionen und Variablen, die aufeinanderfolgen oder sich in sogenannten Schleifen sequenziell wiederholen. Eine Abfolge solcher Bedingungen ist ein Algorithmus. Ein einfaches Beispiel:
Wenn die Temperatur niedriger ist als ein Zielwert, schalte die Heizung ein Überprüfe die Temperatur Wenn die Temperatur höher ist als ein Zielwert, schalte die Heizung aus
Je komplexer ein Programm, desto komplexer die Bedingungen. Muss man selbst programmieren können, um das zu verstehen? "Es kommt darauf an, was man unter Programmieren können versteht", sagt Viktoriya Lebedynska, die am Fraunhofer Institut für Intelligente Analyse- und Informationssysteme (IAIS) unter anderem an der Initiative Roberta beteiligt ist, in der es darum geht, Kindern programmieren beizubringen. "Wenn ich sage, Menschen sollen programmieren können, meine ich, dass sie wissen, wie ein Programm aufgebaut ist, wie es funktioniert, und dass sie zumindest erste einfache Schritte in dem Bereich gemacht haben. Nicht zwingend, dass sie selbst komplexe Programme schreiben können."
Die Idee von Initiativen wie Roberta, Coding Girls oder Start Coding ist es, jungen Menschen durch erste eigene Programmiererfahrungen Technologie näherzubringen. Meist arbeiten sie mit spielerischen Ansätzen, etwa mit kleinen Robotern, die so programmiert werden, dass sie selbständig einen Parcours abfahren. Minicomputer wie der Raspberry Pi, Arduino oder Calliope lassen lassen sich mit eigens zu Lernzwecken entwickelten Programmiersprachen wie Scratch oder Nepo ansteuern. Diese haben grafische Oberflächen, das heißt, die Befehle müssen nicht getippt werden, sondern werden als farbige Blöcke per Mausklick an die richtige Stelle gezogen.
Es geht um Berührungspunkte mit der Technik, um ein grundsätzliches Verständnis der Technologie, die unser Leben durchdringt. Wie funktioniert das Internet, wie ist ein Computer aufgebaut, was sind Daten? "Man sollte zum Beispiel wissen, was eine IP-Adresse ist und einen Begriff davon haben, wie Hardware und Software zusammen funktionieren und wie ein Computer über Sensoren mit der Welt interagiert", sagt Lebedynska. "Menschen sollen verstehen, nicht nur anwenden."