Programmieren Lernen Für (Vor-)Schulkinder

15.06.2015

Mich fragte gerade ein Entwickerkollege, ob ich eine Idee hätte, wie er seiner fünfjährigen Tochter Programmieren beibringen könne.

Man fragt sich natürlich sofort, ob Kinder in dem Alter eigentlich Programmieren lernen müssen. Einige populäre Initiativen der letzten Zeit suggerieren das, allen voran vielleicht Hour of Code, mit Videos mit Bill Gates und Mark Zuckerberg und der wirklich schön gemachten Website mit vielen Übungen.

Dabei ist die Idee, Kindern schon sehr früh programmieren beizubringen und dadurch ihre Neugier und ihren Spaß am Konstruieren zu fördern, wirklich nicht neu. Auf der Suche nach entsprechenden Quellen stößt man schnell auf den Konstruktivismus in der Lernpsychologie. Leider ist die deutsche Wikipedia-Seite zu diesem Thema erst mit abgeschlossenem Pädagogikstudium verständlich.

Seymour Papert, Erfinder von Logo

Die entsprechende englischsprachige Seite hat ein sympatisches Bild von Seymour Papert und ist wesentlich leichter verdaulich. Papert entwickelte Ende der 60er Jahre die Programmiersprache Logo für Grundschulkinder. Logos bekannteste Eigenschaft ist die Schildkrötengraphik. Es gibt viele Versionen von Logo. Die Wikipedia-Seite zur Programmiersprache listet einige auf. Auf dem iPad gibt es die App Move the Turtle. Diese ist sehr anschaulich gemacht, enthält ein schrittweises Tutorial und viele Beispiele. Meine Vorschultochter kam mit dem Tutorial schon gut zurecht.

Logo fürs iPad, auch schon für Nichtleser

"Müssen" bestimmt nicht. Wenn sie aber Interesse an strukturierten Abläufen zeigen oder vielleicht sogar mal nachfragen, was Papa oder Mama die ganze Zeit bei der Arbeit machen, gibt es sicher auch für kleine Kinder schon faszinierende Dinge aus der Welt der Informatik, die sie verstehen können.

Das Wappentier von Scratch

Aus der selben Schule wie Paperts Logo kommt der Klassiker an deutschen Grundschulen, die Programmierumgebung Scratch. Scratch ist eine visuelle Programmiersprache, bei der man durch Aneinanderhängen von Blöcken kleine Programme "schreiben" und damit Figuren auf der Bühne zum Leben erwecken kann. Schon lange gibt es zu Scratch auch eine sehr lebendige Online-Community zum Anschauen und Austauschen von Scratch-Programmen. Vor einiger Zeit ist auch die Programmierumgebung selbst ins Web gewandert und über einen Browser ohne Software-Installation nutzbar. Scratch ist komplett eingedeutscht und eignet sich schon sehr gut für Kinder, die gerade erst das Lesen und Schreiben lernen. Dabei gibt es mittlerweile viele erweiterte Versionen von Scratch und sogar ein Eingriff in die Welt des Physical Computing ist möglich. Letztes Jahr habe ich z.B. einen Adapter zum Steuern eines Blinkstick mit Scratch in Python geschrieben.

Das Sparkle ist der Kern des Aniomagic-Angebotes

Wo wir schon einmal bei Elektronik sind. Die wohl einfachste Methode, programmierbare Dinge mit Lämpchen zu basteln, sind die Module von Aniomagic. Deren programmierbare Lichtmuster lassen sich über eine webbasierte Oberfläche konfigurieren und in eigene Kreationen einbauen. Die ersten Produkte von Aniomagic entstanden in einer Zusammenarbeit mit Leah Buechley, der Erfinderin des Arduino Lilypads. Leah war einige Zeit Chefine der Highlowtech-Gruppe am MIT und ist immer noch in diesem Bereich aktiv.

Bleiben wir noch einen Moment am MIT. Auch die bekannten LEGO-Mindstorms-Baukästen haben ihre Wurzeln dort. Diese werden gerne in Workshops mit Kindern eingesetzt. Im Juli findet z.B. im Deutschen Museum in Bonn wieder einer der Biobots-Ferienworkshops für Kinder von 10-13 Jahren statt. Auch in diesem Workshop kommen die Mindstorms-Roboter zum Einsatz.

Leider habe ich mit meinen Jungs feststellen müssen, dass die Mindstorms-Roboter sehr komplex zu bauen und dann auch nicht ganz einfach zu programmieren sind. Da ist es dann schade, wenn der >200€ teure Kasten nach anfänglicher Begeisterung schnell Staub ansetzt. Ein wesentlich niederschwelliger Einstieg in die Lego-Robotik wieden die Edison-Roboter. Zum Kampfpreis von 44€ oder 79€ für zwei erhält man Lego-kompatible Roboter, die wie die großen Mindstorms-Brüder über eine visuelle Programmiersprache programmierbar sind. Edisons machen aber auch ohne Programmierung schon Spaß. Über einfache Barcodes kann man ihnen verschiedene Verhaltensweisen oder Melodien beibringen. Dazu lässt sich ein Edison an eine normale Fernsteuerung anlernen und dann damit steuern. Mit den Teilen aus einem kleinen Lego-Techik-Kasten für 12€ lassen sich dann verschiedene Modelle bauen. Die Geräte sind genial!

Genug Prosa. Hier noch ein paar Tipps im Schnelldurchlauf:

  • Mit Codea kann man am iPad Lua programmieren lernen. Der Erfinder von Redis hat mit Load81 einen OpenSource-Clone gebaut.
  • Mit MakeyMakeys lassen sich viele Programme steuern.
  • Im Herbst wird es wieder einen Physical Computing Workshop im Deutschen Museum in Bonn geben. Wir werden mit kleinen PICAXE-Microcontrollern ein Spiel basteln und programmieren.
  • Snap ist eine Weiterentwicklung von Scratch und erlaubt die Erweiterung der Sprache mit eigenen Blöcken. Dazu gibt es ein Seminar mit vielen Beispielprogrammen an der UC Berkeley.

Doch was ist jetzt eine gute Programmiersprache zum Anfangen. im Informatikunterricht meines Ältesten im Gymnasium wurde Java mit der Entwicklungsumgebung BlueJ verwandt. Bis vor ein paar Jahren fand ich persönlich Java nicht so toll als Anfängersprache, da sie sehr unproduktiv und wortreich ist und es nicht erlaubt, mit einer einzigen Technologie Web-Anwendungen zu bauen. Mit dem Aufkommen von Android oder der Option, auch in Mindcraft programmieren zu lernen, mag Java inzwischen aber wieder eine gute Wahl sein.

Einen besseren Einstieg scheint mir aber die Sprache Scala zu sein. Hierfür gibt es die recht junge Umgebung Kojo, die speziell für das Programmieren lernen entwickelt wurde.

Im Web-Umfeld ist dagegen eindeutig Javascript die Sprache der Wahl. Um den Einstieg hier zu vereinfachen, würde ich für die ersten Schritte eine integrierte Client-/Server-Umgebung empfehlen: Meteor. Spannend ist, dass es für Javascript inzwischen bereits auch Hardware gibt, die diese Sprache direkt unterstüzt. Damit lassen sich also auch eigene Projekte mit Geräuschen und blinkenden Lämpchen realisieren. Will man die Sprösslinge eher in Richtung Spieleentwicklung begeistern, bietet das Buch Kids programmieren 3D-Spiele mit JavaScript einen guten Einstieg.

Am Ende muss aber natürlich die erste Programmiersprache nicht die letzte sein. Egal über welchen Einstieg, wichtig ist am Anfang, schnell sichtbare Erfolge zu erzielen. Also: Viel Spass beim Programmieren lernen.

- Anzeige -


comments powered by Disqus