Kids & Codes

Wenn es die Kanzlerin sagt, muss es ja stimmen: "Ich glaube, dass die Fähigkeit zum Programmieren eine der Basisfähigkeiten von jungen Menschen wird, neben Lesen, Schreiben, Rechnen." Das sagte Angela Merkel bei der Eröffnung der Computermesse Cebit in diesem Jahr, und auch der ehemalige US-Präsident Barack Obama (sein Nachfolger hat sich noch nicht zum Thema geäußert) forderte seine jungen Bürger auf, das Coden zu lernen: "Kauft nicht einfach nur ein neues Videospiel – macht eins. Ladet nicht nur die neueste App runter – helft dabei, sie zu entwickeln. Spielt nicht nur auf eurem Telefon – programmiert es."

Aber muss in der modernen Welt wirklich jedes Kind in der Lage sein, eine App für sein Handy zu programmieren? Muss jeder eine Programmiersprache beherrschen? Python statt Französisch, Java statt Latein? Und wann fängt man damit an – im Kindergartenalter oder erst mit 14? In der Schule oder in privaten Kursen?

Rufe nach neuen Unterrichtsinhalten oder gar neuen Fächern gibt es häufig, und sie entstehen oft aus dem Gefühl eines Defizits heraus: Junge Menschen können nicht mit Geld umgehen, also brauchen wir ein Fach wie "Persönliche Finanzen". Die Kinder fallen auf Fake-News herein oder verbringen zu viel Zeit vor der Glotze, also muss das Fach "Medienkunde" her. Sie bewegen sich zu wenig und werden immer dicker? Dann muss "Gesundheit" auf den Lehrplan. Auch die Forderung nach den Programmierkursen wird vor allem mit Ängsten begründet: Es fehlen 43.000 Programmierer, Deutschland muss international wettbewerbsfähig bleiben, darf nicht den Anschluss an die technische Entwicklung verlieren. Also sollte die Ausbildung der jungen Computerfachleute am besten schon im Kindergarten beginnen.

In dieser Angstdiskussion ist das Programmieren – vor allem für diejenigen, die es selbst nicht beherrschen – eine Art Wunderwaffe, die alle Zukunftsprobleme aus der Welt schaffen soll. "Wenn man keinen Hammer hat, sehen alle unlösbaren Probleme aus wie Nägel", schrieb der Medienkritiker Sascha Lobo im Frühjahr auf Spiegel Online. "Die Kenntnis einer Programmiersprache steht als Pars pro Toto für die Hoffnung, unsere Kinder mögen die gewaltige Gesellschaftsaufgabe Digitalisierung doch besser meistern als wir."

Die Diskussion erinnert an die neunziger Jahre, als der Computer für die meisten Erwachsenen ein neues und oft furchterregendes Gerät war. Die Kinder sollten es einmal besser haben, also wurde viel in die Ausstattung der Schulen mit Rechnern investiert, teilweise bekam jedes einzelne Kind seinen eigenen Laptop. Aber die Hardware allein ist es nicht: Im Jahr 2013 veröffentlichte das amerikanische National Bureau of Economic Research die Ergebnisse einer Studie, bei der man einer zufälligen Stichprobe von Sechst- bis Zehntklässlern einen Heimcomputer zur Verfügung gestellt hatte. Nach einem Jahr hatten sich deren Schulnoten und Testergebnisse gegenüber der Kontrollgruppe nicht verbessert, dafür hatten sie erheblich mehr Zeit mit Computerspielen verbracht.

Auch die Beherrschung einer Programmiersprache macht nicht automatisch fit für die Zukunft, und umgekehrt kann man die neue Welt durchaus verstehen, ohne wirklich coden zu können. Um es plakativ auszudrücken: Man muss nicht unbedingt die Sprache der Computer verstehen, sondern ihr Denken.

Auf Englisch nennt man diese Fähigkeit computational thinking. Die Informatikerin Jeannette M. Wing von der Carnegie Mellon University hat den Begriff geprägt. "Computational thinking beinhaltet Problemlösen, den Entwurf von Systemen und das Verständnis für menschliches Verhalten", schreibt Wing. Also viel mehr als die Produktion von Hunderten von Zeilen mit fehlerfreiem Code. Es geht einerseits darum, ein Problem so umzuformulieren, dass ein Computer es bearbeiten kann. Aber auch darum, zu verstehen, wieso ein Computer zu bestimmten Resultaten kommt.

Das Kochrezept für den Computer

Dieses Computerdenken kann man lernen, ohne den konkreten Programmcode zu kennen, sagt auch Ulrich Kortenkamp, der an der Universität Potsdam Didaktik der Informatik lehrt. Er ergänzt aber, dass es viel einfacher und schöner sei, wenn man auch programmieren darf. "Das ist die naheliegende praktische Umsetzung, die man sich nicht nehmen lassen sollte."

Schon der Begriff "Programmiersprache" ist ein wenig irreführend. Java oder C sind ungefähr in dem Maße Sprachen wie gebrüllte Befehle auf einem Kasernenhof: Die Kommunikation geht nur in eine Richtung. Der Mensch teilt dem Computer mit, was er zu tun hat. Es fehlt die Mehrdeutigkeit, die Interpretierbarkeit, die die menschliche Sprache ausmacht. Ein Komma falsch gesetzt, und schon gibt der Computer eine Fehlermeldung aus – was eingefleischte Computerfreaks dazu inspiriert, besonders elegant geschriebenen Codes als Poesie zu betrachten.

Programmieren ist kein Dialog, und man lernt eine Programmiersprache mit einer anderen Absicht als eine Fremdsprache. Wer sich in Französisch oder Chinesisch übt, will sich mit Menschen in anderen Kulturen austauschen. Wer Java oder C++ lernt, will dem Computer seinen Willen aufzwingen.

Dazu muss man vor allem verstehen, was ein Algorithmus ist. So wie man einen Gedanken in vielen verschiedenen Sprachen ausdrücken kann, ist ein Algorithmus eine Programmstruktur, die sich in unterschiedlichen Programmiersprachen mehr oder weniger umständlich formulieren lässt. Ein Algorithmus ist eine Art Kochrezept für den Computer: Das zu lösende Problem wird in kleine, eindeutig definierte Schritte zerlegt, die der Rechner nacheinander abarbeitet. Dabei sind Verzweigungen erlaubt ("Wenn an einem hineingestochenen Holzstäbchen noch Teig kleben bleibt, den Kuchen weitere fünf Minuten backen, sonst aus dem Ofen holen") oder auch Schleifen ("Mache dasselbe mit dem zweiten Hühnerschenkel").

Um einen Algorithmus zu formulieren, muss man keine Programmiersprache beherrschen, auch wenn das nützlich sein kann. Es geht genauso mit einem Flussdiagramm, das man auf ein Blatt Papier zeichnet. Oder mit einem Kartenspiel. Inzwischen gibt es mehrere Spiele, oft durch Crowdfunding-Kampagnen finanziert, mit denen schon Fünfjährige einfache Algorithmen verstehen können. Auf einem Spielfeld schieben sie Figuren hin und her, deren Bewegungen sie mit Spielkarten steuern. Ein Stapel Karten ist ein Programm. Oder sie programmieren Spielzeugroboter mithilfe von bunten Befehlsblöcken, die auf dem Smartphone- oder Tablet-Bildschirm aneinandergereiht werden, ohne dass man die komplizierte Syntax einer "richtigen" Programmiersprache lernen muss (siehe dazu die LEO-Kinderseite).

Solche spielerischen Ansätze können die Angstschwelle nicht nur für Kinder senken, sondern auch für Eltern. Die würden im Erwachsenenalter vielleicht auch nicht mehr mit dem Studium einer neuen Fremdsprache beginnen, aber sie können ihr Kind spielerisch begleiten, wenn es die ersten Schritte in die unbekannte Programmierwelt unternimmt. Und vielleicht verstehen sie dann selbst die Algorithmen besser, die unseren Alltag prägen.

Nirgendwo ist die Rede vom "lebenslangen Lernen" angebrachter als in der sich rapide wandelnden digitalen Gesellschaft, die gleichzeitig faszinierend und bedrohlich ist. Zu verstehen, nach welchen Prinzipien die Computer arbeiten, die sich zunehmend in unser Leben drängeln, ist tatsächlich eine Basisfähigkeit. Eine ausgewachsene Programmiersprache dagegen muss nicht jeder beherrschen.

Diesen Artikel finden Sie als Audiodatei im Premiumbereich unter www.zeit.de/audio