mini|250px|Jugendlicher beim Arbeiten mit der visuellen Programmiersprache Scratch für Kinder an einer E-Tafel Bildungsorientierte Programmiersprachen sind als Lerninstrumente für Programmieranfänger konzipiert. Zu ihnen gehören speziell die Programmiersprachen, mit denen sich bereits Kinder im Vorschul- und Schulalter spielerisch mit der Funktionsweise und den Prinzipien der Entwicklung von Software vertraut machen können,Lernen und Medien Open Roberta – a Web Based Approach Visually Program Real Educational Robots aber auch Programmiersprachen für fortgeschrittene Schüler und für die Erwachsenenbildung, die komplexere Aspekte berücksichtigen. Neben dem Einsatz in Bildungseinrichtungen wird die Verbreitung von vielen freien Organisationen vorangetrieben, die sich in Sammelbewegungen wie der deutschen Initiativen Jeder kann programmieren, Roberta – Lernen mit Robotern oder der amerikanischen Code.org darstellen.

Merkmale und Entwicklungsgeschichte Bildungsorientierte Programmiersprachen sind regelmäßig fest in eine vollständige integrierte Entwicklungsumgebung (IDE) eingebettet, die es dem Benutzer ermöglicht, Programmcode menügeleitet zu erstellen, sodass Programmierfehler theoretisch nicht gemacht werden können. In manchen IDEs wird die Schriftsprache komplett durch Icons ersetzt, sodass sie bereits von Kindern benutzt werden können, die noch nicht alphabetisiert sind (z. B. Baltie, Kodu, Scratch). Andere verwenden, um den Benutzern das Eingeben von Code zu ersparen, das Prinzip Programming by demonstration (Stagecast Creator). Einige der in diesem Artikel behandelten Minisprachen wurden aber auch als Propädeutika für „erwachsene“ Programmiersprachen wie Pascal oder Python geschaffen (z. B. Karol the Robot, Guido van Robot).

Auch im Bereich der Erwachsenenbildung kommen bildungsorientierte Programmiersprachen zum Einsatz (siehe z. B. Snap!). In mehreren Fällen gingen Programmiersprachen für den professionellen Einsatz auch aus ursprünglich als bildungsorientiert konzipierten „Anfänger-Programmiersprachen“ hervor (siehe z. B. BASIC und Pascal).

Die meisten der heute existierenden bildungsorientierten Programmiersprachen wurden in Forschungslaboren in den Vereinigten Staaten entwickelt. Im Unterricht amerikanischer Middle und Highschools sowie in außerschulischen Bildungsprogrammen wie z. B. der First Lego League werden solche Sprachen bereits umfänglich eingesetzt. Inzwischen wurden Programmiersprachen für Kinder auch in Indien (CiMPLE) oder Europa (Guido van Robot, RoboMind, Baltie, E-Slate) entwickelt. In deutschen Sprachversionen liegen u. a. AgentCubes, Karel the Robot, RoboMind, Scratch, BYOB und Baltin vor.

Für Kinder konzipierte Programmiersprachen Turtle-Grafik: Logo, KTurtle, LibreLogo und Python Turtle Als die älteste kindgerechte Programmiersprache gilt die von Seymour Papert 1967 auf der Grundlage von Lisp entwickelte Programmiersprache Logo, die trotz ihrer hohen Leistungsfähigkeit äußerst leicht erlernbar war, sich gegenüber anderen „Anfängerprogrammiersprachen“ wie BASIC aber nicht durchsetzen konnte und heute oft nur noch aufgrund der Turtle-Grafik bekannt ist, einer von 1969 an entwickelten Plotterfunktion, bei der eine virtuelle Schildkröte über den Bildschirm kriecht und dabei eine farbige Linie hinter sich herzieht. Papert war ein Vorkämpfer des pädagogischen Konstruktivismus, der davon ausgeht, dass der Lernende sein Wissen nicht absorbiert, sondern selbst aufbauen muss; Papert hoffte, dass Kinder durch Instrumente wie Logo nicht nur das Rechnen und Programmieren erlernen, sondern zu kompetent Handelnden in einer zunehmend von Technologie geprägten Welt heranwachsen würden. In den USA wird Logo als Lern-Programmiersprache für Kinder bis heute verwendet.

Als „KTurtle“ ist die Turtle-Grafik auch ein Bestandteil eines vom KDE Education Project entwickelten und 2008 veröffentlichten Softwarepakets.KDE Offizielle Website

Als LibreLogo ist die Programmiersprache in Libreoffice integriert und über eine Symbolleiste erreichbar.

Eine weitere Fassung ist die von Ram Rachum als Propädeutikum für die Programmiersprache Python konzipierte und 2009 herausgebrachte Minisprache PythonTurtle.PythonTurtle Offizielle Website Python selbst bringt mit dem Modul turtle eine eigene Bibliothek für Turtle-Grafik mit.

Im Internet sind gelegentlich auch Online-Versionen zu finden.

mini|Guido van Robot, Screenshot

Virtuelle Roboter Karel the Robot/Niki – der Roboter Die von Richard E. Pattis an der Stanford University entwickelte und 1981 herausgebrachte Minisprache Karel, die heute auch in einer deutschen Sprachversion vorliegt (Niki – der Roboter), bereitet auf das Erlernen der „erwachsenen“ Programmiersprache Pascal vor. Kinder im Vor- und frühen Grundschulalter können damit einen virtuellen Roboter durch ein rechtwinklig angelegtes Netz von Straßen und Querstraßen lenken.

Robot Karol Robot Karol ist eine Programmierumgebung für eine gleichnamige in einfachem Deutsch gehaltene Programmiersprache. Sie wurde entwickelt, um Schüler mit Hilfe der Programmierung von einfachen virtuellen Robotern an die Algorithmik heranzuführen.

Guido van Robot Ebenfalls bereits für sehr junge Kinder konzipiert ist Guido van Robot, eine nach Guido van Rossum benannte und 2009 herausgebrachte Minisprache, die das Erlernen der „erwachsenen“ Programmiersprache Python vorbereitet. Die Spielidee ist dieselbe wie bei Niki – der Roboter.

RoboMind Eine weitere Minisprache, mit der Kinder im Vor- und frühen Grundschulalter einen virtuellen Roboter programmieren können, ist das auch in einer deutschen Sprachversion erhältliche Programm RoboMind.RoboMind Offizielle Website

Kara Der Marienkäfer Kara soll einen Einstieg in die Grundideen der Programmierung vermitteln: In einer einfachen grafischen Umgebung muss Kara verschiedene Aufgaben lösen, z. B. Kleeblätter einsammeln.Kara – Programmieren mit endlichen Automaten Offizielle Website

Neben der Version mit grafischem Programmeditor existieren auch Versionen, die den Übergang zu realen Programmiersprachen bilden können, wie z. B. RubyKara, PythonKara und JavaKara. Alle Versionen sind Freeware und auf den meisten javafähigen Plattformen lauffähig. Auf der offiziellen Website des Projekts findet sich auch weiteres Begleitmaterial.

Hamster-Modell Analog zu Kara geht es beim Hamster-Modell darum, einen Hamster durch eine virtuelle Umgebung zu steuern und Körner sammeln zu lassen. Programme können hierbei in verschiedenen textuellen Programmiersprachen, wie Java (imperativ, objektorientiert, parallel), Ruby, Python, Scheme und Prolog sowie visuellen Programmiersprachen, wie endliche Automaten, Programmablaufpläne, Nassi-Shneiderman-Diagramme/Struktogramme und Scratch entwickelt werden.Java-Hamster-Modell Offizielle Website

Open Roberta Sim

mini|Open Roberta Sim, eine 2D Simulationsumgebung In der online verfügbaren Simulationsumgebung Open Roberta Sim (siehe auch Open Roberta) kann ein zweirädriges Differentialgetriebe, in einem zweidimensionalen Robotermodell programmiert werden. Das 2D-Modell ist zusätzlich zur Odometrie mit weiteren Sensoren ausgestattet: Ultraschallsensor Farbsensor Berührungssensor Open Roberta Sim wird mit der von Fraunhofer IAIS entwickelten, grafischen Programmiersprache NEPO programmiert. Im Gegensatz zu anderen virtuellen Umgebungen simuliert Open Roberta Sim das Verhalten (Signalverarbeitung) eines echten, physikalischen Roboters, verzichtet dabei allerdings auf eine sogenannte Physik-Engine.

Programmieren ohne Worte

Stagecast Creator

Eine Besonderheit der graphischen Lern-Programmiersprache Stagecast Creator besteht darin, dass sie auf der Technik des Programming by demonstration basierend auf dem Konzept der „Graphical Rewrite Rules“ entwickelt in der ersten Version von AgentSheets beruht. Anstatt Code zu schreiben, demonstriert der Benutzer das Verhalten, das der Computer ausführen soll. Dies geschieht beim Stagecast Creator, indem der Benutzer Icons auf dem Bildschirm bewegt. Auf diese Weise können bereits von Kindern im Vorschulalter Simulationen, Animationssequenzen und Spiele erzeugt werden. Das System, das unter Java läuft und im Forschungslabor von Apple entwickelt wurde, kam als Erstversion 1996 heraus und trug zunächst den Namen Cocoa.

Baltie

mini|Baltie 3, Screenshot

Die erste Version der objektorientierten Programmiersprache Baltie wurde 1996 von der tschechischen Firma SGP Systems entwickelt. Sie war die Fortentwicklung einer bereits 1993 entstandenen Sprache namens Balthazar und basierte auf C. Eine Besonderheit dieser Lern-Programmiersprache liegt darin, dass der Code nicht aus Text, sondern aus Icons zusammengesetzt wird. Die Spielidee besteht darin, dass ein virtueller kleiner Zauberer verschiedene Operationen ausführt und u. a. Grafiken auf den Bildschirm „zaubert“.Website von SGP Systems

Inzwischen liegt die in zahlreichen Sprachfassungen erhältliche Version 4 vor, die auf C# basiert, einen Compiler und Debugger enthält und in der Lage ist, .exe-Dateien zu erzeugen, die auch außerhalb der IDE lauffähig sind. Fortgeschrittene Lernende können in Baltie 4 auch mit Text anstatt mit Icons programmieren.

Seit 2003 finden mit Baltie internationale Ausscheidungswettbewerbe in verschiedenen Alterskategorien (ab 5 J.) statt.Einstiegsseite des Wettbewerbsservers „Baltie.net“ auf Englisch abgerufen am 9. Dezember 2017.

Kodu

Auch die IDE von Kodu, einer 2009 herausgebrachten Entwicklung von Microsoft Research, ist vollständig Icon-basiert. Kinder können damit Spiele entwickeln.Kodu Microsoft Research

E-Slate Die von einem griechischen Team in den 1990er Jahren entwickelte Bildungssoftware E-Slate ermöglicht es Kindern ohne Programmiervorkenntnisse, mit einer auf Logo basierenden Minisprache vorgefertigte Elemente zu vielfältigen Mikrowelten zusammenzusetzen. Die auf Java aufbauende Freeware ist als griechische und englische Sprachversion erhältlich.E-Slate Offizielle Website

Squeak Squeak ist eine bei Apple entwickelte und 1996 in erster Version veröffentlichte Implementierung der objektorientierten Programmiersprache Smalltalk. Die Software unterstützt u. a. Simulationen und wird in den USA von Kindern der mittleren Klassenstufen aufwärts verwendet, die bereits grundlegende Programmierkenntnisse haben.

Etoys mini|Beispiel für die beschriebene Autosimulation

Für programmierunerfahrene Kinder von 9 bis 12 Jahren konzipiert ist die objektorientierte Lern-Computersprache Etoys, die von Alan Kay bei Disney Imagineering Research entwickelt wurde und 1996 herauskam. Die Benutzer können damit 2- und 3-dimensionale Grafiken, Bilder, Text, Präsentationen, Webseiten, Videos, Ton und Musik programmieren und ihre Arbeiten der Etoy-Community im Internet vorstellen. Das mehrsprachige System basiert auf Squeak und hatte starken Einfluss u. a. auf die Entwicklung von Scratch.Etoys Offizielle Website

Open Roberta

mini|Die Online-Programmierumgebung Open Roberta Lab

Open Roberta ist ein von Fraunhofer IAIS initiiertes Projekt, das den Einstieg in die Programmierung ermöglicht. Open Roberta ist von Scratch inspiriert und basiert auf der quelloffenen Bibliothek blockly. Im Rahmen von Open Roberta hat das Fraunhofer IAIS eine Online-Programmierumgebung – Open Roberta Lab – und eine eigene (Meta-)Programmiersprache namens NEPO entwickelt. Open Roberta nutzt das Konzept der Initiative Roberta – Lernen mit Robotern, in dessen Kern die Konstruktion und Programmierung von Robotern steht. Open Roberta wird unter der Apache-Lizenz 2.0 als open-source Projekt entwickelt und ist somit komplett kostenfrei nutzbar. Durch die online-basierte Programmierumgebung kann Open Roberta plattformunabhängig mit gängigen Webbrowsern genutzt werden. Open Roberta wird von einer open-source community unter Leitung des Fraunhofer IAIS kontinuierlich weiterentwickelt.