Scratch ist ein vom MIT1 entwickeltes und weltweit verbreitetes digitales Baukastensystem, ein Programmierungstool, das schon Kinder und Jugendliche in die Lage versetzt, selbst Computerprogramme und -spiele sowie interaktive Kommunikationsmittel zu entwickeln. Scratch funktioniert wie ein Lego-Baukasten und fördert auf spielerische Weise das logische, mathematische, analytische und algorithmische Denken.

Der Anwendungsbereich von Scratch ist dabei keineswegs auf das Gebiet Mathematik/Computer beschränkt: Scratch ermöglicht es unter anderem,

  • interaktive Geschichten zu erzählen (Sprachunterricht),
  • geometrische Kunstformen, ähnlich der Op-Art, zu erzeugen,
  • Musikstücke zu komponieren und zu instrumentieren (Musikunterricht),
  • Modelle und Simulationen zu programmieren (Naturwissenschaften, Gesellschaftswissenschaften).

Diese ‑ im anglo-amerikanischen Sprachraum entwickelten ‑ Lehr- und Lernkonzepte (game based learning, meaningful play, serious games) spielen in der internationalen Diskussion um schulische und außerschulische Bildung aktuell eine große Rolle2.

Und weiter?

Scratch ist (nur) der Anfang, allerdings ein ganz schön mächtiger. Mit Scratch kann man moderne Programmiertechniken erlernen und anwenden: Parallelismus, Objekt-Orientierung, Ereignissteuerung, Prototyping, Messaging … So lassen sich mit Scratch bereits recht komplexe Programme erzeugen, zum Beispiel ein „Mandelbrot Set Explorer“, der die bekannte fraktale Apfelmännchen-Menge graphisch darstellt und eine endlose Zoom-Funktion bereitstellt, mit der man in die Graphik hineinfahren kann.

weitere Beispiele aus dem Scratch-Universum

All diese und weitere mehr als 50 Millionen Projekte sind auf dem Scratch-Server des MIT für jeden Internet-Nutzer einsehbar. Ohne Geheimnisse, denn der Quell-Code jedes Projekts kann nicht nur angesehen werden – in der Scratch-Welt ist es nicht nur erlaubt sondern geradezu erwünscht, ein Projekt, das einem gefällt, weiter zu führen, zu remixen, wie es im Scratch-Jargon heißt. Zum guten Ton, zur Scratch-Netiquette gehört es selbstverständlich, das eigene Projekt auf den oder die Vorgänger zu referenzieren.

Selbstverständlich hat Scratch, das ja als visuelle Lern-Sprache entwickelt wurde, seine Grenzen. Die allerdings sind, wenn man mit Scratch grundlegende Programmier-Erfahrungen gesammelt hat, schnell zu überwinden:

Snap! Ist der erwachsene Bruder von Scratch. Snap! sieht Scratch unglaublich ähnlich, alle wesentlichen Elemente von Scratch sind auch in Snap! enthalten – mit Ausnahme der „spielerischsten“ Elemente wie umfängliche Graphik-Unterstützung, Darsteller-Bibliotheken Drum-Computer und Sythesizer. Dafür bietet Snap! Eine solche Fülle komplexer Programmier-Pradigmen (First-Class-Objekte, Metaprogrammierung, frei definierbare Daten- und Kontrollstrukturen), dass es an der renommierten University of Berkeley als Lehrsprache im Computer Science Departement eingesetzt wird.

Scratch und Snap! haben gegenüber herkömmlichen Programmiersprachen einen enormen Vorteil: die weite Kluft zwischen Idee und fertigem Code entfällt, die „Klötze“, aus denen diese visuellen Programmier-Umgebungen bestehen, sind auf der einen Seite anschaulich wie Ablaufdiagramme, auf der anderen Seite sind sie unmittelbar lauffähig. 3

Und wem Snap! noch nicht ausreicht, der ist mit „GP Blocks“ bestens bedient. GP steht für „General Purpose“, und GP Blocks ist eine Scratch-ähnliche visuelle Programmiersprache, gebaut von den Entwicklern von Scratch und Snap!, die auf fast allen Plattformen lauffähig ist (inklusive Chromebooks und Tablets), und die direkt ausführbaren Code erzeugt. Von ihrer Mächtigkeit ist GP Blocks vergleichbar mit textbasierten Programmiersprachen wie etwa Python.

1 Das „Massachusetts Institute of Technology“. Eines der renommiertesten Institute dieser Universität ist das von Nicholas Negroponte gegründete „MIT Media Lab“. Innerhalb des Media Lab entwickelte Mitchel Resnick mit seiner Forschungsgruppe „Lifelong Kindergarten Group“ die graphische Programmierumgebung Scratch.

2 Allein im Jahr 2018 fanden auf US-amerikanischem Boden zwei bedeutende Konferenzen zum Thema statt, die „Serious Play Conference“ im Juli in North Carolina und die „International Academic Conference of Meaningful Play“ im Oktober in Michigan, beide nach derzeitigem Kenntnisstand ohne deutsche Beteiligung auf dem Podium.

3 „Theorie der Klötze“, Keynote von Jens Mönig, dem Chefentwickler von Snap!, auf der 16. Tagung der Fachgruppe „Informatik-Bildung in Berlin und Brandenburg“ der Gesellschaft für Informatik.