www.wikidata.de-de.nina.az
Bildungsorientierte Programmiersprachen sind als Lerninstrumente fur Programmieranfanger konzipiert Zu ihnen gehoren 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 konnen 1 aber auch Programmiersprachen fur fortgeschrittene Schuler und fur die Erwachsenenbildung die komplexere Aspekte berucksichtigen 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 Jugendlicher beim Arbeiten mit der visuellen Programmiersprache Scratch fur Kinder an einer E Tafel Inhaltsverzeichnis 1 Merkmale und Entwicklungsgeschichte 2 Fur Kinder konzipierte Programmiersprachen 2 1 Turtle Grafik Logo KTurtle LibreLogo und Python Turtle 2 2 Virtuelle Roboter 2 2 1 Karel the Robot Niki der Roboter 2 2 2 Robot Karol 2 2 3 Guido van Robot 2 2 4 RoboMind 2 2 5 Kara 2 2 6 Hamster Modell 2 2 7 Open Roberta Sim 2 3 Programmieren ohne Worte 2 3 1 Stagecast Creator 2 3 2 Baltie 2 3 3 Kodu 2 4 E Slate 2 5 Squeak 2 6 Etoys 2 7 Open Roberta 2 8 Scratch 2 9 Alice und Mama 2 10 AgentSheets amp AgentCubes 2 11 Robotik und eingebettete Systeme 2 11 1 ROBOPRO 2 11 2 Lego Mindstorms 2 11 3 Tuxminds 2 11 4 CiMPLE 2 12 Phrogram 3 Lern Programmiersprachen fur fortgeschrittene Schuler und fur die Erwachsenenbildung 3 1 KidsRuby und Hackety Hack 3 2 GameKit 3 3 Snap BYOB 3 4 ELAN 4 Fruher Einstieg in professionelle Programmiersprachen 4 1 Auf BASIC basierende Ansatze 4 2 Pascal 4 3 Auf Lisp basierende Ansatze 4 4 Auf Python und Ruby basierende Ansatze 4 5 Auf Java basierende Ansatze 4 6 Auf C basierende Ansatze 5 Computerspiele mit Programmieroptionen 6 Alternativen Programmierspiele ohne Computer 7 Literatur 8 EinzelnachweiseMerkmale und Entwicklungsgeschichte BearbeitenBildungsorientierte Programmiersprachen sind regelmassig fest in eine vollstandige integrierte Entwicklungsumgebung IDE eingebettet die es dem Benutzer ermoglicht Programmcode menugeleitet zu erstellen sodass Programmierfehler theoretisch nicht gemacht werden konnen In manchen IDEs wird die Schriftsprache komplett durch Icons ersetzt sodass sie bereits von Kindern benutzt werden konnen 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 Propadeutika fur 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 Fallen gingen Programmiersprachen fur den professionellen Einsatz auch aus ursprunglich als bildungsorientiert konzipierten Anfanger 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 ausserschulischen Bildungsprogrammen wie z B der First Lego League werden solche Sprachen bereits umfanglich eingesetzt Inzwischen wurden Programmiersprachen fur 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 Fur Kinder konzipierte Programmiersprachen BearbeitenTurtle Grafik Logo KTurtle LibreLogo und Python Turtle Bearbeiten Als die alteste kindgerechte Programmiersprache gilt die von Seymour Papert 1967 auf der Grundlage von Lisp entwickelte Programmiersprache Logo die trotz ihrer hohen Leistungsfahigkeit ausserst leicht erlernbar war sich gegenuber anderen Anfangerprogrammiersprachen 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 Schildkrote uber den Bildschirm kriecht und dabei eine farbige Linie hinter sich herzieht Papert war ein Vorkampfer des padagogischen 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 gepragten Welt heranwachsen wurden In den USA wird Logo als Lern Programmiersprache fur Kinder bis heute verwendet 2 3 Als KTurtle ist die Turtle Grafik auch ein Bestandteil eines vom KDE Education Project entwickelten und 2008 veroffentlichten Softwarepakets 4 Als LibreLogo ist die Programmiersprache in Libreoffice integriert und uber eine Symbolleiste erreichbar 5 Eine weitere Fassung ist die von Ram Rachum als Propadeutikum fur die Programmiersprache Python konzipierte und 2009 herausgebrachte Minisprache PythonTurtle 6 Python selbst bringt mit dem Modul turtle eine eigene Bibliothek fur Turtle Grafik mit Im Internet sind gelegentlich auch Online Versionen zu finden 7 nbsp Guido van Robot ScreenshotVirtuelle 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 fruhen Grundschulalter konnen damit einen virtuellen Roboter durch ein rechtwinklig angelegtes Netz von Strassen und Querstrassen lenken Robot Karol Bearbeiten Robot Karol ist eine Programmierumgebung fur eine gleichnamige in einfachem Deutsch gehaltene Programmiersprache Sie wurde entwickelt um Schuler mit Hilfe der Programmierung von einfachen virtuellen Robotern an die Algorithmik heranzufuhren Guido van Robot Bearbeiten Ebenfalls bereits fur 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 8 RoboMind Bearbeiten Eine weitere Minisprache mit der Kinder im Vor und fruhen Grundschulalter einen virtuellen Roboter programmieren konnen ist das auch in einer deutschen Sprachversion erhaltliche Programm RoboMind 9 Kara Bearbeiten Der Marienkafer Kara soll einen Einstieg in die Grundideen der Programmierung vermitteln In einer einfachen grafischen Umgebung muss Kara verschiedene Aufgaben losen z B Kleeblatter einsammeln 10 Neben der Version mit grafischem Programmeditor existieren auch Versionen die den Ubergang zu realen Programmiersprachen bilden konnen wie z B RubyKara PythonKara und JavaKara Alle Versionen sind Freeware und auf den meisten javafahigen Plattformen lauffahig Auf der offiziellen Website 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 Korner sammeln zu lassen Programme konnen hierbei in verschiedenen textuellen Programmiersprachen wie Java imperativ objektorientiert parallel Ruby Python Scheme und Prolog sowie visuellen Programmiersprachen wie endliche Automaten Programmablaufplane Nassi Shneiderman Diagramme Struktogramme und Scratch entwickelt werden 11 Open Roberta Sim Bearbeiten nbsp Open Roberta Sim eine 2D SimulationsumgebungIn der online verfugbaren Simulationsumgebung Open Roberta Sim siehe auch Open Roberta kann ein zweiradriges Differentialgetriebe in einem zweidimensionalen Robotermodell programmiert werden Das 2D Modell ist zusatzlich zur Odometrie mit weiteren Sensoren ausgestattet Ultraschallsensor Farbsensor BeruhrungssensorOpen 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 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 ausfuhren soll Dies geschieht beim Stagecast Creator indem der Benutzer Icons auf dem Bildschirm bewegt Auf diese Weise konnen bereits von Kindern im Vorschulalter Simulationen Animationssequenzen und Spiele erzeugt werden Das System das unter Java lauft und im Forschungslabor von Apple entwickelt wurde kam als Erstversion 1996 heraus und trug zunachst den Namen Cocoa 12 Baltie Bearbeiten nbsp Baltie 3 ScreenshotDie 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 ausfuhrt und u a Grafiken auf den Bildschirm zaubert 13 Inzwischen liegt die in zahlreichen Sprachfassungen erhaltliche Version 4 vor die auf C basiert einen Compiler und Debugger enthalt und in der Lage ist exe Dateien zu erzeugen die auch ausserhalb der IDE lauffahig sind Fortgeschrittene Lernende konnen in Baltie 4 auch mit Text anstatt mit Icons programmieren 14 Seit 2003 finden mit Baltie internationale Ausscheidungswettbewerbe in verschiedenen Alterskategorien ab 5 J statt 15 Kodu Bearbeiten Auch die IDE von Kodu einer 2009 herausgebrachten Entwicklung von Microsoft Research ist vollstandig Icon basiert Kinder konnen damit Spiele entwickeln 16 E Slate Bearbeiten Die von einem griechischen Team in den 1990er Jahren entwickelte Bildungssoftware E Slate ermoglicht es Kindern ohne Programmiervorkenntnisse mit einer auf Logo basierenden Minisprache vorgefertigte Elemente zu vielfaltigen Mikrowelten zusammenzusetzen Die auf Java aufbauende Freeware ist als griechische und englische Sprachversion erhaltlich 17 Squeak Bearbeiten Squeak ist eine bei Apple entwickelte und 1996 in erster Version veroffentlichte Implementierung der objektorientierten Programmiersprache Smalltalk Die Software unterstutzt u a Simulationen und wird in den USA von Kindern der mittleren Klassenstufen aufwarts verwendet die bereits grundlegende Programmierkenntnisse haben Etoys Bearbeiten nbsp Beispiel fur die beschriebene AutosimulationFur 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 konnen damit 2 und 3 dimensionale Grafiken Bilder Text Prasentationen 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 18 Open Roberta Bearbeiten Hauptartikel Open Roberta nbsp Die Online Programmierumgebung Open Roberta LabOpen Roberta ist ein von Fraunhofer IAIS initiiertes Projekt das den Einstieg in die Programmierung ermoglicht 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 plattformunabhangig mit gangigen Webbrowsern genutzt werden Open Roberta wird von einer open source community unter Leitung des Fraunhofer IAIS kontinuierlich weiterentwickelt Ab der Version Beta 1 3 0 steht ein zweidimensionales Roboter Modell zur Verfugung das den Einstieg in die Programmierung auch ohne physikalisches Roboter System moglich macht Durch die Verwendung des identischen Programmierparadigmas und der Programmblocke ist ein reibungsfreier Ubergang von der Simulation zum realen Roboter Objekt moglich Scratch Bearbeiten Hauptartikel Scratch Programmiersprache Das 2007 veroffentlichte Scratch ist eine unter der Leitung von Mitchel Resnick am MIT Media Lab entwickelte interpretierte objektorientiert dynamische ereignisorientierte und vor allem visuelle Programmiersprache incl ihrer Entwicklungsumgebung und der eng verknupften Online Community Plattform 19 Scratch soll Neueinsteiger besonders Kinder und Jugendliche motivieren die Grundkonzepte der Programmierung moglichst spielerisch und explorativ zu erlernen 20 Kostenlos und werbefrei konnen 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 Ubersetzbarkeit sowohl der Entwicklungsumgebung incl ihrer Programmierbefehls Bausteine als auch der Scratch Website 21 verbunden mit einer erfolgreichen Kommunikation und Medienarbeit des MIT Scratch Teams 22 forderten eine schnelle globale Ausbreitung der Scratch Idee Von den Anfangen im Marz 2007 bis Ende 2015 meldeten sich uber 8 Millionen internationale Nutzer mit einem Altersschwerpunkt zwischen 8 und 16 Jahren an die uber 11 Millionen selbstentwickelte Scratch Projekte ins Netz stellten 23 Die ersten Implementierungen der Scratch Entwicklungsumgebung basierten auf Squeak 1 0 in 2007 24 bis 1 4 in 2009 25 der Scratch Web Player zunachst auf Java 26 seit 2011 auch wahlweise auf Flash 27 Scratch 2 0 erschien im Mai 2013 und basiert komplett auf Flash 28 Seit 2014 gibt es mit ScratchJr auch eine Scratch Variante fur das iPad die fur Kinder im Grundschul und Kindergartenalter konzipiert ist 29 sowie mit dem JavaScript basierten Snap BYOB eine Variante die erfolgreich fur die Hochschul und Erwachsenenbildung eingesetzt wird Am 2 Januar 2019 erschien die aktuelle Version 3 0 welche vollstandig auf Webtechnologien im Umfeld von HTML5 basiert 30 Die interaktiven Elemente wurden in JavaScript implementiert und nutzen WebGL Web Worker und Web Audio 31 Diese Version ist nicht mehr auf Flash angewiesen und lauft plattformubergreifend in modernen Webbrowsern Das ermoglicht u a auch die Nutzung auf mobilen Endgeraten wie Smartphones und Tablets Alice und Mama Bearbeiten nbsp Alice ScreenshotMit der an der University of Virginia und der Carnegie Mellon University entwickelten und 1999 veroffentlichten objektorientierten Programmiersprache Alice konnen Kinder der mittleren Klassenstufen eine virtuelle Welt mit animierten 3D Objekten und Personen u a Charaktere aus Alice im Wunderland bevolkern Von der IDE die als Freeware angeboten wird und die eher zum Erzahlen von Geschichten als zu formalisierten technischen Spielereien anregt sollen sich insbesondere Madchen angesprochen fuhlen 32 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 unterstutzt ebenso wie diese die Entwicklung animierter 3D Objekte und Personen 33 AgentSheets amp AgentCubes Bearbeiten nbsp AgentCubes zum Erstellen von 3D Spielen und SimulationenAgentSheets ist eine hoch leistungsfahige objektorientierte Sprache zur Programmierung von Simulationen und Videospielen die sich aufgrund ihrer sehr einfachen Erlernbarkeit auch als Lernprogrammiersprache fur Schuler 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 veroffentlicht Neben der englischen liegen inzwischen auch einige andere Sprachfassungen vor 34 AgentCubes ist eine 3D Programmierumgebung 34 Dank des integrierten Inflatable Icons Werkzeugs konnen Benutzer selbst beliebige 3D Objekte kreieren indem sie zuerst 2D Bilder zeichnen und diese dann in 3D Objekte durch Aufblasen verwandeln AgentCubes online 35 ist die auf HTML5 WebGL basierende Online Version von AgentCubes die 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 36 Scalable Game Design ist die grosste US Informatik Bildungs Studie mit uber 10 000 Schulern mittlerer Jahrgange aus den USA Untersucht wird ob Schuler sogenannte Computational Thinking Konzepte durch das Kreieren von Spielen erlernen und spater zum Bau von Simulationen anwenden konnen Robotik und eingebettete Systeme Bearbeiten ROBOPRO Bearbeiten Fischertechniks grafische Programmiersprache ROBOPRO ist eigens fur das Robo Interface entwickelt worden und bietet Moglichkeiten von Variablen uber Unterprogramme Methoden bis zu vereinfachter Bitprogrammierung Die Programmierumgebung unterstutzt Debugging Simulation Download zum Interface Updates und Testen Lego Mindstorms Bearbeiten nbsp Ein Lego Mindstorms NXT hier mit einem Beruhrungssensor und Greifwerkzeug ausgestattetLego Mindstorms ist eine Produktserie des Spielwarenherstellers Lego die neben Elektromotoren Sensoren und Lego Technik Bausteinen eine programmierbare Einheit RCX NXT EV3 umfasst Das inzwischen ausgereifte EV3 System ist seit 2013 auf dem Markt Mit dem System konnen u a Roboter konstruiert und programmiert werden Im Lieferumfang enthalten ist die auf LabVIEW basierende und mit einer grafischen Oberflache ausgestattete Programmiersprache NXT G entwickelt wurde diese Software von der amerikanischen Firma National Instruments Fur die Programmierung des NXT steht inzwischen jedoch eine ganze Bandbreite weiterer grafischer und textbasierter Programmiersprachen zur Verfugung die ein flexibleres Programmieren als mit NXT G erlauben und gelegentlich sogar einen Debugger haben z B Robotc 37 Tuxminds Bearbeiten Eine grafische symbolische Programmierumgebung fur diverse Robotermodelle Lego Mindstorms NXT Lego RCX ASURO und deren Abkommlinge fur Linux Innerhalb der durch die verwendeten Robotermodelle gegebenen Beschrankungen sind die Programme portabel d h ein ursprunglich fur ein NXT Roboter erstelltes Programm kann recht einfach auf einem Roboter des Types ASURO ausgefuhrt werden Tuxminds ist um beliebige Robotermodelle erweiterbar fur die allerdings ein C Compiler fur Linux verfugbar sein muss Tuxminds ist Open Source und steht damit jedermann kostenlos zur Verfugung Ursprunglich wurde Tuxminds fur den Einsatz an Schulen entwickelt CiMPLE Bearbeiten Ebenfalls fur 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 38 39 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 unterstutzt Grafik und Ton und wird in den USA von Kindern der mittleren Klassenstufen aufwarts zum Entwickeln von Spielen und anderen unterhaltsamen Lernanwendungen benutzt Die IDE hat Ahnlichkeit mit Microsoft Visual Studio und Eclipse und bereitet Anfanger die bis dahin keine oder nur wenig Programmiererfahrung haben auf professionelle Entwicklungsumgebungen vor 40 Lern Programmiersprachen fur fortgeschrittene Schuler und fur die Erwachsenenbildung BearbeitenKidsRuby und Hackety Hack Bearbeiten Mit der von Steve Klabnik entwickelten und 2010 veroffentlichten Ruby basierten IDE Hackety Hack Freeware konnen Teenager erste Programmiererfahrungen sammeln 41 KidsRuby 42 ist von Hackety Hack beeinflusst und benutzt ebenfalls Ruby als Programmiersprache Die meisten Hackety Hack Programme laufen auch in KidsRuby KidsRuby enthalt wie Hackety Hack eine Turtle Grafik mit der man farbige Bilder zeichnen kann Bei KidsRuby kann man zusatzlich eine Bibliothek fur 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 ahnelt der von Java und die Sprache kann zur Entwicklung einer grossen Bandbreite von Anwendungen genutzt werden besonders geeignet ist sie fur die Entwicklung von Spielen 43 Snap BYOB Bearbeiten Hauptartikel Snap Programmiersprache nbsp BYOB Begriffe als BilderBYOB englisch Abk Build Your Own Blocks deutsch Bau deine eigenen Blocke ist eine von Scratch inspirierte bildungsorientierte visuelle Programmiersprache inklusive ihrer Entwicklungsumgebung fur fortgeschrittene Schuler und fur 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 I und II Unterricht an deutschen Schulen und an amerikanischen und deutschen Universitaten zum Einsatz Trotz der spielerischen Anmutung die es sich aus seiner Scratch Herkunft bewahrt hat werden umfassende Konzepte geboten die uber die Moglichkeiten vieler traditioneller Programmier Lern Sprachen hinausgehen Dies sind Optionen wie das Erstellen von Blocken First Class Funktionen oder Prozeduren ihre mathematischen Grundlagen werden auch als Lambda Kalkul bezeichnet First Class Objekt Listen einschliesslich Listen von Listen und First Class Sprites Mit Prototypenbasierte Programmierung wird in BYOB Objektorientierung ohne abstraktes Klassenkonzept ermoglicht Neue Objekte entstehen als Kopie vorhandener Objekte cloning 44 45 46 47 48 Die ersten BYOB Vorstufen wurden unter dem Namen Chirp als Modifikation von Scratch 1 2 1 ab 2008 publiziert 49 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 Monig zusammen mit dem Berkeley Dozenten Brian Harvey entwickelt der seine Ideen zum Sprachdesign und die Dokumentation beisteuerte ELAN Bearbeiten In Deutschland wurde 1976 die Lehr Programmiersprache ELAN Educational LANguage entwickelt und bis in die 1990er Jahre an Schulen gelehrt Fruher Einstieg in professionelle Programmiersprachen BearbeitenAuf BASIC basierende Ansatze Bearbeiten Die Programmiersprache BASIC wurde als leicht zu erlernende Programmiersprache konzipiert Sie und ihre Varianten wurden ausser der Lernsoftware Learn to Program BASIC 50 jedoch nicht speziell fur Kinder entwickelt werden aber an amerikanischen Schulen von den mittleren Klassenstufen an im Unterricht eingesetzt Der Lernweg fuhrt uber einfache auch fur Kinder geeignete Varianten wie Small Basic Basic 256 oder SiMPLE hin zu professionellen Varianten wie Visual Basic oder Gambas 51 Pascal Bearbeiten Pascal war zunachst als Lehrsprache fur die strukturierte Programmierung konzipiert Bis in die spaten 1980er Jahre war Pascal die an amerikanischen und europaischen Universitaten am umfanglichsten gelehrte Anfangersprache In den USA wurden Pascal Kurse fur Kinder im Middle School und High School Alter angeboten 52 In Deutschland wurde Pascal in den 1980er Jahren an Gymnasien gelehrt Auf Lisp basierende Ansatze Bearbeiten 1975 erschien die auf Lisp basierende Lern Programmiersprache Scheme die aufgrund ihrer sehr einfachen Syntax ebenfalls fur Kinder im Middle School und High School Alter eingesetzt wird 53 54 Auf Python und Ruby basierende Ansatze Bearbeiten Aufgrund ihrer einfachen und gut lesbaren Syntax eignen sich auch die hoheren Programmiersprachen Python und Ruby als Lernsprache Beide Sprachen sind multiparadigmatisch und ermoglichen den Einstieg z B sowohl in die objektorientierte als auch in die strukturierte Programmierung Beide Sprachen bieten daruber hinaus mit einem mitgelieferten interaktiven Interpreter eine sehr gute Moglichkeit zum Ausprobieren und Testen In den USA werden Python bzw Ruby Kurse fur Kinder vom Middle School Alter aufwarts angeboten 55 56 57 58 Auf Java basierende Ansatze Bearbeiten Greenfoot und BlueJ zwei Lern IDEs fur die Programmiersprache Java werden in den USA von Schulern der High School und auf College Niveau verwendet Fur die dritte Lernstufe wird die NetBeans BlueJ Edition und fur die vierte die bereits professionelle Netbeans IDE empfohlen 59 Eine ebenfalls elegante stark vereinfachte Kapselung fur die Programmiersprache Java stellt Processing dar Processing ist vor allem fur Gestalter Kunstler und Programmieranfanger geeignet lasst sich aber aufgrund der einfachen Syntax auch fur Teenager einsetzen Ein einfacher Wurfel box lasst 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 moglich diesen Wurfel nun als Animation um die Y Achse rotieren zu lassen Die Prozedur setup bereitet dabei einmalig die gedachte Leinwand vor die Prozedur draw loscht diese und zeichnet den Wurfel 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 Ansatze Bearbeiten Fur den fruhen Einstieg in die Programmiersprache C eignet sich das Programmierspiel AntMe bei dem es darum geht einem Ameisenvolk eine kunstliche Intelligenz zu programmieren Die Befehle sind uberwiegend auf deutsch Computerspiele mit Programmieroptionen BearbeitenGelegentlich bestehen zwischen Computerspielen und Programmieren fliessende Ubergange 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 konnen 60 Das Mod RedPower 2 bietet Bauelemente fur 6502 ahnliche virtuelle Computer die in den Sprachen 6502 Assembly oder Forth programmiert werden konnen 61 Kinder die sich in der Welt von Minecraft auskennen lernen das Programmieren hier spielerisch Alternativen Programmierspiele ohne Computer BearbeitenEin alternativer Zugang sind Programmier Rollenspiele wobei z B Hilfspersonen die Aufgabe von Robotern oder Computerbauteilen ubernehmen und ein von Kindern geschriebenes Programm in Papierform ausfuhren 62 Siehe auch Know how ComputerLiteratur BearbeitenSebastian Trella Thorsten Leimbach Roberta Programmieren mit LabVIEW 1 Auflage 2014 ISBN 978 3 8396 0692 6 Malte Buhse Das digitale Einmaleins In Estland lernen schon Erstklassler programmieren In Die Zeit Nr 2 2013 Einzelnachweise Bearbeiten Lernen und Medien Open Roberta a Web Based Approach Visually Program Real Educational Robots Kent Paul Dolan Programming language Logo In well com 4 Mai 2003 archiviert vom Original am 25 Februar 2016 abgerufen am 11 Juli 2023 englisch Gary S Stager Learning with Logo In stager org Abgerufen am 11 Juli 2023 englisch KDE Offizielle Website LibreLogo Toolbar LibreOffice Help Abgerufen am 7 Dezember 2017 PythonTurtle Offizielle Website MathsNet Turtle Logo Applet Memento vom 14 Dezember 2011 im Internet Archive The Guido van Robot Programming Language Abgerufen am 11 Juli 2023 englisch RoboMind Offizielle Website Kara Programmieren mit endlichen Automaten Offizielle Website Java Hamster Modell Offizielle Website Stagecast In stagecast com Archiviert vom Original am 3 August 2015 abgerufen am 11 Juli 2023 englisch Website von SGP Systems Workshop SGP Baltie 4 C PDF 70 kB In rsei umk pl Nikolaus Kopernikus Universitat Torun archiviert vom Original am 4 Marz 2016 abgerufen am 11 Juli 2023 englisch Einstiegsseite des Wettbewerbsservers Baltie net auf Englisch abgerufen am 9 Dezember 2017 Kodu Microsoft Research E Slate Offizielle Website Etoys Offizielle Website scratch mit edu Informationen uber Scratch Memento vom 2 April 2013 im Internet Archive Scratch Das deutschsprachige Scratch Wiki Abgerufen am 7 Mai 2022 DACH Scratch Wiki Ubersetzung Abgerufen am 7 Mai 2022 DACH Scratch Wiki MIT Scratch Team Abgerufen am 7 Mai 2022 scratch mit edu Scratch Usage Statistics Memento vom 27 Mai 2013 im Internet Archive englisch DACH Scratch Wiki Scratch 1 0 und fruher Abgerufen am 7 Mai 2022 DACH Scratch Wiki Scratch 1 4 Abgerufen am 7 Mai 2022 Scratch Wiki Java Player Nicht mehr online verfugbar In scratch mit edu 17 Januar 2013 ehemals im Original abgerufen am 7 Mai 2022 englisch 1 2 Vorlage Toter Link scratch mit edu Seite nicht mehr abrufbar Suche in Webarchiven Scratch Wiki Flash Player Nicht mehr online verfugbar In scratch mit edu 17 Januar 2013 ehemals im Original abgerufen am 7 Mai 2022 englisch 1 2 Vorlage Toter Link scratch mit edu Seite nicht mehr abrufbar Suche in Webarchiven DACH Scratch Wiki Scratch 2 0 Abgerufen am 7 Mai 2022 ScratchJr Offizielle Website 3 Things To Know About Scratch 3 0 In medium com MIT Scratch Team 5 April 2018 abgerufen am 11 Juli 2023 englisch Ernie Parke Scratch 3 0 News from Scratch Conference In scratch mit edu 24 Dezember 2016 abgerufen am 11 Juli 2023 englisch Alice Offizielle Website zur Fortentwicklung des Programms siehe auch Storytelling Alice Eytam Computer Science In eytam com Shapes Robotics archiviert vom Original am 8 August 2021 abgerufen am 11 Juli 2023 englisch a b AgentSheets Offizielle Website Hour of Code Website Scalable Game Design Memento vom 10 Marz 2018 im Internet Archive Offizielle Website NXT Programming Software in den Teilnahmerichtlinien der First Lego League ist der Gebrauch anderer Programmiersprachen als NXT G untersagt CiMPLE Memento vom 11 September 2010 im Internet Archive Offizielle Website designingforchildren net Visual Programming Application for children to program Robotic Toys Memento vom 11 September 2010 im Internet Archive PDF 1 52 MB englisch Phrogram Memento vom 20 August 2010 im Internet Archive Offizielle Website Hackety Hack Memento vom 7 Januar 2012 im Internet Archive KidsRuby Offizielle Website GameKit Offizielle Website DACH Scratch Wiki Build Your Own Blocks Scratch Modifikation Abgerufen am 7 Mai 2022 Eckart Modrow OOP mit BYOB Memento vom 17 Juli 2018 im Internet Archive PDF 561 kB In LOG IN Heft Nr 171 2011 Eckart Modrow Visuelle Programmierung oder Was lernt man aus Syntaxfehlern Memento vom 14 Oktober 2013 im Internet Archive PDF 80 7 kB Eckart Modrow Jens Monig Kerstin Strecker Wozu JAVA Memento vom 17 Juli 2018 im Internet Archive PDF 544 kB In LOG IN Heft Nr 168 2011 Michael Heinelt Spieleprogrammierung mit Scratch und BYOB Memento vom 5 Marz 2016 im Internet Archive PDF 3 01 MB Seminar Didaktik der Informatik 3 Semester Wintersemester 2011 12 Homepage von Chirp Memento vom 25 April 2014 im Internet Archive des Vorgangers von BYOB und Snap abgerufen am 28 Januar 2013 kidsdomain com Learn to Program BASIC Jr Edition Memento vom 7 Marz 2011 im Internet Archive computerscienceforkids com Microsoft Small Basic Visual Basic Visual C and Java Programming Tutorials for Middle School High School and Homeschool Students Memento vom 30 Januar 2011 im Internet Archive Bilingual Technology Education for Middle School Students in Chicago s Innercity Memento vom 26 Juni 2010 im Internet Archive PDF 24 kB Environments for Teaching Kids to Program adelphi edu Why Scheme for Introductory Programming Memento vom 4 Oktober 2010 im Internet Archive python org Computer Programming for Everybody Memento vom 24 Dezember 2010 im Internet Archive megasolutions net Minimum Age to learn Python Memento vom 29 Mai 2013 im Internet Archive Workshop to Teach Middle School Age Girls Ruby und Python Memento vom 7 Mai 2012 im Internet Archive Fifth Grade Shoes Ruby Memento vom 20 Mai 2012 im Internet Archive NetBeans IDE BlueJ Plugin ComputerCraft minecraftgood com RedPower 2 Mod 1 4 7 for Minecraft 1 4 7 Memento vom 1 Februar 2013 im Internet Archive 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 Abgerufen von https de wikipedia org w index php title Bildungsorientierte Programmiersprache amp oldid 237081000