Über unsMediaKontaktImpressum
Bernhard Löwenstein & Elisabeth Weißenböck 21. Februar 2017

Wie Kinder Programmieren lernen – 14 Alternativen zu "Hello World"

Von analogen Methoden über spielerische digitale Ansätze bis hin zur Programmierung von Robotern... © Bernhard Löwenstein & Elisabeth Weißenböck
© Bernhard Löwenstein & Elisabeth Weißenböck

Erinnern Sie sich noch an Ihre ersten Programmierschritte? Bei uns sind diese bereits über zwei Jahrzehnte her. Wir mussten im Alter von zwölf Jahren im Freifach Informatik jede Menge Pascal-Code aus einem Buch abschreiben und zum Laufen bringen. Für Verständnis hat dies nicht gesorgt, aber unser Lehrer meinte sowieso, dass keiner von uns den Weg in die IT-Branche suchen wird. Weit gefehlt!

War solch ein Einstieg seinerzeit üblich, so hat sich in den letzten Jahren viel getan. Es gibt heute jede Menge Ansätze und Technologien, die einen altersgerechten Einstieg in die Programmierung ermöglichen. Bereits vierjährige Kinder lassen sich so auf attraktive Weise in die Thematik einführen. Dieser Artikel stellt Ihnen verschiedene Möglichkeiten zum Erlernen der Programmierung vor – beginnend bei analogen Methoden über kostenlose, spielerische digitale Ansätze bis hin zur Programmierung von Robotern.

Computer Science Unplugged

Grundkonzepte der Informatik können Kindern und Jugendlichen auch ohne Computer näher gebracht werden. Computer Science Unplugged [1] ist ein solcher Ansatz und bietet eine Fülle an Aktivitäten und Spielen ohne Computer, die an die Denkweise der Informatik heranführen sollen. Sie richten sich an Kinder und Jugendliche und behandeln viele verschiedene Themen aus der Informatik. So gibt es etwa Übungen, die erklären, was binäre Zahlen sind, wie die Fehlersuche funktioniert, was Such- und Sortieralgorithmen sind und wie diese angewendet werden. Die Übungen von Computer Science Unplugged sind eine gute Einführung in die Informatik, da die Kinder und Jugendlichen nicht stillsitzen müssen, sondern durch die Aktivitäten zum Ausprobieren und Mitmachen angeregt werden.

Als Beispiel dazu stellen wir die Fehlersuche vor. Fehler können immer passieren, sobald Informationen gespeichert oder übertragen werden. Diese Aktivität zeigt auf einfache Weise, wie diese Fehler gefunden werden – und zwar mithilfe eines Zaubertricks. Benötigt werden hierzu 36 Post-its oder Kärtchen in zwei verschiedenen Farben. Die Kinder dürfen nun 5x5 Kärtchen beliebig mit den zwei verschiedenen Farben auflegen. Der Lehrende legt danach mit dem Argument, die Aufgabe dadurch noch zusätzlich zu erschweren, eine sechste Reihe und Spalte hinzu. Das Hinzulegen passiert aber nicht willkürlich, sondern dient dazu, dass in jeder Reihe und in jeder Spalte eine gerade Anzahl an Farben liegt. Liegen z. B. in der ersten Reihe drei gelbe und zwei rosa Kärtchen, legt der Lehrende ein gelbes Kärtchen hinzu. Somit liegen in dieser Reihe vier gelbe und zwei rosa Kärtchen. Das muss so schnell passieren, dass den Schüler gar nicht auffällt, dass ein System dahintersteckt. Die restlichen Reihen und Spalten werden ebenfalls um ein Kärtchen jener Farbe ergänzt, die davor in einer ungeraden Anzahl vorhanden war. Gesamt liegen danach 36 Kärtchen auf. Nun gilt es jemand Freiwilligen auszuwählen, der eine Farbe eines einzelnen Kärtchens ändert. Der Lehrende verlässt den Raum oder dreht sich kurz um. Durch dieses Umändern einer Farbe wird in einer Spalte und in einer Reihe die Anzahl der Farben ungerade, wodurch der Fehler vom Lehrenden gefunden werden kann.

Auf der offiziellen Website können die kostenlosen Aktivitäten inklusive genauer Anleitung heruntergeladen werden.

Robot Turtles

Robot Turtles [2] ist ein Brettspiel für Kinder ab vier Jahren und wurde mithilfe der finanziellen Unterstützung von fast 14.000 Kickstartern von Thinkfun entwickelt. Die Inspiration für das Spielprinzip erhielt der Entwickler Dan Shapiro von der Programmiersprache Logo. Kinder sollen eine einfache und lustige Einführung in die Programmierung erhalten.

Ziel des Spiels ist es, die Spielfigur, eine Roboter-Schildkröte, zu einem Edelstein zu führen. Der Spielplan besteht aus 8x8 Quadraten, auf die Hindernisse wie Kisten oder Eisblöcke, farbige Edelsteine und die Schildkörten aufgelegt werden. Um zu gewinnen, muss für die Schildkröte der richtige Weg vom Start zum Ziel programmiert werden. Jeder Spieler wird zum sogenannten Turtle Master und sucht sich eine von vier verschiedenfarbigen Turtle Robots-Karten aus. Zusätzlich bekommt jeder Spieler Karten, um die Schildkröte vorwärts bewegen oder nach rechts bzw. links drehen zu können. Die Turtle Master müssen mithilfe dieser Befehlskarten ihren Schildkröten Schritt für Schritt den Weg zum Edelstein, also dem Ziel, programmieren und dabei je nach Schwierigkeitsgrad Hindernissen ausweichen oder mit der Laser-Befehlskarte Eisblöcke zum Schmelzen bringen, damit dieses Feld überwunden werden kann. Der Spielführer, am besten ein Erwachsener, übernimmt die Rolle des Compilers und führt anschließend das Programm aus, indem er mit der Schildkröte genau die Bewegungen ausführt, die die Karten anzeigen. Entdeckt der Turtle Master dabei einen Fehler in seinem "Code", kann er mithilfe der Bug-Karte einen Fehler noch ausbessern.

Dadurch, dass sich Hindernisse, Schildkröte und Edelsteine beliebig auf dem Spielfeld platzieren lassen, können unterschiedliche Szenarien kreiert werden. Vorschläge sind in der Spielanleitung vorhanden, doch der Kreativität sind keine Grenzen gesetzt.

Code Master

Abb.1: Code Master erfordert nicht einmal einen Computer, da es ein Brettspiel ist. © Bernhard Löwenstein & Elisabeth Weißenböck
Abb.1: Code Master erfordert nicht einmal einen Computer, da es ein Brettspiel ist. © Bernhard Löwenstein & Elisabeth Weißenböck

Code Master [3] ist ein Brettspiel und erinnert durch seine Aufmachung stark an Minecraft, wodurch das Interesse von Kindern sehr schnell geweckt wird. Code Master ist ein Spiel für eine einzelne Person. Die Kosten belaufen sich auf rund 20 Euro.

Ziel des Spiels ist es, mit einer Spielfigur auf einer Karte vom Ausgangspunkt zum Portal zu gelangen. Je nach Schwierigkeitsgrad gilt es z. B. Kristalle einzusammeln, Gegnern auszuweichen oder Wege so lange zu wiederholen, bis eine Bedingung eintrifft. Wege sind durch farbige Linien vorgegeben, im Spielplan ist festgehalten, wie viele Aktionen in welcher Reihenfolge und zu welchen Bedingungen benutzt werden dürfen. So entsteht ein erster Zugang zur Programmierung. Insgesamt beinhaltet das Spiel zehn verschiedenen Karten mit 60 Leveln, unterteilt in drei Schwierigkeitsgrade. Das Spiel richtet sich an Kinder ab acht Jahren, kann aber durchaus auch von älteren Jugendlichen gespielt werden, da die schwierigeren Level auch so manchen Erwachsenen ins Schwitzen bringen können.

Code.org

Code.org [4] ist eine im Jahr 2013 in den USA gegründete Organisation, die sich zum Ziel gesetzt hat, Kinder, Jugendliche und Erwachsene für die Informatik und die Programmierung zu begeistern. Es gibt für jede Altersgruppe eigene Kurse und Curricula, insgesamt richtet sich Code.org an Kinder und Jugendliche im Alter von vier bis 18 Jahren.

Für Vor- und Grundschüler gibt es wie für Mittel- und Oberstufe einen 20-stündigen Kurs, der die Kinder und Jugendlichen altersgerecht in die Programmierung heranführt. Verwendet wird eine grafische Programmiersprache, damit auch jüngeren Kindern der Einstieg in die Programmierung erleichtert wird und Tippen obsolet wird. Auch Aktivitäten ohne Computer sind in den Curricula fest verankert – sei es als Einstieg, zum Festigen von gelernten Konstrukten oder als Auflockerung. Die Aufgaben sind für alle frei zugänglich, sind gut strukturiert und können jederzeit absolviert werden. Wenn man einen Account erstellt, werden Fortschritte gespeichert. So sieht man auch beim nächsten Login, wo man aufgehört hat und kann dort anschließen.

Besonders gut für den Einstieg eignen sich die sogenannten Hours of Code. Diese Einheiten sind jeweils auf die Dauer von einer Stunde ausgelegt. Ob zum Thema Star Wars oder Minecraft, für jedes Kind ist ein Hour of Code dabei.

Auf Code.org sind alle Kurse und Aktivitäten kostenlos. Wenn man Zugang zu zusätzlichem Material wünscht, ist eine Registrierung als Lehrender notwendig, damit Zugriff auf alle Materialien gewährt wird. Die Kinder und Jugendlichen benötigen ein Tablet oder einen Laptop, um die Übungen zu absolvieren.

Scratch

Abb.2: Scratch ermöglicht bereits Kindern einfache Computerspiele zu erstellen. © Bernhard Löwenstein & Elisabeth Weißenböck
Abb.2: Scratch ermöglicht bereits Kindern einfache Computerspiele zu erstellen. © Bernhard Löwenstein & Elisabeth Weißenböck

Scratch [5] ist eine grafische Programmiersprache und wurde vom MIT Media Lab entwickelt. Befehlsblöcke werden ganz einfach wie Puzzleteile per Drag-and-drop aneinandergereiht. Durch diese Blöcke können ganz leicht Bewegungen, Klänge, aber auch Schleifen und Verzweigungen verwendet werden. Diese Blöcke unterscheiden sich auch farblich voneinander und werden zu einem Skript zusammengefügt. Daher auch der Name Scratch, da Klänge, Bilder und Skripte zu einem neuen Programm gemischt werden können.
Kinder und Jugendliche können mithilfe dieser Blöcke verschiedene Spiele und Geschichten erstellen. Aufgrund der bereitgestellten Figuren- und Hintergrundbibliothek kann der Fantasie freien Lauf gelassen werden. So kann eine Unterwasserwelt mit Fischen und einem gefährlichen Hai genauso wie ein Schloss, in dem ein Geist spukt, oder eine Ballerina, die auf einer Bühne tanzt, erstellt werden. Durch diese Freiheiten in der Figur- und Hintergrundauswahl lässt sich an die persönlichen Interessen der Kinder und Jugendlichen anknüpfen und der positive Einstieg in die Programmierung verstärken.

Der Einsatz von Scratch eignet sich für Kinder ab acht Jahren, grundlegende Rechen- und Lesekenntnisse sollten vorhanden sein. Für interessierte jüngere Kinder gibt es ScratchJr,
das speziell für den Einsatz mit Tablets entwickelt wurde und nachfolgend noch genauer vorgestellt wird.

Der große Vorteil von Scratch ist, dass die Software kostenlos entweder zur Verwendung im Browser oder zur Installation auf verschiedenen Betriebssystemen zur Verfügung steht. Die große Community ermöglicht es, nicht nur immer wieder neue Spielideen zu finden, sondern auch vorhandene Spiele und Geschichten zu remixen. Spiele, die von anderen programmiert wurden, werden hier in die eigene Programmierumgebung geladen und adaptiert. Dadurch wird nicht nur das Anwenden von Befehlen, sondern auch das Lesen von Scratch-Code gelernt, was sich bei komplexen Spielen als Herausforderung entpuppen kann und dadurch auch die eigenen Programmierkenntnisse festigt.

ScratchJr

ScratchJr [6] ist eine kostenlose App für iOS und Android und richtet sich an Kinder im Alter von fünf bis sieben Jahren, um erste Handlungsplanung und Problemlösefähigkeit zu entwickeln. Die App entstand 2015 im Rahmen eines Kickstarterprojekts und stellt eine grafische Programmierung bereit, die im Gegensatz zu Scratch keine Lesekenntnisse voraussetzt. Von Geschichten über kleine Spiele lässt die App keine Wünsche offen – ein Wettlauf der Tiere am Bauernhof bis hin zum Hüpfen auf dem Mond – das alles ermöglicht die integrierte Figuren- und Hintergrundbibliothek. Um die Figuren zu programmieren, werden die einzelnen Blöcke anhand von Farben und Icons unterschieden. Text wird nur benötigt, wenn Text in Sprechblasen angezeigt werden soll. Dies kann jedoch umgangen werden, da der Block eine Aufnahme per Mikrofon ermöglicht. Der Text wird dann einfach per Lautsprecher ausgegeben.

Minecraft

Minecraft wurde 2009 entwickelt und ist nach wie vor der Renner bei vielen Kindern und Jugendlichen. Unzählige Youtube-Videos zeigen, welche ungeahnten Möglichkeiten sich durch die Programmierung von Mods in Minecraft eröffnen. Bei Mods handelt es sich um Erweiterungen, dank derer sich das Spiel noch mehr an die eigenen Wünsche anpassen lässt. Warum sollte man also diese Faszination und Begeisterung nicht aufgreifen, um dem Nachwuchs zu zeigen, was mithilfe von Programmierung alles möglich ist?

Sollten Sie einen Raspberry Pi Ihr Eigen nennen: Dafür gibt es eine eigene, kostenlose Minecraft-Version, die darauf abzielt, Kinder und Jugendliche in die Programmierung mit Python einzuführen. Hierzu gibt es auch eigene Lernunterlagen [7]. Die Einführung zeigt etwa, wie sich programmieren lässt, dass sich ein Spieler teleportieren kann, dass Blöcke auf eine bestimmte Position gesetzt werden oder dass die Figur beim Gehen Blumen bzw. Blöcke fallen lässt, falls die Textur der Blöcke unter der Figur vom Typ Gras ist. Auch für fortgeschrittene Aufgaben ist gesorgt: So kann entweder in Anlehnung an "Hau den Lukas" ein "Hau den Block"-Spiel [8] programmiert oder eine Selfie-Kamera [9] gebaut werden, die dann mittels Python-Code das entstandene Bild in Form von Minecraft-Blöcken rendert.
Wem kein Raspberry Pi zur Verfügung steht, der kann mithilfe von learntomod [10] seine ersten eigenen Minecraft Mods mit JavaScript programmieren. Dabei kann man sich entscheiden, ob man auf eine grafische Version zurückgreifen möchte, bei der Blöcke
miteinander kombiniert werden, oder direkt mit der textuellen Programmiersprache arbeiten möchte. Die Mods können dann entweder per Simulator getestet oder, sofern man den learntomod-Account mit einem Minecraft-Account verbunden hat, direkt im Spiel ausprobiert werden. learntomod hat dafür ein großes Angebot an Aufgabensets entwickelt, die viele Erklärungen mitliefern und mit der Zeit immer schwieriger werden. So gut wie diese Erklärungen und Aufgaben auch aufbereitet sind, sie sind alle in englischer Sprache. Für die Nutzung von learntomod fällt im Jahr eine Gebühr von 29 Dollar an.

Natürlich begeistert Minecraft auch Kinder, die in diesem Alter weder Englisch sprechen, noch gut tippen können. Für sie ist es dann schwierig, eine textuelle Programmiersprache zu erlernen. Daher gibt es die Erweiterung computercraftedu [11], die der Minecraft-Welt kleine programmierbare Turtle-Robots in Blockform hinzufügt. Diese können durch grafische Befehle programmiert werden, die per Drag-and-drop von einer Toolbox auf ein Gitter gezogen werden. So gibt es etwa Befehle, die die Turtle-Robots in eine Richtung drehen oder zu einem speziellen Punkt gehen lassen. Wenn die Schildkröte mit einem Tool ausgestattet wird, kann sie sogar so programmiert werden, dass sie automatisiert Materialien abbaut oder diese danach irgendwo platziert. So können z. B. Treppen oder Tunnel gebaut werden, sofern das Material zuvor abgebaut wurde und sich demnach im Inventar befindet. Auch Bedingungen, Schleifen und Variablen kommen hierbei nicht zu kurz. Es gibt sogar eine eigens kreierte Karte mit Aufgaben, die sich nur mithilfe der programmierbaren Turtle-Robots absolvieren lässt. Sollte die grafische Programmierung irgendwann zu einfach werden, kann die Schildkröte auch per Lua-Befehlen programmiert werden.

CodeCombat

Abb.3: CodeCombat baut auf der Idee des Game-Based Learnings auf. © Bernhard Löwenstein & Elisabeth Weißenböck
Abb.3: CodeCombat baut auf der Idee des Game-Based Learnings auf. © Bernhard Löwenstein & Elisabeth Weißenböck

CodeCombat [12] ist ein Browserspiel, in dem Kinder und Jugendliche programmieren lernen können. Die Grundversion von CodeCombat ist kostenlos. Möchte man alle Level und Helden freischalten, muss man einen Account kaufen.

Mithilfe von Python- bzw. JavaScript-Code wird eine Spielfigur durch die Abenteuerwelt gesteuert. Nur so lassen sich Gegner attackieren, Hindernisse überwinden und Kristalle einsammeln. Das Absolvieren unterschiedlicher Level und Welten ermöglicht den Zugang zu neuen Gegenständen, die wiederum neue Methoden freischalten. So ermöglicht z. B. ein Schwert mithilfe der attack-Methode Gegner anzugreifen, eine Brille mit der findNearestEnemy-Methode den nächstgelegenen Gegner zu finden und ein magisches Buch das Verwenden von Schleifen und Verzweigungen. Je weiter man im Spiel voranschreitet, desto komplexer werden die Aufgaben und desto wichtiger werden auch eigene Lösungsansätze.

Da CodeCombat eine textuelle Programmiersprache verwendet, eignet es sich vor allem für Kinder und Jugendliche, die bereits ein wenig tippen können und der englischen Sprache nicht abgeneigt sind. Der spielerische Ansatz hilft, Kinder und Jugendliche zu motivieren und durch den langsam ansteigenden Schwierigkeitsgrad werden auch komplexe Konstrukte schnell verstanden. Durch das Anlegen eines Accounts können Fortschritte jederzeit gespeichert und wieder aufgerufen werden. Die Unterteilung der Welten in verschiedene Levels ermöglicht rasch Erfolge, da die Aufgaben kurz gehalten sind. Insgesamt gibt es aktuell fünf Welten mit verschiedenen Schwerpunkten wie etwa Basic-Syntax, Verzweigungen, boolesche Logik, Funktionen und Arrays. Aufgrund der großen und gut zusammenarbeitenden Community sind sehr viele der englischen Aufgaben mittlerweile ins Deutsche übersetzt.

Hamster-Simulator

Abb.4: Beim Hamstersimulator sollen die Hamster in ihrer virtuellen Welt kleine Aufgaben erfüllen. © Bernhard Löwenstein & Elisabeth Weißenböck
Abb.4: Beim Hamstersimulator sollen die Hamster in ihrer virtuellen Welt kleine Aufgaben erfüllen. © Bernhard Löwenstein & Elisabeth Weißenböck

Unter einer Mikrowelt, auch Miniumgebung genannt, versteht man eine künstliche Programmierwelt, die Anfängern eingeschränkte Möglichkeiten zur Programmierung bietet. In den meisten Fällen geht es darum, ein virtuelles Lebewesen mittels entsprechender Befehle durch seine virtuelle Welt zu kommandieren und es dabei bestimmte Aufgaben erfüllen zu lassen. Die verschiedenen Mikrowelten unterstützen unterschiedliche Programmierparadigmen und eignen sich dadurch für eine sehr breite Altersschicht. Bekannte Mikrowelten sind Kara, der Marienkäfer [13], oder der Hamstersimulator [14], auf den folgend näher eingegangen wird.

Der Hamstersimulator ist kostenlos und in verschiedenen Varianten verfügbar. Am bekanntesten ist die Java-Version, das sogenannte Java-Hamster-Modell, zu der es auch mehrere Bücher für den raschen Einstieg gibt. Wenig überraschend sind die großen Stars hier Hamster. Sie leben in einem Territorium und können mittels in Java geschriebener Hamster-Programme zur Durchführung bestimmter Aktionen veranlasst werden.

Das Herzstück stellt der Hamster-Simulator dar. Dies ist eine spezielle Entwicklungsumgebung, in der von den Kindern und Jugendlichen Territorien erstellt sowie Hamster-Programme geschrieben, getestet und ausgeführt werden können. Beim Kreieren eines Territoriums ist im ersten Schritt die Feldgröße zu definieren. Danach können auf den anfangs leeren Kacheln Mauerelemente platziert bzw. Körner abgelegt werden. Die anfängliche Position und Blickrichtung des Standard-Hamsters sowie die Anzahl der Körner, die er im Maul haben soll, sind außerdem wählbar. Während der Programmausführung darf das virtuelle Nagetier kein Feld mit Mauerelement betreten. Körner, die es auf den Kacheln vorfindet, kann es fressen. Auch das Zurücklegen von Körnern ist möglich. Zusätzlich zum Standard-Hamster lassen sich zur Laufzeit weitere Hamster dynamisch erzeugen und nutzen. Für das eigentliche Hamster-Programm ist keine vollständige Klasse zu schreiben, sondern es reicht eine einfache main-Methode, in welche die Java-Befehle geschrieben werden. Aus didaktischen Gründen weicht hier das Java-Hamster-Modell von der korrekten Java-Syntax ab. Auch die Vererbung und der Polymorphismus lassen sich gut vermitteln.

Bee-Bot

Abb.5: Die Kinder sind von den gelb-schwarzen Gefährten stets sehr angetan.  © Bernhard Löwenstein & Elisabeth Weißenböck
Abb.5: Die Kinder sind von den gelb-schwarzen Gefährten stets sehr angetan. © Bernhard Löwenstein & Elisabeth Weißenböck

Beim Bee-Bot [15] handelt es sich um einen einfach, robust und kindgerecht gestalteten Bodenroboter, der auf Kinder zwischen vier und acht Jahren abzielt. Programmiert wird er über Tasten auf seinem Rücken. Möglich sind Bewegungen um 15 cm nach vorne oder zurück sowie Drehungen um jeweils 90 Grad nach links oder rechts.

Die Bienenroboter eignen sich ausgezeichnet für einen spielerischen Einstieg in die Welt der Informationstechnologie und Steuerung. Sie schulen neben der räumlichen Wahrnehmung vor allem auch die Sequenzierungsfähigkeit. Darüber hinaus bietet die Arbeit mit den verschiedenen Spielfeldern ein breites Feld, um dies mit der Förderung der Lese- und Rechenfähigkeit zu verknüpfen.

Der Einarbeitungsaufwand zur Beherrschung des Bienenroboters ist mit rund 30 Minuten selbst für Personen ohne jeglichen technischen Background sehr gering. Nach dem isolierten Erlernen der Vorwärts-, Rückwärts- und Drehbewegungen, kann man den Kindern kompliziertere Bewegungsaufgaben aufgeben. Spaß machen auch die zugehörigen Spiele. Auch Aufgabenstellungen, bei denen mehrere Kinder zur Lösung kollaborieren müssen, sind denkbar.

Mit dem größten Sortiment an Bee-Bots wartet der Hersteller TTS Group auf, wobei ein Roboter rund 80 Euro kostet. Zusätzlich zu den Robotern sollte man für den raschen Einstieg auch einige Spielraster anschaffen. Schon recht bald wird man dann mit seinen Kindern eigene Spielfelder basteln.

Lego Mindstorms EV3

Abb.6: Lego Mindstorms hat mittlerweile mehreren Generationen einen attraktiven Einstieg in die Programmierung ermöglicht. © Bernhard Löwenstein & Elisabeth Weißenböck
Abb.6: Lego Mindstorms hat mittlerweile mehreren Generationen einen attraktiven Einstieg in die Programmierung ermöglicht. © Bernhard Löwenstein & Elisabeth Weißenböck

Bei Lego Mindstorms EV3 [16] handelt es sich um die letzte Generation der Mindstorms-Baukästen. Sie beinhalten neben unzähligen Lego Technic-Bauteilen einen Mikrocontroller, an den sich verschiedene Aktoren und Sensoren anschließen lassen. Die Kinder und Jugendlichen können damit unterschiedlichste Robotermodelle konstruieren und anschließend das Verhalten der Roboter über spezielle Computerprogramme programmieren. Für die verschiedenen Altersgruppen stehen unterschiedliche Umgebungen und Sprachen zur Verfügung. So kann bei Jüngeren eine grafische Programmierumgebung eingesetzt werden, während bei Älteren auf eine objektorientierte Programmiersprache wie Java zurückgegriffen wird.

Erste Aktivitäten sind ab acht Jahren empfehlenswert. Nach oben hin gibt es keine Grenze, selbst Studierende lassen sich damit noch begeistern. Für einen ersten Überblick reicht für technikaffine Personen ein Nachmittag als Einarbeitungszeit. Um wirklich sattelfest zu sein, sollte man aber schon einige Projekte bau- und programmiermäßig umsetzen. Da gehen leicht einige Nachmittage drauf.

Mit der ikonischen EV3-Software lassen sich so gut wie alle wesentlichen Programmierkonzepte einführen. Von den Benutzern ist kein Programmcode zu schreiben, sondern das Programm wird mittels entsprechender Mausaktionen erstellt. Durch das Verschieben und Verbinden der einzelnen Funktionsblöcke entsteht nach und nach das gewünschte Programm. Sind Texteingaben vonnöten, erfolgen diese dialogbasiert. Neben
klassischen Kontrollstrukturen wie Schleifen und Verzweigungen, stehen für komplexere Aufgaben auch Variablen und Datenleitungen zur Verfügung. Zusätzlich lässt sich auch auf bestimmte Ereignisse warten und reagieren. Das Erarbeiten der jeweiligen Konstrukte sollte stets aufgabengesteuert erfolgen.

Die Kosten für einen Baukasten belaufen sich auf rund 350 Euro für die Home Edition und rund 430 Euro für die Education Edition. Die offizielle Programmierumgebung kann man sich kostenlos von der zugehörigen Webseite herunterladen. Sämtliche für die Java-Programmierung erforderlichen Softwareprodukte sind ebenfalls frei verfügbar.

Raspberry Pi

Der Raspberry Pi ist eigentlich dazu entwickelt worden, um jungen Menschen nicht nur den Einstieg in die Programmierung zu erleichtern, sondern um damit auch in die Welt der Hardware einzutauchen. Die erstaunte Frage "Das kleine Ding soll ein Computer sein?“ ist bei Kindern und Jugendlichen keine Seltenheit, wenn sie den Raspberry Pi in Scheckkartengröße zum ersten Mal sehen. Die dritte Version ist mit einem 1,2 GHz Quad-Core-Prozessor, einem GB Arbeitsspeicher und WLAN ausgestattet und beläuft sich kostenmäßig auf rund 35 Euro.
Je nach Alter des Kindes lassen sich mithilfe von Scratch oder Python verschiedene Projekte realisieren. Eine erste mögliche Anlaufstelle für Ideen ist die Raspberry Pi Foundation.

Folgend werden einige der dort gut aufbereiteten Projekte vorgestellt:

  • Physical Computing mit Scratch [17]: In diesem Projekt lernen die Kinder, wie LEDs mit Scratch zum Leuchten gebrachten werden und wie Änderungen von Eingangssignalen am Raspberry Pi erkannt und verwertet werden können.
  • Alarmanlage mit Scratch [18]: Es können auch einfache Alarmanlagen programmiert werden. Hierbei wird ein Infrarotsensor zur Bewegungserkennung verwendet.
  • Reaktionsspiel mit Python [19]: Mithilfe eines Steckboards, LEDs, Widerständen, Kabeln und Taster wird eine erste Schaltung gebaut, zwei Taster werden als Eingänge und eine LED als Ausgang verwendet. Nach der Verkabelung wird mittels Python die LED so programmiert, dass sie nach einer zufälligen Zeit leuchtet. Nun soll das Programm den schnellsten Tastendruck registrieren. Variablenzuweisungen, Zufallszahlen, einfache Ein- und Ausgabe und das Bauen einer einfachen Schaltung werden hierbei behandelt.

Arduino

Abb.7: Arduino eignet sich auch bestens dazu, um die elektronischen Grundlagen zu vermitteln. © Bernhard Löwenstein & Elisabeth Weißenböck
Abb.7: Arduino eignet sich auch bestens dazu, um die elektronischen Grundlagen zu vermitteln. © Bernhard Löwenstein & Elisabeth Weißenböck

Bei Arduino [20] handelt es sich um eine sehr populäre Physical Computing-Plattform, für die es unzählige Aktoren und Sensoren gibt. Sowohl die Hardware als auch die Software sind im Sinne von Open Source quelloffen. Die Programmierung erfolgt auf Basis von C/C++.

Dank Arduino wurde die Welt der Mikrocontroller für jedermann zugänglich und einfach nutzbar gemacht. Interessierte können damit unterschiedlichste Elektronikprojekte umsetzen. Zum Bau eigener Roboter wird die Plattform ebenfalls gerne verwendet. Das Besondere an Arduino ist, dass sich zusätzlich zur Programmierung auch die elektrotechnischen und elektronischen Grundlagen anschaulich vermitteln lassen.

Altersgruppenmäßig ist ein Einstieg ab zwölf Jahren sinnvoll. Niveaumäßig lässt sich die Komplexität beliebig nach oben skalieren. Wer will, kann auch direkt den Mikrocontroller per Registerzuweisungen programmieren und sich so eine eigene API schreiben. Der Einarbeitungsaufwand ist im Vergleich zur Lego-Technologie schon deutlich größer. Das hat damit zu tun, dass Arduino-Programme auf textueller Basis erstellt werden. Es gibt im Web aber jede Menge Tutorials, die ein schnelles Loslegen ermöglichen.

Das klassische Einstiegsbeispiel ist die am Board integrierte LED zum Blinken zu bringen. Danach folgen oftmals Ampelsteuerungen, wobei hier dann bereits verschiedenfarbige LEDs mit passenden Vorwiderständen auf dem Steckbrett aufgebaut werden müssen. Anschließend kann man sich an das Erforschen der beigepackten digitalen oder analogen Sensoren machen. Dank der bereitgestellten Bibliotheken ist auch das Ansteuern von Servos einfach möglich. Mithilfe von Spezialhardware, sogenannten Shields, lassen sich auch klassische Motoren mit überschaubarem Aufwand ansteuern. Es bieten sich kleinere Projekte, wie z. B. die Realisierung einer Alarmanlage, nach den Basisaufgaben an.

Arduino-Lernsets gibt es für rund 60 Euro. Für ungefähr 15 Euro bekommt man auch noch eine mobile Roboterplattform dazu. Die zur Programmierung erforderliche Arduino IDE steht auf der offiziellen Website kostenlos zum Download bereit.

NAO

Abb. 8: Annalena kann sich von NAO Naomi kaum mehr trennen. © Bernhard Löwenstein & Elisabeth Weißenböck
Abb. 8: Annalena kann sich von NAO Naomi kaum mehr trennen. © Bernhard Löwenstein & Elisabeth Weißenböck

Beim NAO [21] handelt es sich um den fortschrittlichsten humanoiden Roboter für den Ausbildungsbereich. Er hat 25 Motoren, zwei hochauflösende Videokameras sowie WLAN an Bord und erfasst seine Umgebung mittels verschiedenster Sensoren. Neben Sprach-, Gesichts- und Objekterkennung kann der NAO-Roboter auch mehrsprachig kommunizieren. Die Programmierung ist in unterschiedlichen Umgebungen und Sprachen möglich.

Nach nur wenigen Einheiten können Kinder und Jugendliche bereits einen großen Teil des Roboterpotentials nutzen. Aber auch hier kann der Lehrende die Komplexität beliebig nach oben skalieren. Die Programmierung des Roboters ist Kindern ab zehn Jahren möglich.
Eine große Faszination macht das Arbeiten mit einem realen Roboter aus. In der grafischen Programmierumgebung Choregraphe, in der man die Verhaltensmuster zur Robotersteuerung in klassischer Flussdiagramm-Manier erstellt, steht allerdings auch ein virtueller Roboter bereit.

Aktuell ist der NAO um rund 7000 Euro bei offiziellen NAO-Distributoren erhältlich. Die Programmierumgebung Choregraphe kann man sich nach Registrierung bei SoftBank Robotics als 90-tägige, voll funktionsfähige Testversion herunterladen.

Fazit

Wie so oft im Leben führen auch bei der Vermittlung der Programmierung sowie der informatischen Konzepte viele Wege ans Ziel. Gleichgültig, für welchen Ansatz Sie sich letztendlich entscheiden, wenn Ihre Kinder beim Erlernen der Programmierung Freude empfinden, stehen die Chancen um ein Vielfaches besser, dass sich das Erlernte auch tatsächlich in ihren Köpfen verankert und sie aus dem anfänglichen Hobby eventuell einmal einen Beruf machen. In diesem Sinne wünschen wir: Viel Erfolg und Happy Coding!

nach Oben
Autoren

Bernhard Löwenstein

Bernhard Löwenstein ist Inhaber von Lion Enterprises und Gründer und Obmann des Instituts zur Förderung des IT-Nachwuchses. Sein gemeinnütziger Verein hat sich in den letzten Jahren mit mehr als 560 durchgeführten...
>> Weiterlesen

Elisabeth Weißenböck

Elisabeth Weißenböck ist geschäftsführende Gesellschafterin der Programmierschule acodemy, in der Kinder im Alter von sechs bis zwölf Jahren programmieren lernen können. Nebenbei ist sie IT-Trainerin für die Begabtenakademie NÖ...
>> Weiterlesen
Bücher des Autors:

botMessage_toctoc_comments_929