Scratch

Scratch ist eine erziehungsorientierte,interpretierte, dynamische und visuelle Programmiersprache, deren aktuelle, erste Implementierung auf Squeak Smalltalk basiert. Ihr Ziel ist es, Neueinsteiger – besonders Kinder und Jugendliche – mit den Konzepten der Computerprogrammierung vertraut zu machen und ihnen unter dem Motto "imagine, program, share" (deutsch: "Ausdenken, Entwickeln, Mitteilen"), die kreative Erstellung eigener Spiele und Multimediaanwendungen und das Teilen dieser Resultate im Internet zu ermöglichen.

Scratch-Versionen: v1.0v1.1v1.2v1.3v1.4v2.0|| Wichtige Mods: ChirpBYOBSnap!ScratchJr
Dieser Artikel basiert auf dem DE-Wikipedia-Scratch-Artikel (Entstehung des [http://scratchforums.blob8108.net/forums/viewtopic.php?id=2371 DE-Artikels] und des EN-Artikels) Diese Version wurde & wird für unser DACH-Scratch-Wiki verlinkt, aktualisiert, erweitert, ist informeller und geht mehr ins Detail.

Inhaltsverzeichnis

Scratch in 5 Minuten kennen - Scratch in 10 Minuten benutzen

In diesem Scratch Programm vom Kinderlabor seht Ihr in 5 Minuten, wie schnell man mit Scratch ein einfaches Spiel programmieren kann. Wenn Ihr danach Lust bekommen habt, genau dieses Spiel mit Hilfe der Anleitung selbst zu machen, könnt Ihr innerhalb von 10 Minuten Scratch auf Eurem Rechner installieren, Euch ein Benutzerkonto erstellen, die Programmierung dieses Programms (oder die von über 2.000.000 anderen von der Scratch-Website) durch einen Download nachvollziehen, es verändern und weiterentwickeln und auch wieder hochladen, so dass die ganze Welt Euer neues selbstgemachtes Scratch-Programm benutzen kann ;-)

Einen schnellen Einstieg bieten auch unsere 6 * 5 Minuten Einsteiger-Screencasts und unser Leitfaden.



Schau' dir dieses Projekt auf der Scratch-Webseite an...



Insidertipp: Denkt daran Euch, später auch noch die deutschsprachige Scratch-Hilfe zu installieren. Die Original-Scratch-Installation läuft zwar in deutsch, bringt aber nur die englische Hilfe mit und selbst erfahrene Scratcher wissen oft nichts von der deutschen Version.

Entwicklung

Scratch wurde von einem kleinen Forschungsteam der Lifelong Kindergarten Group am MIT Media Lab entwickelt. Der Name Scratch wird sowohl für die Programmiersprache wie für die Entwicklungsumgebung verwendet und leitet sich von der DJ-Scratchtechnik ab. Die Gemeinsamkeit zum musikalischen „Scratchen“ ist die leichte Wiederverwendbarkeit von Versatzstücken: In Scratch können alle interaktiven Objekte, Grafiken und Töne leicht von einem in ein anderes Programm übertragen und dort neu kombiniert werden. Dadurch erhalten Anfänger sehr schnell Erfolgserlebnisse, die motivieren, sich vertieft mit dem Programm auseinanderzusetzen. Die Internetplattform von Scratch dokumentiert eine schnell zunehmende Nutzung: Von den Anfängen im März 2007 bis Ende 2012 meldeten sich 1.300.000 Nutzer an, von denen 400.000 in dieser Zeit insgesamt über 3.000.000 selbstentwickelte Programme ins Netz stellten.( siehe: Scratch Statistics ). Die schnell wachsende Benutzergemeinde ist international und wird durch die zunehmend erweiterte Mehrsprachenfähigkeit von Scratch gefördert. Scratch wird an einzelnen Schulen in Deutschland, Schweiz, Österreich und Luxemburg bereits eingesetzt.

Nutzung als Lehr- und Lernsprache

Scratch wird weltweit und natürlich auch in DACH in verschiedensten Schulformen und Unterrichtsveranstaltungen eingesetzt. Durch die mit Scratch verbundene interaktive Internetplattform hat sich eine schnell wachsende Gemeinschaft von Programmieranfängern, Schülern, Pädagogen und Hobbyisten gebildet, die sich gegenseitig motivieren und unterstützen, ihre Kreativität und Programmierkenntnisse zu entwickeln.

Folgende „Cartoon“ veranschaulicht ganz gut den Kontrast zwischen den heute etablierten textbasierten Programmiersprachen (als Beispiel Java) und den neuen grafischen Programmiersprachen wie Scratch. JavaIsTheRealThing.jpg

Der erste Kontakt mit textbasierten Programmiersprachen wie Java oder C, demotiviert viele Anfänger beim Einstieg in das eigentlich spannende Thema Softwareentwicklung. Der Fokus liegt dort zwangsläufig auf - für die Logik von Algorithmen eigentlich unwichtigen - Details, wie die sklavische Einhaltung der Syntaxregeln. Ehe dort nur das einfachste Programm läuft, sind sehr viele Fehlerquellen zu umschiffen, was den Großteil der eingesetzten Zeit beansprucht.

Dennoch fällt das Umdenken noch schwer - bei Programmieranfängern jeden Alters - mit grafischen Sprachen wie Scratch zu beginnen. Das Vorurteil, dass "echtes Programmieren" textbasiert sein muss, ist bei vielen noch fest verankert. Doch es gibt bereits Gegenbeispiele, in denen Scratch und seine Weiterentwicklungen selbst in universitäre Veranstaltungen zum Einsatz kommen:

Mehr dazu in: Sind Scratch, BYOB und Snap! für den Informatik-Unterricht geeignet?

Entwicklungsumgebung, Internetplattform und Scratch-Player

Die Entwicklungsumgebung kann kostenlos aus dem Internet heruntergeladen und auf dem eigenen Rechner installiert werden. Da sie mit dem plattformunabhängigen Smalltalk-Entwicklungssystem Squeak erstellt ist, gibt es Versionen für Windows, Mac OS X und potentiell für weitere Betriebssysteme. Ein Scratch-Player iPhone/iPod war bereits im App-Store gelistet, wurde aber von Apple nach einigen Monaten wieder verbannt. Die mit Scratch erstellten Programme können direkt aus der Entwicklungsumgebung in einen persönlichen Benutzerbereich der Scratch-Homepage hochgeladen werden. Dort können die Programme von anderen Mitgliedern der Scratch-Community genutzt, kommentiert und zum Lernen und zur Weiterentwicklung heruntergeladen werden. Zur Ausführung direkt im Internetbrowser dient ein Java- oder der Flash Player.

Prinzipien von Sprachumfang und Bedienung

Bei Sprachumfang und Bedienung wurde höhere Priorität auf den intuitiven Zugang als auf hohe Komplexität gelegt. Mächtigen Funktionen wie Multimediaelementen und Multitasking stehen starke Einschränkungen in Peripherienutzung und Sprachumfang gegenüber. Alle Elemente, die den intuitiven Einstieg behindern könnten, wurden in empirischen Studien identifiziert und eliminiert. Alles, was den Einsteiger motiviert, sein Verständnis erleichtert und zur explorativen Entwicklung ermutigt, wurde betont. Spielerisches Lernen steht im Vordergrund. So können bereits Grundschulkinder erste Anwendungen erstellen und Jugendliche schnell hochmotivierende Ergebnisse erhalten. Aber selbst erfahrene erwachsene Programmierer haben sich der Scratch-Community angeschlossen. Sie reagieren – trotz der starken Einschränkungen – positiv darauf, wie schnell und intuitiv Ergebnisse zu erreichen sind und betrachten die Beschränkung als Herausforderung ihrer Programmierkünste.

Übersetzung

Die Beschriftung der Scratch-Bausteine kann durch die muttersprachliche Bezeichnung helfen, ist aber gleichzeitig wahlfrei. Sie kann schnell umgeschaltet oder angepasst werden. Dies erfolgt, wie bei der Scratch-Website selbst, mit einfach zu bearbeitenden Sprachdateien. Die dazu eingesetzten OpenSource-Werkzeuge, mit denen Scratch unter anderem auch leicht in Sprachen mit nichtwestlichem Zeichensatz und Schreibrichtung übersetzt werden kann, sind frei verfügbar und leicht erlernbar. Das MIT-Scratch-Team ermutigt und unterstützt regionale Übersetzer und den Aufbau lokaler Gemeinschaften.

Internationale Verbreitung & Scratch Day

Die intuitive Bedienung und leichte Übersetzbarkeit, sowohl der Entwicklungsumgebung als auch der Scratch-Website, verbunden mit einer erfolgreichen Kommunikation und Medienarbeit des MIT-Scratch-Teams, förderten eine schnelle globale Ausbreitung der Scratch-Idee. Der vom MIT-Scratch-Team ausgerufene erste weltweite "Scratch Day", der am 16. Mai 2009 stattfand, dokumentiert dies: Auf http://day.scratch.mit.edu trugen sich in wenigen Wochen weit über 118 regionale Organisationen, wie Schulen oder Computerclubs, auf einer Weltkarte ein, die eines der gleichzeitig stattfindenden lokalen Ereignisse Scratch-Day-Ereignisse organisierten. Zum deutschen Scratch Day 2009 kamen an der MCS Juniorakademie in Bochum Scratch-Experten aus ganz Deutschland zusammen, die in einer Online-Konferenz durch Prof. Mitch Resnick und John Malony vom MIT Media Lab verstärkt wurden, um für ca. 100 Kinder, Eltern, Lehrer und Wissenschaftlern Scratch unter verschiedensten Aspekten vorzustellen.

Programmier-Erfahrung mit Scratch

Scratch Entwicklungsumgebung

Kein Tippen - Keine Syntaxfehler

Auch sehr junge Kinder oder Erwachsene ohne Computerkenntnisse, können mit Scratch motivierende Programmiererfahrungen machen, weil Schrift nicht die einzige Zugangsmöglichkeit ist, sehr wenig getippt werden muss (für einfache Programme gar nicht), keine Programmierbefehle gelernt werden müssen und viele potentielle Fehler (zum Beispiel Syntax-Fehler) gar nicht möglich sind.

Intuitives Lernen: Probieren geht über studieren!

Scratcher an eTafel

Die Erstellung von Scratch-Projekten erschließt sich beim Zusehen und Ausprobieren sehr viel leichter als durch eine schriftliche Anleitung, da neben Textmetaphern (wie "Bühne", "Spielfigur", "Kostüm" und "Baustein") viele intuitiv verständliche Form-, Bewegungs- und Farb-Metaphern verwendet werden, die von Anfängern einfach benutzt werden, ohne dass darüber bewusst nachgedacht werden muss. Da die Funktion der Elemente intuitiv klar wird, spielen ihre genaue Bezeichnungen beim Verständnis keine wesentliche Rolle, zumal sie – durch die beliebig austauschbaren Sprachdateien – willkürlich sind.

Obwohl daher eine schriftliche Erklärung zu Scratch immer umständlicher sein wird als das intuitive "zeigen und ausprobieren", soll hier das Programmieren mit Scratch in einem Text beschrieben werden. Dabei werden intuitiv verständliche Begriffe vorgezogen (In der aktuellen deutschen Scratch-Übersetzung werden teilweise andere verwendet, die kürzer, aber nur zusammen mit der Visualisierung intuitiv sind, zum Beispiel Spielfigur = Objekt, Baustein= Block.)

Das Scratch Projekt

Die Scratch Entwicklungsumgebung bearbeitet immer jeweils ein Scratch-Projekt, das aus mehreren Multimedia-Elementen (Bilddateien, Klangdateien) und Programmen besteht. Ein Scratch-Projekt wird als eine einzige Datei abgespeichert oder eingelesen, die alle Multimedia-Elemente, Programme und Startwerte enthält. Außerdem kann das Projekt per Klick auf der Scratch-Homepage veröffentlicht werden (mitteilen/"to share") oder von dort in die Entwicklungsumgebung geholt werden.

"Spielfiguren" und "Bühne"

In einem Scratch-Projekt "agieren" beliebig viele "Spielfiguren" (Objekte/Sprites) auf einer "Bühne" (Hintergrund/Stage). Die Spielfiguren haben Ähnlichkeit mit der "Schildkröte" in der Programmierlernsprache Logo, jedoch wesentlich mehr Fähigkeiten und Eigenschaften. Spielfiguren und Bühne können wechselnde "Kostüme" (Grafiken) "anziehen" und Geräusche, Schlagzeugklänge oder Noten abspielen. Die Spielfiguren können sich auf der Bühne bewegen, drehen, ihre Größe ändern, sich – beeinflusst von verschiedenen grafischen Effekten – zeigen oder verstecken, Malspuren und Stempel-Abdrücke hinterlassen, sprechen und denken (Sprech-/Denkblasen).

Variablen

Var3.png

"Spielfiguren" und "Bühne" haben Werte (X, Y, Ausrichtung, Größe, Lautstärke, Tempo, Stifteinstellungen...) und zusätzlich erstellbare lokale Variablen und Listen, die bei Bedarf auf der Bühne dargestellt werden können. Neben diesen lokalen können auch globale Variablen und Listen angelegt werden, die in allen der Spielfiguren und der Bühne gelten. Die Werte und Variablenbelegungen im Zeitpunkt des Abspeichern oder Veröffentlichen eines Programms sind Teil desselben und definieren den Startzustand.

Entwicklungsumgebung & Player - Programmier- & Abspielmodus

Im "Abspielmodus" der Entwicklungsumgebung und im Internet-Player sieht man vom fertigen Scratch-Projekt nur noch die Bühne. Im "Programmiermodus" der Entwicklungsumgebung kann das Projekt ebenfalls uneingeschränkt "abgespielt" werden, jedoch kann dabei jederzeit ändernd eingegriffen werden und die Bühne belegt nur einen Teil des Scratch-Fensters, das dann in vier Bereiche unterteilt ist:

Die "Bühne" (rechts oben), die "Spielfiguren-Auswahl" (rechts unten) und die in acht farbige "Fächer" eingeteilte "Bausteinkiste" (links), sind drei konstante Bereiche, während sich der vierte "Programme/Kostüme/Klänge"-Bereich, anhand der "Spielfiguren-Auswahl" ändert. Dieser mittlere Bereich zeigt stets die Programme, Kostüme, Klänge und Werte der ausgewählten Spielfigur, oder der ebenfalls auswählbaren Bühne. Im "Programme/Kostüme/Klänge"-Bereich kann mittels Laschen zwischen den Elementen der gewählten Spielfigur, bzw. der Bühne, geblättert werde.

Skripte aus Blöcken

WahrheitsblöckeScript.gif

In die Lasche "Skripte" werden die Programmier-Bausteine Blöcken der Farbe des aktuell gewählten Baustein-Faches gezogen und dort zu Programmen zusammengebaut, die dann frei nebeneinander auf der Fläche liegen. Bausteine die nicht gebraucht werden, können ohne Funktion liegenbleiben, oder durch Herausziehen weggeräumt werden.

Viele Bausteine haben Bedienelemente, bzw. Öffnungen, in die andere Bausteine, Listenauswahlen, Zahlen, Buchstaben oder Farben (mit Bildschirmpipette auswählbar) eingesetzt werden. Die Form dieser Bedienelemente zeigt ihre Verwendung an, bzw. deutet darauf hin, welche Bausteine zusammen passen. Nur was passt, lässt sich "einklinken", nur existierende Elemente können in den Listen gewählt werden. Dadurch werden viele Fehler automatisch vermieden. Die Farben der Bausteine entsprechen den "Farb-Fächern" der Bausteinkiste, die ihren Einsatzbereich symbolisieren:

Farb-Kategorien der Scratch-Blöcke

Bereich Farbe Programmier-Bausteine
Bewegung Blau gehe ... Schritt, drehe dich um ... Grad , zeige Richtung..., gehe zu x:...y:..., gleite in... sekunden zu, drehe dich zu ..., gehe zu ..., setze x auf..., ändere x um ..., setze y auf ..., ändere y um ..., pralle vom Rand ab, setze Drehtyp auf ..., X Prosition, Y Prosition, Richtung
Aussehen Violett ziehe Kostüm ... an, sage " " (für ... sek., denke " " (für ... sek., ändere Effekt ... um ..., setze Effekt ... auf ... , schalte Grafikeffekte aus, ändere Größe um ..., setze Größe auf ..., nächstes Kostüm, wechsele zu Bühnenbild ..., zeige dich, verstecke dich, komme nach vorn, gehe ... Ebene(n) nach hinten, Kostümnummer, Bühnenbildname, Größe
Klang Lila spiele Klang ... (ganz), stoppe alle Klänge, spiele Schlaginstrument ... für ... Schläge, pausiere ... Schläge, spiele Ton ... für ... Schläge, setze Instrument auf ..., setze Lautstärke auf ..., ändere Lautstärke um ..., setze Tempo auf ..., ändere Tempo um ..., Lautstärke, Tempo
Malstift Dunkelgrün wische weg, senke/hebe Stift, setze Stiftfarbe auf ..., ändere Stiftfarbe um ..., setze Farbstärke auf ..., ändere Farbstärke um ..., setze Stiftdicke auf ..., ändere Stiftdicke um ..., hinterlasse Abdruck
Ereignisse Braun wenn Start, wenn Taste ... grdrückt, wenn Objekt geklickt, sende ... an alle, wenn ich ... empfange, wenn Bühnenbild zu ... wechselt, wenn ... < ...
Steuerung Gelb warte ... sek., wiederhole ... mal, wiederhole fortlaufend, wiederhole bis ..., falls ... dann, falls ... dann sonst, warte bis ..., stoppe ..., wenn ich als Klon entstehe, erzeuge Klon von ..., lösche diesen Klon
Fühlen Hellblau Maus X, Maus Y, Maustaste gedrückt, wird " " berührt", wird Farbe berührt, Stoppuhr, Entfernung von, Wert von Objekt, Lautstärke, Video ... auf ..., schalte Video an, aus , an-gespiegelt, setze Videotransparenz auf ..., setze Stoppuhr zurück
Operatoren Hellgrün +, -, *, /, Zufallszahl von ... bis ..., <, =, >, und , oder , nicht , mod, gerundet, Funktion von....
Variablen Orange neue Variable, ändere Variable um ..., setze Variable auf ..., verstecke Variable, zeige Variable
Listen Rot neue Liste, füge ... zu Liste hinzu, lösche ... aus Liste, füge ... als ... in Liste ein, ersetze Element ... von Liste durch ..., Element ... aus Liste, länge von Liste, Liste enthält ..., zeige Liste, verstecke Liste

Weitere Knöpfe & Menüs

Neben den oben beschrieben Fensterbereichen der Scratch-Entwicklungsumgebung, gibt es noch einige Knöpfe, Menüs und Kontextmenüs (rechte Maustaste) und damit verbundene Auswahlboxen und Editoren zum Laden, Speichern, Kopieren, Erstellen und Beeinflussen von Spielfiguren, Medien und Projekten. Die wichtigsten sind die grüne Startflagge und das rote Stoppschild, mit denen alle Programm eines Projektes gestartet und gestoppt werden.

Kopfbausteine, Multitasking und Ereignissteuerung

Programme beginnen immer mit einem der vier Kopfbausteine aus dem braunen Fach "Ereignisse" der angibt, durch welches Ereignis sie gestartet werden (1. Klick die die Start-Flagge, 2. Mausklick auf ihre Spielfigur, 3. Druck einer bestimmten Taste oder 4. Empfang einer bestimmten Nachricht). Indem ein Programme eine "Nachricht an alle" sendet, kann es andere Programme starten, die auf diese bestimmte Nachricht "warten". Multitasking und Ereignissteuerung sind so selbstverständliche Konzepte, die vom Programmier-Anfänger nebenbei erfasst werden.

Laufzeit, Programmierzeit, Debuggen & Einzelschrittmodus

Laufzeit und Programmierzeit gehen fließend ineinander über: Während ein Projekt mit seinen Programmen läuft, kann weiterprogrammiert werden, bzw. wenn es nicht läuft, können Programme durch Anklicken gestartet und so ausprobiert werden, womit die erforschende spielerische Herangehensweise gefördert wird. Laufende Programme sind mit weißem Rand hervorgehoben und Ausführungsfehler (zum Beispiel Division durch 0) mit rotem Rand. Im Einzelschrittmodus werden auch die jeweils ausgeführten Bausteine(hellgelb) hervorgehoben.

Kopieren & Verschieben per "Drag & Drop"

Programme, Grafiken und Töne können durch Ziehen auf andere Spielfiguren (Drag & Drop) übertragen werden und Spielfiguren und Programme können per Knopf oder Kontextmenü kopiert werden. So kann zum Beispiel nur durch das Erstellen einer einzigen Spielfigur, die mehrfach kopiert wird, eine komplexe Simulation geschaffen werden, bei deren Ausführung die Kopien deterministisch aber dennoch unvorhersehbar interagieren.

Beispielmaterial, Wiederverwendung und Remixing

Ein wesentlicher (namensgebender, s.o.) Aspekt von Scratch ist es, dass sich die Nutzer von vorhandenem Medien-Material inspirieren lassen, daraus lernen, es neu kombinieren, es verändern und ergänzen um eigene Werke daraus zu schaffen. Diese werden dann wieder den anderen zur Verfügung gestellt. Die Scratch Installation bringt dafür bereits eine großen Fundus an Beispielprojekten, Spielfiguren, Grafiken und Sounds mit, der für erste Einsteigererfahrungen umfangreiches Ausgangsmaterial liefert. Dieses wird erweitert durch selbstgemachte oder aufgezeichnete Bild- und Tondateien, sowie dem Materialien der veröffentlichten Scratch-Projekte. Das Wiederverwenden der Spielfiguren in anderen Projekten wird gefördert, indem sie komplett mit allen ihren Kostümen, Klängen und Programmen aus Projekten als Datei exportiert und in andere importiert werden können, was häufig ohne weiter Anpassung zu lauffähigen Kombinations-Projekten führt. Das Herunterladen fremder Projekte, anschließendes Ändern und Erweitern und hochladen als eigenes Projekt, wird in Scratch als "Remixing" bezeichnet und ist eine beliebte und positiv bewertete Vorgehensweise. Remixing wird daher nicht als Plagiat oder Ideendiebstahl gesehen, sondern als Gemeinschaftserfahrung und als eine Ehre für denjenigen, dessen Material verwendet wird. Remixing wird unterstützt, indem ein Projekt seine Herkunft mit sich trägt und der Weg des Remix auf der Scratch-Homepage bis zum Ursprungsautor rückverfolgbar ist. Auf der Scratch-Homepage entstehen so Remixing-Ketten und Bäume, die manchmal hunderte von Projekten umfassen.

Versionsgeschichte

Mittlerweile befindet sich Scratch schon in der Version 1.4 vom Juli 2009. Hier ist eine kleine Auflistung der Versionen der Scratch Entwicklungsumgebung:

Aktuell:

  • 2.0 (9. Mai 2013)

Veraltet:

  • 1.4 (19. Juli 2009)
  • 1.3 (2. September 2008)
  • 1.2 (7. Dezember 2007)
  • 1.1 (26. Mai 2007)
  • 1.0 (8. Januar 2007)

Phänomen Scratch

Versuche, die Einstiegsschwelle für den Erwerb von Programmiersprachen-Kenntnissen zu verringern und dafür ein geeignetes Werkzeug zu schaffen, hat es bereits viele gegeben. Seit Seymour Papert schon in den 60er Jahren LOGO als Programmiersprache für Kinder entwickelte, reißen die Bemühungen nicht ab, Kindern einen leichten Einstieg in die Welt der Programmierung zu ermöglichen. So zählen Werkzeuge wie der Roboter Karol oder Kara zu den Standardhilfsmitteln zur Einführung in die Programmierung an deutschen Schulen und Bildungseinrichtungen weltweit. Selten hat jedoch ein Werkzeug eine so schnelle und weltweite Verbreitung gefunden wie Scratch, das im Mai 2007 vom MIT Media Lab herausgegeben wurde. Die kostenlose graphische Programmier-Lern-Sprache ermöglicht es jedem, Multimedia-Animationen und Computerspiele zu erstellen und im Internet zu veröffentlichen. Die bunten Programmier-Bausteine und intuitiven Elemente machen den Einstieg leicht. So wurde Scratch schnell zu einer Art „YouTube“ der Programmierung, das eine weltweite begeisterte Anhängerschaft fand und viele Kinder und Jugendliche motiviert, sich intensiv mit der Schaffung eigener kreativer Software zu beschäftigen. Obwohl es auch Stimmen gibt, die Scratch lediglich für den Einsatz in Grundschulen geeignet halten (vgl. Baumann LOG IN 156, S. 58), fasziniert es Jugendliche und Erwachsene gleichermaßen. Woher kommt dieser Effekt? Vielleicht liegt es daran, dass Scratch nicht „am Reißbrett“ entstand, sondern in jahrelangen Untersuchungen erforscht wurde, welche Konzepte von Programmieranfängern intuitiv aufgenommen werden können. Alles weniger eingängige wird so lange vermieden, bis auch hierfür eine eingängige Herangehensweise gefunden ist. So stehen mächtigen Funktionen wie Multimediaelementen und Multitasking starke Einschränkungen in Peripherienutzung und Sprachumfang gegenüber. Als Ergebnis dieser Herangehensweise ermöglicht es Scratch Programmieranfängern jedoch, sehr schnell, Ideen für Spiele, Animationen und Programme in die Tat umzusetzen und damit Informatik-systeme nicht nur rezeptiv sondern selbst gestalterisch und kreativ zu nutzen. Scratch weckt also den Spaß am Programmieren, aber umfasst noch nicht alle Bereiche in ihrer Tiefe, obwohl sich bereits jetzt anspruchsvolle Probleme lösen lassen, die jenseits des rein spielerischen liegen. Scratch wird erfolgreich in Grund- und Sekundarschulen eingesetzt und selbst Harvard-Studenten erwerben mit Scratch erste Programmiererfahrungen

Weiterentwicklung von Scratch: BYOB

An Weiterentwicklungen von Scratch hin zu Programmier-Lehr-Sprachen, die nicht nur den leichten Programmier-Einstieg (für Kinder) ermöglichen, sondern z.B. auch prozedurale und objektorientierte Methoden umfassen, werden intensiv gearbeitet. Im Projekt BYOB (Build Your Own Blocks) und Chirp wird von Mitgliedern der Scratch-Community an der Erweiterung von Scratch experimentiert. Das frei herunterladbare "BYOB" entwickelt sich wesentlich dynamischer weiter als das offizielle Scratch, da es geringeren formellen Ansprüchen genügen muss. Dabei ist es jedoch nicht als Abspaltung (Fork) von Scratch konzipiert, sondern als "Zukunfts-Spielwiese". Einzelne Innovationen aus BYOB, wie die Feldvariablen, wurden bereits nach Scratch übernommen. BYOB ist bisher nur die reine Entwicklungsumgebung, ein internetfähiger Player für BYOB-Programme, wie ihn Scratch bietet, existiert noch nicht.

Weblinks

Wissenschaftliche Beiträge zu Scratch

Auf Deutsch:

Auf Englisch:



Code zum Einbinden ins Forum:
[wiki=de:Scratch]Scratch[/wiki]