Programmieren kinderleicht

Programmieren schreckt noch immer viele Menschen ab. Dabei begleitet es uns bereits im Alltag und bietet Möglichkeiten sich kreativ auszuleben. Um programmieren zu lernen, gibt es eine Vielzahl von Möglichkeiten. //Von Jasper Dieterich und Christian Richter

Für viele Menschen, egal welchen Alters, ist das Programmieren unwichtig oder fremd. Dabei steckt hinter jeder Google-Suche, in jedem Snackautomaten und jeder Ampelanlage Programmierung. Viktoriya Olari, Didaktikerin und Entwicklerin am Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme IAIS und Mitarbeiterin der Roberta-Initiative, ist der Meinung, dass Programmieren eine Schlüsselkompetenz des 21. Jahrhunderts ist. "Programmieren wird, wie Lesen und Schreiben, für alle notwendig sein. Deshalb müssen Kinder, Jugendliche und Erwachsene zumindest etwas vom Programmieren verstehen."

"Programmierung ist keine Zauberei"

Außerdem liegt uns Programmierung vielleicht näher, als uns bewusst ist. "Programmierung und IT-Themen sind keine Zauberei", meint Irene Rothe, Professorin für Mathematik und Informatik an der Hochschule Bonn-Rhein-Sieg (HBRS), "jede Person hat so etwas wie Programmierung in sich." Als Beispiele nennt sie etwa das Sortieren von Büchern oder Zahlenreihen. Laut Rothe stecken hinter diesen, für den Menschen unkomplizierten, Handlungen komplexe Handlungsvorschriften. Aus diesen Vorschriften machen wir Code, also eine Reihe von Befehlen, die wir nacheinander ausführen.

Einfache Einstiege

Wer sich mit Programmierung beschäftigen will, hat mittlerweile viele verschiedene Möglichkeiten. Kurze kostenlose Tutorials, Programmierforen und bildungsorientierte Programmiersprachen können einen guten Anfang bilden. Selbstgeschriebene Programme können in einer virtuellen Umgebung für kleines Geld oder auch mit Robotern und Minicomputern getestet werden. Mehrere speziell zu Übungszwecken entwickelte Plattformen bieten die Möglichkeit eine Vielzahl von Funktionen und Abläufen zu programmieren. Für jede Altersgruppe und jedes Geschlecht ist etwas dabei.

Bildungsorientierte Programmiersprachen

Um erste Schritte zu machen können vor allem sogenannte bildungsorientierte Programmiersprachen hilfreich sein. Normalerweise müssen für die Arbeit mit Programmiersprachen, ähnlich wie bei gesprochenen Sprachen auch, in mühsamer Kleinarbeit Vokabeln, Grammatik und Syntax gelernt werden. Um das zu vereinfachen kommen verschiedene Hilfsmittel zum Einsatz. Etwa Textbausteine, die zusammengeklickt werden können oder eine abgespeckte Auswahl an Vokabeln, die mit zusätzlichen Erklärungen versehen sind. "Blockbasierte Programmiersprachen wurden dafür entwickelt diese Hürde so niedrig wie möglich zu halten. Man kann im Prinzip keine Syntaxfehler machen, was sonst häufig bei den Neulingen der Fall ist und demotiviert", erklärt Didaktikerin Olari. Beispiele wären etwa Scratch, NEPO oder Small Basic.

Scratch und NEPO

Scratch und NEPO basieren auf ebendiesen Textblöcken. Jeder Block hat einen vorgeschriebenen Befehl, an dem einzelne Parameter verändert werden können. Scratch wurde 2007 am Massachusetts Institute of Technology (MIT) entwickelt und ist eng mit einer Online Plattform verbunden. Dort ist es möglich Tutorials anzuschauen, Projekte zu teilen und die Projekte anderer zu testen. Die Sprache lässt sich unkompliziert und kostenlos über einen Browser nutzen. Bei NEPO handelt es sich um eine Programmiersprache, die vor allem im Open Roberta Lab Anwendung findet. Das Open Roberta Lab wird vom Fraunhofer IAIS betrieben und ist Teil der Roberta Initiative, die seit über 18 Jahren Kindern, Jugendlichen und jungen Erwachsenen MINT-Konzepte vermittelt. Auch NEPO ist kostenfrei und über einen Browser nutzbar. Beide Programmiersprachen sind in eine integrierte Entwicklungsumgebung (IDE) eingebunden.

Integrierte Entwicklungsumgebung

Geschriebene Codes müssen nämlich mit einem „Compiler“, zu Deutsch Übersetzer, verarbeitet werden, damit sie ihre Funktion erfüllen. Um als Anfänger nicht die Auswahl einer Programmiersprache, eines Compilers und weiterer Hilfsmittel treffen zu müssen, kombinieren integrierte Entwicklungsumgebungen alle Funktionen miteinander. Der Begriff IDE stammt aus dem Englischen und steht für integrated development environment. Mit manchen IDEs, wie dem MIT App Inventor, lassen sich sogar ganze Apps programmieren. "Das funktioniert mit einer Blocksprache, wie sie auch bei Scratch oder NEPO benutzt wird. Als Einstieg oder um Blut zu lecken und zu merken, wie amüsant und unterhaltsam das ist, ist das eine gute Sache. Besonders bei einer App, die man sofort jemandem zeigen kann", ist die Informatikerin Rothe überzeugt.

Übersicht über eine IDE // Quelle: Open Roberta Lab

Komplexerer Code mit Small Basic

"Grundsätzlich steht NEPO als blockbasierte Programmiersprache den herkömmlichen textbasierten Varianten wie Java oder C++ in nichts nach“, erläutert Viktoirya Olari weiter. „Deshalb wird NEPO selbst auch in Unternehmen zur Aus- und Weiterbildung eingesetzt." Dennoch sei ab einem gewissen Punkt der Schritt zu textbasierten Programmiersprachen, insbesondere wenn es um komplexere Programme geht, sinnvoll. Die bildungsorientierte Programmiersprache Small Basic vereinfacht diesen Schritt. Sie lässt sich ebenfalls kostenlos in einer IDE über einen Browser nutzen. Die Auswahl von Befehlen ist im Vergleich zu anderen textbasierten Programmiersprachen reduziert und mit einfachen erklärenden Texten versehen. Der Aufbau der Texte erinnert an die Textblöcke aus Scratch und NEPO. Die Befehle müssen aber selbstständig aufgeschrieben und in die richtige Reihenfolge gebracht werden. Je nach Lernfortschritt lassen sich aus einer Vielzahl von Online Bibliotheken weitere Befehle importieren und nutzen.

Lernroboter eignen sich als Testobjekt

Selbstgeschriebene Programme können auch mit Robotern und Minicomputern getestet werden. Solche Plattformen bieten den Vorteil, Erlerntes anzuwenden und Ideen umzusetzen. Rothe berichtet zum Beispiel von sehr positiven Erlebnissen bei den von ihr organisierten Roboternächten an der HBRS. Dort können Kinder und Jugendliche einmal im Jahr eigenständig Roboter bauen und sie verschiedene Aufgaben bewältigen lassen. Ein prominentes Beispiel für solche Lernroboter, die auch bei den Roboter Nächten zum Einsatz kommen, wären etwa die verschiedenen Modelle von Lego. Sie bieten die Möglichkeit individuell zusammengesetzt zu werden. Je nach Belieben baut man hier Sensoren, Gyroskope, Lampen und Gelenke ein.

Minicomputer

Ein anderes Beispiel sind die Minicomputer Raspberry Pi oder Circuit Playground, die sich auch für Ältere und Fortgeschrittene eignen. Hierbei handelt es sich um kleine Plattformen, die mit einem Prozessor, LEDs, Sensoren und verschiedenen Schnittstellen ausgerüstet sind. Mit den kleinen Plattformen lassen sich eine Menge eigener Projekte umsetzen. So kann man etwa mit den eingebauten Sensoren eine kleine Wetterstation basteln, die Temperatur und Luftfeuchtigkeit messen kann oder die integrierten LEDs Bilder anzeigen lassen. Je nach Anforderung können diese Systeme auch extern mit weiterer Hardware aufgerüstet werden. So lässt sich ein Minicomputer mit wenigen zusätzlichen Teilen in einen fahrenden Roboter verwandeln. Neben den oben genannten Systemen gibt es noch eine Menge Alternativen.

Eine Investition für die Zukunft

Programmieren könnte auch in Zukunft in der Bildung eine größere Rolle spielen. "Wir lernen Sprachen in der Schule nicht nur um die Sprache zu beherrschen, wir lernen die Sprache um strukturiert zu denken", so Olari. Auch Rothe ist der Auffassung, dass Programmierung uns für den Alltag logisches Denken und strukturiertes Arbeiten näherbringen kann. "Um Fähigkeiten zu erlangen, die etwa gefordert werden um sein Homeoffice besser an die Zentrale anzuschließen, ist IT aber hilfreicher", erklärt sie. Natürlich kann programmieren nicht jedem Menschen gefallen und natürlich gibt es Alternativen, um strukturiertes Denken und Handeln zu verinnerlichen. Es auszuprobieren schadet aber auf keinen Fall.

Teaserbild: Programmieren kinderleicht// Quelle: Christian Richter

Die Autoren

Christian Richter

Jasper Dieterich

Kommentar hinterlassen

Mit Absenden des Formulars erkären Sie sich mit der Speicherung und Verarbeitung der darin eingegebenen personenbezogenen Daten einverstanden. Weitere Hinweise dazu finden Sie in unserer Datenschutzerklärung.