Raspberry Pi: Programmieren mit Scratch

Scratch ist eine erziehungsorientierte visuelle Programmiersprache für Kinder und Jugendliche. Scratch vereint eine Entwicklungsumgebung mit einer Online-Community. Das Ziel ist Einsteiger mit den Grundkonzepten der Programmierung von Computern vertraut zu machen. Das Maskottchen der Programmiersprache ist die Scratch-Katze. Was die kindgerechten Aspekte von Scratch unterstreichen soll.

Der grafische Programmierbaukasten von Scratch eignet sich zum Erstellen von Animationen und kleinen Spielen. Die intuitive Bedienung lädt zum Experimentieren mit den verschiedenen Funktionsblöcken ein. Erfolgserlebnisse stellen sich sehr schnell ein.

Scratch kann man in Windows auch ohne Installation direkt im Browser benutzen. Wobei dann Adobe Air und das Flash-Plugin installiert sein müssen.

Warum mit Scratch programmieren?

Scratch ist der bekannteste Vertreter für das Prinzip einer Visual Programming Language (VPL). Die Idee dabei ist, spielerisch die Grundlagen der Programmierung zu lernen. Scratch eignet sich sehr gut dafür. Damit lassen sich logische Zusammenhänge erschließen und es regt zum Ausprobieren an. Dabei kann man nicht viel falsch machen, was die Frustration sehr gering hält.

Das zentrale Element von Scratch ist die Entwicklungsumgebung, bei der die Programmausführung integriert ist. Während man bei anderen Programmiersprachen nach einer Änderung erst Speichern und eventuell noch kompilieren muss, finden hier die Änderungen sofort Eingang in die Programmausführung.

Die zur Verfügung gestellten Funktionsblöcke sind in einer verständlichen Sprache gehalten, deren Wirkung sich in Form und Farbe unterscheiden und mit einem virtuellen Lego vergleichbar. Hinter den farbigen Blöcken verstecken sich fertige Programme, die zusammengesteckt werden und dann Objekte bewegen, Eigenschaften ändern oder Aktionen auslösen.

Mit Scratch kann man zwar keine richtigen Programme schreiben, dafür kann man sich gestalterisch und musikalisch austoben. Die dafür notwendigen grafischen und akustischen Objekte werden mit der Entwicklungsumgebung mitgeliefert. Animationen und Spiele sind damit schnell erstellt. Außerdem wird das Verständnis für Geometrie und logische Zusammenhänge gefördert.

Entwicklungsumgebung

Die Entwicklungsumgebung von Scratch ist in verschiedene Bereich eingeteilt, die auf dem ersten Blick etwas verwirren können und je nach Programmversion unterschiedlich aufgeteilt ist. Es existiert eine Funktionsleiste in der man Funktionen, Eigenschaften, Kostüme und Klänge auswählen kann. Die Funktionsblöcke aus der Funktionsleiste werden beim "Programmieren" in das zentrale Skriptfenster gezogen. Dieses Programm bezieht sich dabei immer auf ein Objekt, für das es einen Bereich gibt, in dem die Objekte als Figuren dargestellt werden. Und dann existiert noch eine Bühne, in der die Figuren dargestellt werden und das erstellte "Programm" abläuft.

Quellcode in Scratch: Hello World

Das Skript im zentralen Programmbereich enthält eine Anweisung, die sich auf die Scratch-Katze bezieht und die nach dem Klick auf die grüne Flagge ausgeführt und anschließend beendet wird. Die Anweisung zeigt eine Sprechblase mit dem Inhalt "Hallo Welt" an.

Scratch 2.0

Neben erheblichen Verbesserungen an der Bedienoberfläche bringt Scratch 2.0 neue Funktionsblöcke und die oft gewünschte Unterstützung für GPIOs mit.
Die erste Version von Scratch wurde ursprünglich als native Anwendung veröffentlicht. Die zweite und verbesserte Version wurde als Online-Anwendung entwickelt und ist deshalb Plattform-unabhängig. Allerdings erfordert Scratch 2.0 einen Browser mit einem Flash-Plugin und eine Verbindung zum Internet.

Für Raspbian wurde in Zusammenarbeit mit Adobe die Pepper-Flash-Erweiterung für den Browser Chromium integriert. Pepper-Flash liegt Raspbian standardmäßig bei, läuft aber nicht auf dem originalen Raspberry Pi und auch nicht auf dem Raspberry Pi Zero. Desweiteren benötigt man für Scratch 2.0 keine Internetverbindung mehr und die Erweiterung "PI GPIO" lässt sich mit drei Mausklicks nachinstallieren.

In der Regel ist Scratch 2.0 vorinstalliert, kann aber auch nachträglich installiert werden.

sudo apt-get install scratch2

Tipp: ScratchJr

ScratchJr ist das kleine Geschwisterchen von Scratch. ScratchJr eignet sich gut, um sehr früh in die Welt des Programmierens einzusteigen. ScratchJr kommt fast ohne Lesekenntnisse aus und existiert kostenlos für Android- und iOS-Tablets. Bereits fünfjährige Kinder können mit Hilfe ihrer Eltern kleine Programme bauen.

Die ScratchJr-App besteht aus mehreren Teilen. Auf der linken Seite befinden sich die Figuren, die gesteuert werden sollen. In der Bildmitte befindet sich die Bühne, auf der sich die Figuren bewegen. Rechts verwaltet und bearbeitet man bis zu vier Szenen. Am unteren Rand befindet sich die Programmierleiste. Hier zieht man die Befehlsblöcke aus verschiedenen Kategorien rein und erstellt für jede Figur und Szene eigene Abläufe.

Insgesamt gibt es sechs Befehlskategorien. Mit "Triggern" (grün) löst man Ereignisse aus. Zum Beispiel durch einen Fingertipp. Mit "Motion" (blau) kann man Figuren bewegen. "Looks" (lila) ändert das Erscheinungsbild der Figuren und fügt Sprechblasen hinzu. Mit "Control" (orange) kann man die Größe und Geschwindigkeit der Figuren ändern. "Sounds" (grün) spielt Klänge ab. Und "End Blocks" (rot) wiederholt und beendet Abläufe.

Wenn die vorgefertigten Figuren und Hintergründe nicht ausreichen, kann man mit dem integrierten Mal-Editor vorhandene Bilder bearbeiten oder neue erstellen.

Wenn irgendwann die Möglichkeiten von ScratchJr nicht mehr ausreichen, kann man auf Scratch umsteigen und findet dort viele bekannte Funktionen wieder und kann mit den Möglichkeiten der neuen Funktionen weiter experimentieren.

Weitere verwandte Themen:

Teilen:

Produktempfehlungen