Programmiersprachen für Kinder

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Jugendlicher beim Arbeiten mit der visuellen Programmiersprache Scratch für Kinder an einer eTafel.

Programmiersprachen für Kinder sind als Lerninstrumente konzipiert, mit denen Kinder im Vorschul- und Schulalter sich spielerisch mit der Funktionsweise und den Prinzipien der Entwicklung von Computersoftware vertraut machen können.

Merkmale und Entwicklungsgeschichte[Bearbeiten]

Programmiersprachen für Kinder 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 von Robot).

Die meisten der heute existierenden Programmiersprachen für Kinder wurden in Forschungslaboren in den Vereinigten Staaten entwickelt. Im Unterricht amerikanischer Middle und High Schools sowie in außerschulischen Bildungsprogrammen wie z. B. der First Lego League werden solche Sprachen bereits umfänglich eingesetzt. Der Übergang zu professionellen Programmiersprachen erfolgt in den USA an der High School oder im College.

Gelegentlich 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. Karel the Robot, RoboMind, Scratch, BYOB und Baltie vor.

Für Kinder konzipierte Programmiersprachen[Bearbeiten]

Turtle-Grafik: Logo, KTurtle und Python Turtle[Bearbeiten]

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 dem 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.[1]

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

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

Im Internet sind gelegentlich auch Online-Versionen zu finden.[4]

Guido van Robot, Screenshot.

Virtuelle Roboter[Bearbeiten]

Karel the Robot/Niki – der Roboter[Bearbeiten]

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.

Guido van Robot[Bearbeiten]

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.[5]

RoboMind[Bearbeiten]

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.[6]

Kara[Bearbeiten]

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.[7]

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 Webseite des Projekts findet sich auch weiteres Begleitmaterial.

Hamster-Modell[Bearbeiten]

Analog zu Kara geht es beim Hamster-Modell darum, einen Hamster durch eine virtuelle Umgebung zu steuern und Körnern 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.[8]

Programmieren ohne Worte[Bearbeiten]

Stagecast Creator[Bearbeiten]

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 diesen 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.[9]

Baltie[Bearbeiten]

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“.[10]

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.[11]

Kodu[Bearbeiten]

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

E-Slate[Bearbeiten]

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.[13]

Squeak[Bearbeiten]

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[Bearbeiten]

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.[14]

Scratch[Bearbeiten]

Scratch Entwicklungsumgebung Beispiel

Das 2007 veröffentliche Scratch ist eine unter der Leitung von Mitchel Resnick am MIT Media Lab entwickelte interpretierte, objektorientiert, dynamische, ereignisorientiert und vor allem visuelle Programmiersprache incl. ihrer Entwicklungsumgebung und der eng verknüpften Online-Community-Plattform.[15] Scratch soll Neueinsteiger − besonders Kinder und Jugendliche − motivieren, die Grundkonzepten der Computerprogrammierung möglichst spielerisch und explorativ zu erlernen.[16] Kostenlos und werbefrei können unter dem Motto „imagine, program, share“, eigene Spiele und Multimediaanwendungen erstellt und in einer internationalen Online-Community mit dem Scratch-Player gespielt, diskutiert und ausgetauscht werden.

Die intuitive Bedienung und leichte Übersetzbarkeit, sowohl der Entwicklungsumgebung incl. ihrer Programmierbefehls-Bausteine als auch der Scratch-Website,[17] verbunden mit einer erfolgreichen Kommunikation und Medienarbeit des MIT-Scratch-Teams,[18] förderten eine schnelle globale Ausbreitung der Scratch-Idee: Von den Anfängen im März 2007 bis Ende 2012 meldeten sich 1.140.000 internationale Nutzer - mit einem Altersschwerpunkt zwischen 8 und 16 Jahren an, von denen 400.000 in dieser Zeit über 3.000.000 selbstentwickelte Scratch-Projekte ins Netz stellten und in 13 englischsprachigen und 17 internationalen Scratch-Foren 1.380.000 Posts schrieben.[19]

Die ersten Implementierungen der Scratch-Entwicklungsumgebung basierten auf Squeak (1.0 in 2007[20] bis 1.4 in 2009[21]), der Scratch-Web-Player zunächst auf Java,[22] seit 2011 auch wahlweise auf Flash.[23] Scratch 2.0 erschien im Mai 2013 und basiert komplett auf Flash.[24]

Seit 2014 gibt es mit ScratchJr auch eine Scratch-Version für das iPad.[25]

Snap! (BYOB)[Bearbeiten]

BYOB Begriffe als Bilder

BYOB (engl. Abk: "Build Your Own Blocks" deutsch: "Bau deine eigenen Blöcke") ist eine von Scratch inspirierte erziehungsorientierte visuelle Programmiersprache inklusive ihrer Entwicklungsumgebung für fortgeschrittene Schüler und für die Erwachsenenbildung. Sie erweitert die vom Lifelong Kindergarten Group am MIT Media Lab entwickelten Sprache Scratch um komplexere und abstraktere Konzepte der Programmierung, die in Scratch zugunsten der Kindertauglichkeit bisher fehlten. BYOB ist Open-Source und kommt im Sekundarstufen- || -Unterricht an deutschen Schulen und an amerikanischen und deutschen Universitäten zum Einsatz.

Trotz der spielerischen Anmutung, die es sich aus seiner Scratch-Herkunft bewahrt hat, werden umfassende Konzepte geboten, die über die Möglichkeiten vieler traditioneller Programmier-Lern-Sprachen hinausgehen. Dies sind Optionen wie das Erstellen von Blöcken, First-Class Funktionen oder Prozeduren (ihre mathematischen Grundlagen werden auch als „Lambda-Kalkül“ bezeichnet), First-Class-Objekt-Listen (einschließlich Listen von Listen) und First Class Sprites. Mit Prototypenbasierte Programmierung wird in BYOB Objektorientierung ohne abstraktes Klassenkonzept ermöglicht: Neue Objekte entstehen als Kopie vorhandener Objekte ("cloning").[26]

Die ersten BYOB-Vorstufen wurden unter dem Namen Chirp als Modifikation von Scratch 1.2.1 ab 2008 publiziert.[27] BYOB 4.0 befindet sich im Prerelease-Stadium (Stand Januar 2013) und wird den neuen Namen Snap! erhalten. BYOB und Snap! wurden von dem deutschen Juristen und Softwareentwickler Jens Mönig zusammen mit dem Berkeley-Dozenten Brian Harvey[28] entwickelt, der seine Ideen zum Sprachdesign und die Dokumentation beisteuerte.

Alice und Mama[Bearbeiten]

Alice, Screenshot.

Mit der an der University of Virginia und der Carnegie Mellon University entwickelten und 1999 veröffentlichten objektorientierten Programmiersprache Alice können Kinder der mittleren Klassenstufen eine virtuelle Welt mit animierten 3D-Objekten und -Personen (u. a. Charaktere aus Alice im Wunderland) bevölkern. Von der IDE, die als Freeware angeboten wird und die eher zum Erzählen von Geschichten als zu formalisierten technischen Spielereien anregt, sollen insbesondere Mädchen sich angesprochen fühlen.[29]

Die objektorientierte Lern-Programmiersprache Mama wurde von Eytam Computer Science entwickelt und 2010 herausgebracht. Die IDE der kommerziellen Software basiert auf der von Alice und unterstützt ebenso wie diese die Entwicklung animierter 3D-Objekte und -Personen.[30]

AgentSheets & AgentCubes[Bearbeiten]

AgentSheets[31] ist eine hoch leistungsfähige, objektorientierte Sprache zur Programmierung von Simulationen und Videospielen, die sich aufgrund ihrer sehr einfachen Erlernbarkeit auch als Lernprogrammiersprache für Schüler von den mittleren Klassenstufen an durchgesetzt hat. Die von Lisp, Logo und Smalltalk beeinflusste Sprache wurde von Alexander Repenning entwickelt und 1991 in erster Version veröffentlicht. Neben der englischen liegen inzwischen auch einige andere Sprachfassungen vor.[32] AgentSheets hat als erste Programmierumgebung das Konzept von "Drag and Drop"-Block-Programmierung eingeführt.

AgentCubes ist eine 3D-Programmierumgebung.[33] Dank dem integrierten "Inflatable Ions"-Werkzeug können Benutzer selbst beliebige 3D-Objekte kreieren indem sie zuerst 2D-Bilder zeichnen und diese dann in 3D-Objekte durch Aufblasen verwandeln.

AgentCubes online[34] ist die HTML5/WebGL basierte Online-Version von AgentCubes, das Benutzern als erste Programmierumgebung erlaubt 3D-Welten in einem Webbrowser zu bauen und zu programmieren.

AgentSheets, AgentCubes und AgentCubes online werden benutzt als Werkzeuge des Scalable Game Design Projektes.[35] Scalable Game Design ist die größte U.S.-Informatik-Bildungs-Studie mit über 10.000 Mittelschulstudenten aus der ganzen USA. Untersucht wird, ob Schüler sogenannte "Computational Thinking"-Konzepte durch das Kreieren von Spielen lernen können und dann später diese Konzepte zum bauen von Simulationen anwenden können.

Robotik und eingebettete Systeme[Bearbeiten]

ROBOPRO[Bearbeiten]

Fischertechniks grafische Programmiersprache ROBOPRO ist eigens für das Robo Interface entwickelt worden und bietet Möglichkeiten von Variablen über Unterprogramme (Methoden) bis zu vereinfachter Bitprogrammierung. Die Programmierumgebung unterstützt Debugging, Simulation, Download zum Interface, Updates und Testen.

Lego Mindstorms[Bearbeiten]

Ein Lego Mindstorms NXT, hier mit einem Berührungssensor und Greifwerkzeug ausgestattet.

Lego Mindstorms ist eine Produktserie des Spielwarenherstellers Lego, die neben Elektromotoren, Sensoren und Lego-Technik-Bausteinen eine programmierbare Einheit (RCS/NXT) umfasst; mit dem System können u. a. Roboter konstruiert und programmiert werden. Im Lieferumfang enthalten ist die auf LabVIEW basierende und mit einer grafischen Oberfläche ausgestattete Programmiersprache NXT-G; entwickelt wurde diese Software von der amerikanischen Firma National Instruments. Für die Programmierung des NXT steht inzwischen jedoch eine ganze Bandbreite weiterer grafischer und textbasierter Programmiersprachen zur Verfügung, die ein flexibleres Programmieren als mit NXT-G erlauben und gelegentlich sogar einen Debugger haben (z. B. Robotc).[36]

Tuxminds[Bearbeiten]

Eine grafische (symbolische) Programmierumgebung für diverse Robotermodelle (Lego Mindstorms NXT, Lego RcX, ASURO und deren Abkömmlinge) für Linux. Innerhalb der durch die verwendeten Robotermodelle gegebenen Beschränkungen sind die Programme portabel d. h. ein ursprünglich für ein NXT-Roboter erstelltes Programm kann recht einfach auf einem Roboter des Types "ASURO" ausgeführt werden. Tuxminds ist um beliebige Robotermodelle erweiterbar für die allerdings ein C-Compiler für Linux verfügbar sein muss. Tuxminds ist "Open Source" und steht damit jedermann kostenlos zur Verfügung. Ursprünglich wurde Tuxminds für den Einsatz an Schulen entwickelt.

CiMPLE[Bearbeiten]

Ebenfalls für Kinder mit Interesse an Robotik und eingebetteten Systemen konzipiert ist CiMPLE, eine auf C basierende visuelle Programmiersprache, die von ThinkLABS am Indian Institute of Technology Bombay entwickelt wurde und mit der das iPitara-Roboter-Bausystem gesteuert werden kann.[37]

Phrogram[Bearbeiten]

Phrogram ist eine kommerzielle Lern-Programmiersprache, die von dem bei Seattle niedergelassenen Unternehmen Phrogsoft entwickelt und 2006 in erster Version herausgebracht wurde. Phrogram unterstützt Grafik und Ton und wird in den USA von Kindern der mittleren Klassenstufen aufwärts zum Entwickeln von Spielen und anderen unterhaltsamen Lernanwendungen benutzt. Die IDE hat Ähnlichkeit mit Microsoft Visual Studio und Eclipse und bereitet Anfänger, die bis dahin keine oder nur wenig Programmiererfahrung haben, auf professionelle Entwicklungsumgebungen vor.[38]

Lern-Programmiersprachen für Teenager[Bearbeiten]

KidsRuby und Hackety Hack[Bearbeiten]

Mit der von Steve Klabnik entwickelten und 2010 veröffentlichten Ruby-basierten IDE Hackety Hack (Freeware) können Teenager erste Programmiererfahrungen sammeln.[39]

KidsRuby[40] ist von Hackety Hack beeinflusst und benutzt ebenfalls Ruby als Programmiersprache. Die meisten Hackety Hack Programme laufen auch in KidsRuby. KidsRuby enthält wie Hackety Hack eine Turtle-Grafik, mit der man farbige Bilder zeichnen kann. Bei KidsRuby kann man zusätzlich eine Bibliothek für die Entwicklung von 2D Spielen einbinden.

GameKit[Bearbeiten]

GameKit ist eine anspruchsvolle objektorientierte Lern-Programmiersprache mit IDE (Freeware), die von Morgan McGuire an der Brown University entwickelt wurde. Ihre Syntax ähnelt der von Java und die Sprache kann zur Entwicklung einer großen Bandbreite von Anwendungen genutzt werden; besonders geeignet ist sie für die Entwicklung von Spielen.[41]

ELAN[Bearbeiten]

In Deutschland wurde 1976 die Lehr-Programmiersprache ELAN (Educational LANguage) entwickelt und bis in die 1990er-Jahre an Schulen gelehrt.

Früher Einstieg in professionelle Programmiersprachen[Bearbeiten]

Auf BASIC basierende Ansätze[Bearbeiten]

Die Programmiersprache BASIC wurde als leicht zu erlernende Programmiersprache konzipiert. Sie und ihre Varianten wurden – außer der Lernsoftware Learn to Program BASIC[42] – jedoch nicht speziell für Kinder entwickelt, werden aber an amerikanischen Schulen von den mittleren Klassenstufen an im Unterricht eingesetzt. Der Lernweg führt über einfache, auch für Kinder geeignete Varianten wie Small Basic, Basic-256 oder SiMPLE hin zu professionellen Varianten wie Visual Basic oder Gambas.[43]

Pascal[Bearbeiten]

Pascal war zunächst als Lehrsprache für die strukturierte Programmierung konzipiert. Bis in die späten 1980er Jahre war Pascal die an amerikanischen und europäischen Universitäten am umfänglichsten gelehrte Anfängersprache. In den USA wurden Pascal-Kurse für Kinder im Middle School- und High School-Alter angeboten.[44]. In Deutschland wurde Pascal in den 1980er Jahren an Gymnasien gelehrt.

Auf Lisp basierende Ansätze[Bearbeiten]

1975 erschien die auf Lisp basierende Lern-Programmiersprache Scheme, die aufgrund ihrer sehr einfachen Syntax ebenfalls für Kinder im Middle School- und High School-Alter eingesetzt wird.[45] Über die Zwischenstufe NewLISP kann anschließend die professionelle Programmiersprache Common Lisp erlernt werden.

Auf Python und Ruby basierende Ansätze[Bearbeiten]

Aufgrund ihrer einfachen und gut lesbaren Syntax eignen sich auch die höheren Programmiersprachen Python und Ruby als Lernsprache. Beide Sprachen sind multiparadigmatisch und ermöglichen den Einstieg z. B. sowohl in die objektorientierte als auch in die strukturierte Programmierung. Beide Sprachen bieten darüber hinaus mit einem mitgelieferten interaktiven Interpreter eine sehr gute Möglichkeit zum Ausprobieren und Testen. In den USA werden Python- bzw. Ruby-Kurse für Kinder vom Middle-School-Alter aufwärts angeboten.[46]

Auf Java basierende Ansätze[Bearbeiten]

Greenfoot und BlueJ, zwei Lern-IDEs für die Programmiersprache Java, werden in den USA von Schülern der High School und auf College-Niveau verwendet. Für die dritte Lernstufe wird die NetBeans BlueJ Edition und für die vierte die bereits professionelle Netbeans-IDE empfohlen.[47]

Eine ebenfalls elegante, stark vereinfachte Kapselung für die Programmiersprache Java stellt Processing dar. Processing ist vor allem für Gestalter, Künstler und Programmieranfänger geeignet, lässt sich aber aufgrund der einfachen Syntax auch für Teenager einsetzen. Ein einfacher Würfel (box) lässt sich bereits mit wenigen Zeilen realisieren:

size(500, 500, P3D);
lights();
fill(255, 2, 2);
translate(250, 250);
rotateY(2);     // in radians, d.h. Kreis von 0 bis 2 PI
rotateX(0.5);
box (130);

Es ist leicht möglich, diesen Würfel nun als Animation um die Y-Achse rotieren zu lassen. Die Prozedur "setup()" bereitet dabei einmalig die gedachte Leinwand vor, die Prozedur "draw()" löscht diese und zeichnet den Würfel. Die Prozedur "draw()" wird automatisch immer wieder aufgerufen:

float Winkel = 0;  // in radians, d.h. Kreis von 0 bis 2 PI
 
void setup() {
  size(500, 500, P3D);
  background(111);
}
 
void draw() {
  background(111);
  lights();
  fill(255, 2, 2);
  translate(250, 250);
  rotateY(Winkel);     // um die Senkrechte rotieren
  rotateX(.5);         // um die Waagerechte rotieren 
  box (130);
  Winkel = Winkel + 0.02;
}

Auf C# basierende Ansätze[Bearbeiten]

Für den frühen Einstieg in die Programmiersprache C# eignet sich das Programmierspiel AntMe!, bei dem es darum geht, einem Ameisenvolk eine künstliche Intelligenz zu programmieren. Die Befehle sind überwiegend auf deutsch.

Computerspiele mit Programmieroptionen[Bearbeiten]

Gelegentlich bestehen zwischen Computerspielen und Programmieren fließende Übergänge. ComputerCraft zum Beispiel, ein Mod des Open-World-Spiels Minecraft, erlaubt es dem Spieler, virtuelle Computer und Roboter zu konstruieren, die in der Skriptsprache Lua programmiert werden können.[48] Das Mod RedPower 2 bietet Bauelemente für 6502-ähnliche virtuelle Computer, die in den Sprachen 6502 Assembly oder Forth programmiert werden können.[49] Kinder, die sich in der Welt von Minecraft auskennen, lernen das Programmieren hier spielerisch.

Alternativen: Programmieren Lernen ohne Computer[Bearbeiten]

Ein alternativer Zugang sind Programmier-Rollenspiele, wobei z. B. Hilfspersonen die Aufgabe von Robotern oder Computerbauteilen übernehmen und ein (von Kindern geschriebenes) Programm in Papierform ausführen.[50]

Literatur[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Programming language Logo; Learning with Logo
  2. KDE Offizielle Webseite
  3. PythonTurtle Offizielle Webseite
  4. Logo the Turtle
  5. The Guido van Robot Programming Language
  6. RoboMind Offizielle Webseite
  7. Kara – Programmieren mit endlichen Automaten Offizielle Webseite
  8. Java-Hamster-Modell Offizielle Webseite
  9. Stagecast
  10. Webseite von SGP Systems
  11. Workshop: SGP Baltie 4 C# (PDF; 70 kB)
  12. Kodu Microsoft Research
  13. E-Slate Offizielle Webseite
  14. Etoys Offizielle Webseite
  15. About Scratch der Offiziellen Website, abgerufen 17. Januar 2013
  16. Scratch:Phänomen Scratch im DACH-Scratch-Wiki, abgerufen 17. Januar 2013
  17. Übersetzung im DACH-Scratch-Wiki
  18. MIT-Scratch-Team im DACH-Scratch-Wiki, abgerufen 17. Januar 2013
  19. Scratch Statistics der Original Website (englisch), abgerufen am 9. Juni 2012.
  20. Scratch 1.0 im DACH-Scratch-Wiki, abgerufen 17. Januar 2013
  21. Scratch 1.4 im DACH-Scratch-Wiki, abgerufen 17. Januar 2013
  22. Java Player im Scratch-Wiki(englisch), abgerufen 17. Januar 2013
  23. Flash Player im Scratch-Wiki (englisch), abgerufen 17. Januar 2013
  24. Scratch 2.0 im DACH-Scratch-Wiki, abgerufen 17. Januar 2013
  25. ScratchJr Offizielle Website
  26. Build Your Own Blocks (Scratch Modifikation) im DACH-Scratch-Wiki, abgerufen am 27. Januar 2013; OOP mit BYOB, Prof. Dr. Eckart Modrow, LOG IN Heft Nr. 171 (2011) (PDF; 575 kB), abgerufen am 27. Januar 2013; Visuelle Programmierung - oder: Was lernt man aus Syntaxfehlern?, Prof. Dr. Eckart Modrow, 9. Januar 2011 (PDF; 83 kB), abgerufen am 27. Januar 2013; Wozu JAVA?, Prof. Dr. Eckart Modrow,Jens Mönig, Dr. Kerstin Strecker, LOG IN Heft Nr. 168 (2011) (PDF; 557 kB), abgerufen am 27. Januar 2013; Spieleprogrammierung mit Scratch und BYOB, Seminar Didaktik der Informatik 3. Semester, Michael Heinelt, Wintersemester 2011/12 (PDF; 3,2 MB), abgerufen am 27. Januar 2013
  27. Homepage von Chirp, des Vorgängers von BYOB und Snap!, abgerufen 28. Januar 2013
  28. Brian Harvey in der englischsprachigen Wikipedia
  29. Alice Offizielle Webseite; zur Fortentwicklung des Programms siehe auch Storytelling Alice
  30. Eytam Computer Science Offizielle Webseite
  31. en:AgentSheets - (englische Wikipedia-Seite)
  32. AgentSheets - Offizielle Website
  33. AgentCubes - Offizielle Website
  34. Hour of Code Website
  35. Scalable Game Design - Offizielle Website
  36. NXT Programming Software; in den Teilnahmerichtlinien der First Lego League ist der Gebrauch anderer Programmiersprachen als NXT-G untersagt.
  37. CiMPLE Offizielle Webseite; Visual Programming Application for children to program Robotic Toys (PDF; 1,6 MB)
  38. Phrogram Offizielle Webseite
  39. Hackety Hack Offizielle Webseite
  40. KidsRuby Offizielle Webseite
  41. GameKit Offizielle Webseite
  42. Learn to Program BASIC, Jr. Edition
  43. Microsoft Small Basic, Visual Basic, Visual C#, and Java Programming Tutorials for Middle School, High School and Homeschool Students
  44. Bilingual Technology Education for Middle School Students in Chicago’s Innercity (PDF; 24 kB)
  45. Environments for Teaching Kids to Program; Why Scheme for Introductory Programming?
  46. Computer Programming for Everybody (Python); Minimum Age to Learn Python; Workshop to Teach Middle School-Age Girls (Ruby und Python); Fifth Grade Shoes (Ruby)
  47. NetBeans IDE BlueJ Plugin
  48. ComputerCraft
  49. RedPower 2 Mod 1.4.7 for Minecraft 1.4.7
  50. Dr. Techniko: How To Train Your Robot: how I teach kids to program without computers. Offbeat Families, 13. Dezember 2012, abgerufen am 13. April 2013 (englisch, Programmierung als Rollenspiel).