Programmieren lernen für Kinder – didaktische Grundlagen
Aus meinem alten Blog (2012–2017). Der Text steht so, wie ich ihn damals geschrieben habe.
Auf Twitter habe ich schon das ein oder andere Mal nach Ressourcen aller Art gefragt, die Kindern helfen können, programmieren zu lernen. Diese Frage möchte ich gerne mit diesem Beitrag noch einmal wiederholen, sowie die bisherigen Antworten dazu zusammenfassen. Ich wurde auch nach etwas mehr Kontext gefragt, um die Frage vielleicht besser beantworten zu können. Auch darauf gibt es jetzt eine Antwort.
Ich freue mich daher über Kommentare, Anregungen, Kritik und natürlich Vorschläge zu weiterführenden Informationen aller Art. Im Moment befinde ich mich nämlich noch in der Phase des Sammelns, ohne eine konkrete Richtung so wirklich zu bevorzugen.
Was ich suche
Wie schon kurz erwähnt, suche ich nach Ressourcen beziehungsweise Informationen aller Art, wie Kindern geholfen werden kann, in die Welt der Softwareentwicklung beziehungsweise Programmierung einzutauchen. Ich bin dabei auf keinerlei Sprachen fixiert, auch wenn ich schon jetzt etwas Richtung Python(öffnet in neuem Tab) tendiere. Aber mehr als eine leichte Tendenz ist das auf keinen Fall. Ebenfalls bin ich nicht auf die Art und Weise fixiert, wie Kindern das Programmieren näher gebracht wird. Ob mit einer eigenen Sprache, über Bücher, Videos, Animationen, Webseiten oder eigene Entwicklungsumgebungen, spielt für mich aktuell keine Rolle.
Der Grund ist, dass ich zunächst didaktische Wege suche, wie andere versucht haben, das Thema Programmierung und Programmiersprachen Kindern näher zu bringen. Wir reden hier im Übrigen von der Altersklasse ab 9 bis 10 Jahren. Ganz genau festmachen lässt sich das nicht. In meinem Kursen, insbesondere zum LEGO Mindstorms EV3, habe ich schon so einige Kinder unterhalb der von LEGO empfohlenen Altersklasse von 10 Jahren kennen gelernt, die sehr gut waren. Bisher war der jüngste acht Jahre alt und der älteste 75, wenn ich das richtig in Erinnerung habe. Am Alter lässt sich das also sehr schlecht bis gar nicht festmachen.
Folgende Vorschläge habe ich bereits bekommen, für die ich mich an dieser Stelle schon mal recht herzliche bedanke. Die Liste ist vom Stand 20. September 2015 und wird laufend aktualisiert.
- smartBASIC(öffnet in neuem Tab)
- smallBASIC(öffnet in neuem Tab)
- Hour of Code(öffnet in neuem Tab)
- LOGO(öffnet in neuem Tab)
- Code.org(öffnet in neuem Tab)
- studio.code.org(öffnet in neuem Tab)
- Scratch(öffnet in neuem Tab)
- KTurtle(öffnet in neuem Tab)
- Trinket(öffnet in neuem Tab)
- CodeCombat(öffnet in neuem Tab)
- AntMe!(öffnet in neuem Tab)
- Hopscotch(öffnet in neuem Tab)
- Tynker(öffnet in neuem Tab)
- Pluralsight(öffnet in neuem Tab)
- Kodable(öffnet in neuem Tab)
- Kodu(öffnet in neuem Tab)
- Media4Kids (scheint nicht mehr online zu sein)
- „How to Make Coding Fun“(öffnet in neuem Tab)
Wer noch eine Idee oder einen Tipp hat, meldet(öffnet in neuem Tab) sich bitte bei mir. Über welchen Weg(öffnet in neuem Tab) auch immer. Wie gesagt, bin ich an allen Ressourcen interessiert. Ihr kennt eine gute Seite, ein gutes Buch, eine gute Sprache oder eine gute Entwicklungsumgebung? Melden bitte. 🙂 Insbesondere, wenn ihr damit schon Erfahrungen habt. Und noch besser, wenn ihr diese Erfahrungen schon zusammen mit Kindern gemacht habt. 😉
Noch etwas zum Warum
Viele haben mich gefragt, warum ich überhaupt an den Informationen interessiert bin. An meinen vielen Kursen zum Thema LEGO Mindstorms EV3 oder AntMe!(öffnet in neuem Tab) liegt das nicht. Oder nicht hauptsächlich, denn die Idee kam mir schon dadurch.
Ich möchte gerne, im Rahmen eines Forschungs- und Entwicklungsprojektes und meiner Masterthesis, eine eigene Programmiersprache für den LEGO Mindstorms EV3 entwickeln. Zielgruppe sind Kinder ab 9 bis 10 Jahren. Zielplattform ist die LEGO Mindstorms EV3 Firmware. Keine Zwischensprache oder ähnliches, da ich so vermeiden möchte, dass am EV3 oder der Firmware Veränderungen vorgenommen werden müssen. Auch wenn diese deutlich weniger schlimm und umfangreich sind, als das noch beim LEGO Mindstorms Vorläufer NXT der Fall war, so stellt das für viele Kinder eine ziemliche Hürde dar. Falls ihnen nicht geholfen werden kann. Und auch das möchte ich vermeiden. Die Zielgruppe soll meine Sprache ohne Umwege einsetzen können.
Diese Sprache muss natürlich auch auf die Zielgruppe abgestimmt sein. Die Sprachen, die es aktuell schon gibt, erlauben viel zu viele Dinge, die überhaupt nicht gebraucht werden. Dadurch lassen sich auch beliebig viele Fehler machen, die überhaupt nicht vorkommen würden, wenn die Sprache etwas enger auf die Zielplattform und die Zielgruppe des LEGO Mindstorms EV3 zugeschnitten wäre. Des Weiteren möchte ich alle Funktionen des EV3, wie Aktoren und Sensoren, direkt in die Sprache integrieren. Es sollen keine zusätzlichen Bibliotheken oder ähnliches notwendig sein. Auch beim Thema Entwicklungsumgebung soll die Zielgruppe Unterstützung finden. Keine unnötig komplexen Dinge die eh nur ablenken.
Aktueller Stand
Im Moment befinde ich mich noch am Anfang. Literaturrecherche sozusagen. Ich bin mir aktuell noch nicht sicher, in welche Richtung meine Sprache gehen soll. Sie muss so einfach wie möglich und trotzdem, aus Sicht des Mindstorms EV3, so funktional wie möglich sein. Wenn ich die Zeit finde, halte ich euch gerne durch weitere Blogposts auf dem Laufenden.
Daher freue ich mich über jeden Tipp. Welcher Art auch immer.