Lasst uns mit Computern sprechen

Juraj Hromkovic erklärt, welches die Gemeinsamkeiten von Sprache und Programmieren sind und was eine gute Programmiersprache für den Informatikunterricht ausmacht.

Juraj Hromkovic

Sie sind mehr der literarische Typ und können gar nichts mit Computern anfangen? Sie lesen lieber Romane als eine Codezeile? Nun, im Folgenden werde ich versuchen auch Sie anzusprechen. Was macht ein Mensch, wenn er programmiert? Er spricht mit einer Maschine. Dafür muss er allerdings die Sprache beherrschen, die auch der Computer versteht. Das Ziel der Kommunikation ist, dem Computer zu erklären, was er zu tun hat. Wenn wir langweilige Routinearbeit automatisieren wollen, müssen wir eine Computersprache sprechen. Denn wer möchte nicht anstatt den Rasen zu mähen oder Staub zu saugen, lieber etwas Kreatives machen, was Spass macht, Erfolgserlebnisse bringt und einen in seiner Entwicklung weiterbringt?

Schreibmaschine
Menschliche Sprache und Maschinensprache haben mehr gemein als auf den ersten Blick gedacht. So kennen etwa beide Welten das kreative Bilden neuer Begriffe. (A_Pobedimsky / iStock) Link

Programme sind Texte

Wenn Programmieren etwas mit Sprechen zu tun hat, dann sind Programme nichts Anderes als grammatikalisch korrekte Texte in dieser Sprache. Die grammatikalischen Regeln übertreffen die Exaktheit derjenigen von Latein. Und wir wissen, dass Latein unsere Fähigkeit zum exakten Denken, unser Verständnis für Sprache positiv beeinflusst. Der Lateinunterricht bietet also viele Möglichkeiten, der Informatikunterricht ebenso!

Das Faszinierende an einem guten Informatikunterricht ist, dass wir dem Computer neue Wörter beibringen können. Schon Pippi Langstrumpf hatte ein diebisches Vergnügen, ein neues Wort zu schaffen und dann auf der Suche nach dem «Spunk» unzählige Streiche zu spielen. Klingonisch – eine Kunstsprache – wird unterdessen weltweit von Trekkies gesprochen. Eine eigene Sprache zu entwickeln ist ein unglaubliches Abenteuer! In keinem anderen Fach ausserhalb der Informatik ermöglichen wir es Schülerinnen und Schülern, eine eigene Sprache zu bauen und sie auszuprobieren.

Sprachwahl ohne Qual

Wie wählt man aber eine geeignete Programmiersprache aus, die man auch selbständig weiterentwickeln kann? Denn ja, wie bei den verschiedenen Sprachen der Menschen gibt es auch beim Programmieren etliche Sprachen – mit Vor- und Nachteilen. Schlecht beraten ist, wer ausschliesslich darauf schielt, was gerade angesagt ist oder einen kommerziellen Nutzen bringt. Anders als bei den etablierten Sprachen können Programmiersprachen sehr schnell verschwinden oder schlicht veralten.

«In der Praxis ist es so, dass Programmierende viel mehr Zeit mit der Fehlersuche als mit dem Programmieren selbst verbringen.»Juraj Hromkovic

Es geht auch nicht um die in «heiligen Kriegen» diskutierte Frage, ob blockbasiertes oder textbasiertes Programmieren besser ist. (Beim ersten verschieben wir Blöcke mit Wörtern, um Schreibfehler zu vermeiden, im zweiten Fall schreiben wir das Programm als Text). Aus meiner Sicht gibt es nur drei wesentliche Kriterien für die Wahl einer geeigneten Programmiersprache – besonders, wenn man Neulinge und Einsteigerinnen vor Augen hat:
 

  • Wie gut kann ich mit der Programmiersprache die gestellten Ziele erreichen?
  • Ist die Programmierumgebung so einfach, dass sie für Einsteigerinnen und Einsteiger nicht eine zusätzliche kognitive Hürde darstellt?
  • Wie gut unterstützt die Programmierumgebung die Programmiernovizen und -novizinnen bei der Suche nach grammatikalischen und logischen Fehlern?

Denkschule statt Fehlersuche

Besonders das dritte Kriterium wird stark unterschätzt. Dabei ist es in der Praxis so, dass Programmierende viel mehr Zeit mit der Fehlersuche als mit dem Programmieren selbst verbringen. Das kann natürlich ermüdend sein. Im Unterricht können Lehrpersonen so stark damit beansprucht sein, Hilfe bei der Fehlersuche zu leisten, dass sie nicht mehr zum Unterrichten kommen. Dabei sollten ja alle frei von der Leber weg programmieren können!

Die einzige vertretbare Lösung ist eine Programmierumgebung, mit der man erfolgreich das selbständige Korrigieren von Programmen unterrichten kann. Deswegen haben wir am Ausbildungs- und Beratungszentrum für Informatikunterricht ABZ der ETH Zürich eigene Programmierumgebungen entwickelt, die obige Anforderungen erfüllen. Sie sind frei für den schulischen Unterricht verfügbar (auf der ABZ-Webseite) zusammen mit dem dazu entwickelten zehnbändigen Lehrmittel «Einfach Informatik». Der Informatikunterricht fängt dort übrigens mit der Entwicklung der ersten Schrift von 5400 Jahre an. Vielleicht motiviert das ja literarisch Interessierte zusätzlich, sich mit der Sprache der Zukunft auseinanderzusetzen.

ETH am Digitaltag 2018

Am 25. Oktober geht schweizweit der zweite Digitaltag über die Bühne. Die ETH setzt dieses Jahr den Schwerpunkt auf die Digitalisierung in der Medizin und zeigt im Hauptbahnhof Zürich dazu zwei Forschungsprojekte. Daneben bietet die ETH gemeinsam mit zahlreichen Institutionen aus dem Gesundheitsbereich Kurzvorträge, Laborführungen und Präsentationen an. Zudem lernen über 600 Schülerinnen und Schüler aus der ganzen Deutschschweiz an einem Programmierworkshop die Sprache der Zukunft. Weitere Infos unter: Digitaltag

JavaScript wurde auf Ihrem Browser deaktiviert