Programmiersprachen für Kinder

Programmiersprachen für Kinder

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 Computer-Software vertraut machen können.

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). 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. Karel 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 und Baltie vor.

Inhaltsverzeichnis

Für Kinder konzipierte Programmiersprachen

Turtle-Grafik: Logo, KTurtle 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 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]

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

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.

Guido van Robot

Ebenfalls bereits für sehr junge Kinder konzipiert ist Guido van Robot, ein von Guido van Rossum entwickelte und 2009 herausgebrachte Minisprache, die das Erlernen der „erwachsenen“ Programmiersprache Python vorbereitet. Die Spielidee ist dieselbe wie bei Niki ‒ der Roboter.[5]

RoboMind

Ein weitere Minisprache, mit der Kinder im Vor- und frühen Grundschulalter einen virtuellen Roboter programmieren können, ist das als Freeware und auch in einer deutschen Sprachversion erhältliche Programm RoboMind.[6]

Programmieren ohne Worte

Stagecast Creator

Eine Besonderheit der graphischen Lern-Programmiersprache Stagecast Creator besteht darin, dass sie auf der Technik des Programming by demonstration 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.[7]

Baltie

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

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

Kodu

Auch die IDE von Kodu, einer 2009 herausgebrachten Entwicklung von Microsoft Research, ist vollständig Icon-basiert. Kinder können damit Spiele entwickeln. Die Software ist so konzipiert, dass besonders Mädchen sich angesprochen fühlen.[10]

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

Squeak, Etoys und Scratch

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.

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

Mit der von Mitchel Resnick am MIT Media Lab entwickelten und 2007 herausgebrachten Programmiersprache Scratch kombinieren Kinder interaktive Objekte, Grafiken und Töne; die dabei entstehenden Kunstwerke und Spiele können der Scratch-Community im Internet zugänglich gemacht werden.

Alice und Mama

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 das Erzählen von Geschichten als formalisierte technische Spielereien ermutigt, sollen insbesondere Mädchen sich angesprochen fühlen.[13]

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

AgentSheets

AgentSheets ist eine hoch leistungsfähige objektorientierte Sprache zur Programmierung von Simulationen und Videospielen, die sich aufgrund ihrer sehr einfachen Erlernbarkeit auch als Lern-Programmiersprache 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.[15]

Robotik und eingebettete Systeme

Lego Mindstorms

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.

CiMPLE

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

Phrogram

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

Lern-Programmiersprachen für Teenager

Hackety Hack

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

GameKit

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

ELAN

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

Die Programmiersprache BASIC und ihre Varianten wurden ‒ außer der Lernsoftware Learn to Program BASIC[20] ‒ nicht speziell für Kinder entwickelt, werden an amerikanischen Schulen aber 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.[21]

Ebenso wie BASIC war auch Pascal zunächst als Lernsprache konzipiert. Bis in die späten 1980er Jahre war Pascal die an amerikanischen und europäischen Universitäten die am umfänglichsten gelehrte Anfängersprache. In den USA wurden Pascal-Kurse auch für Kinder im Middle School- und High School-Alter angeboten.[22]

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.[23] Über die Zwischenstufe NewLISP kann anschließend die professionelle Programmiersprache Common Lisp erlernt werden.

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

Aufgrund ihrer sehr einfachen Syntax eignet sich auch die höhere Programmiersprache Python als Lernsprache. In den USA werden Python-Kurse für Kinder vom Middle School-Alter aufwärts angeboten.[25]

Weblinks

Einzelnachweise

  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. Stagecast
  8. Webseite von SGP Systems
  9. Workshop: SGP Baltie 4 C#
  10. Kodu Microsoft Research
  11. E-Slate Offizielle Webseite
  12. Etoys Offizielle Webseite
  13. Alice Offizielle Webseite; zur Fortentwicklung des Programms siehe auch Storytelling Alice
  14. Eytam Computer Science Offizielle Webseite
  15. AgentSheets Offizielle Webseite
  16. CiMPLE Offizielle Webseite; Visual Programming Application for children to program Robotic Toys
  17. Phrogram Offizielle Webseite
  18. Hackety Hack Offizielle Webseite
  19. GameKit Offizielle Webseite
  20. Learn to Program BASIC, Jr. Edition
  21. Microsoft Small Basic, Visual Basic, Visual C#, and Java Programming Tutorials for Middle School, High School and Homeschool Students
  22. Bilingual Technology Education for Middle School Students in Chicago's Innercity
  23. Environments for Teaching Kids to Program; Why Scheme for Introductory Programming?
  24. NetBeans IDE BlueJ Plugin
  25. Computer Programming for Everybody; Minimum Age to Learn Python

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Programmiersprache — Quelltext eines Programms in der Programmiersprache C++. Eine Programmiersprache ist eine formale Sprache, die zur Formulierung von Computerprogrammen verwendet wird. Die Anweisungen (Befehle) können dabei entweder in Maschinencode geschrieben… …   Deutsch Wikipedia

  • Lernsoftware — Unter Lernsoftware versteht man jede Art von Computer Software, die speziell für Lernzwecke entwickelt und programmiert wurde. Typische Formen sind Tutorials (Schulungssoftware, z. B. Schachlernsoftware), Übungsprogramme (z. B.… …   Deutsch Wikipedia

  • Scratch (Programmiersprache) — Scratch Basisdaten Paradigmen: Objektorientierte Programmierung Erscheinungsjahr: 2007 Designer …   Deutsch Wikipedia

  • Squeak — Entwickler The Squeak Community Aktuelle Version 4.2 (4. Februar 2011) Betriebssystem …   Deutsch Wikipedia

  • Lego Mindstorms — (eigene Schreibweise LEGO Mindstorms) ist der Name einer Produktserie des Spielwarenherstellers Lego, die einen programmierbaren Legostein (RCX = Robotics Command System, bzw. NXT) sowie Elektromotoren, Sensoren und Lego Technik Teile (Zahnräder …   Deutsch Wikipedia

  • Logo (Programmiersprache) — Die funktionale Programmiersprache Logo ist eine von Seymour Papert entwickelte Sprache aus den 1960er Jahren. Als Interpretersprache galt Logo als leicht zu erlernen, hatte aber eine für die Zeit der Heimcomputer, als diese Sprache die größte… …   Deutsch Wikipedia

  • Kindersoftware — ist E Learning Software, die speziell für Kinder entwickelt wurde. Kindersoftware soll unterhalten, Kreativität und Denkvermögen fördern und Lerninhalte auf spielerische Art vermitteln. Die Lernsoftware für Kinder wird zum Beispiel in folgende… …   Deutsch Wikipedia

  • Minisprache — Minisprachen sind spezielle Programmiersprachen bzw. bestimmte Teilmengen von Programmiersprachen, die dazu dienen, Programmieranfängern einen vereinfachten Einstieg in die komplexe Welt der Programmierung zu ermöglichen. Mit den Sprachen einher… …   Deutsch Wikipedia

  • E-Learning — Unter E Learning (englisch electronic learning = „elektronisch unterstütztes Lernen“, wörtlich: „elektronisches Lernen“), auch als E Lernen (E Didaktik) bezeichnet, werden – nach einer Definition von Michael Kerres – alle Formen von Lernen… …   Deutsch Wikipedia

  • KaraToJava — Kara, ein Marienkäfer in einer 2D Welt …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”