Scratch: spielerisch Programmieren lernen
Wenn Sie bisher der Meinung sind, dass das Erlernen einer Programmiersprache eine sehr ernste und schwierige Aufgabe darstellt, dann kennen Sie wahrscheinlich Scratch noch nicht. Hierbei handelt es sich um eine Programmiersprache, die ein vollkommen neues Konzept verfolgt. Sie zeichnet sich durch eine intuitive Anwendung aus, sodass Sie damit ohne jegliche Vorkenntnisse erste eigene Programme erzeugen können.
Die Grundidee von Scratch
Scratch ist eine bildungsorientierte Programmiersprache. Das bedeutet, dass es hierbei nicht darum geht, komplizierte Programme mit schwierigen Algorithmen und hoher Effizienz zu erzeugen. Stattdessen soll Scratch dabei helfen, erste Programmierkenntnisse zu sammeln. Diese Sprache ermöglicht daher einen spielerischen Einstieg. Sie ist in erster Linie für Kinder und Jugendliche konzipiert. Doch finden auch viele Erwachsene Gefallen daran, auf diese Weise eigene Programme zu erstellen. Die Idee hinter Scratch besteht darin, dass es Spaß machen soll, ein Computerprogramm zu schreiben. Dabei werden selbstverständlich auch wichtige Kenntnisse vermittelt. In erster Linie soll es jedoch Vergnügen bereiten, ein Programm mit Scratch zu gestalten. Einer der wesentlichen Aspekte besteht daher darin, die Motivation zu fördern.
Aus diesem Grund soll der Umgang mit Scratch so wenig wie möglich an Arbeit oder Unterricht erinnern. Es ist hierbei nicht notwendig, Befehle auswendig zu lernen. Scratch besteht aus einer grafischen Benutzeroberfläche mit visuellen Elementen. Diese kann der Programmierer einfach mit der Maus in die richtige Position ziehen. Da die Anwendung intuitiv ist, sind dafür keine Vorkenntnisse erforderlich. Außerdem ist es nicht notwendig, dass ein Lehrer die Kenntnisse vermittelt. Spiel und Spaß stehen hierbei im Vordergrund.
Die Entstehung der Programmiersprache
Bei Scratch handelt es sich um eine neuere Entwicklung. Die Ursprünge gehen auf das Jahr 2003 zurück. Die Grundidee stammt vom US-amerikanischen Professor Mitchel Resnick. Damit nimmt Scratch bereits eine Sonderstellung unter den Programmiersprachen ein. Während fast alle anderen Varianten von Informatikern entwickelt wurden, ist Resnick Professor für Lernforschung. Als Leiter der Lifelong Kindergarten group am Massachusetts Institute of Technology (MIT) stellte er eine kleine Forschergruppe für die Entwicklung von Scratch zusammen.
Die Veröffentlichung von Scratch 2.0 erfolgte 2013. Diese brachte eine erhebliche Neuerung mit sich. Während Scratch 1.0 nur als Desktop-Version verfügbar war, ist Scratch 2.0 auch im Webbrowser nutzbar. Das erleichtert die Anwendung deutlich und erweitert dadurch die Nutzungsmöglichkeiten auch für Personen, die über keinen Zugang zu einem eigenen Computer verfügen.
Die wesentlichen Eigenschaften von Scratch
Scratch unterscheidet sich in vielen Bereichen von den gängigen Programmiersprachen. Um eine Vorstellung von dieser Technik zu erhalten, ist es daher wichtig, sich mit den Eigenschaften genau auseinanderzusetzen.
Grafische Elemente
Um Scratch zu verstehen, können Sie sich einmal den folgenden Screenshot anschauen. Dabei handelt es sich um die Online-Version von Scratch.
Hier sehen Sie in der linken Spalte verschiedene Befehlsblöcke. Diese können Sie einfach mit der Maus in den mittleren Bereich ziehen und auf diese Weise den Ablauf des Programms erzeugen. Darüber hinaus gibt es verschiedene Figuren, die Sie ebenfalls in das Programm einfügen können. Das zeigt den visuellen Charakter von Scratch. Sie können hier einfach aus verschiedenen Elementen auswählen und die Möglichkeiten nach Ihren Wünschen zusammenstellen und ausprobieren.
Auf diese Weise sollen alle Probleme, die Anfängern die Motivation nehmen, vermieden werden. Sie müssen hierbei keine Befehle auswendig lernen. Stattdessen ziehen Sie die entsprechenden Blöcke einfach in das Programm. Außerdem fällt keine langwierige Tipparbeit an. Darüber hinaus müssen Sie sich nicht um Syntaxregeln kümmern. Das ermöglicht eine äußerst spielerische Programmgestaltung.
Übersetzte Befehle
Bei fast allen gängigen Programmiersprachen sind die Befehle der englischen Sprache entlehnt. Das stellt für Kinder aus Deutschland und vielen anderen Ländern jedoch eine zusätzliche Herausforderung dar. Deshalb steht Scratch in mehr als 40 verschiedenen Sprachen zur Verfügung. Es gibt sogar Versionen, die keine lateinischen Schriftzeichen verwenden oder die von rechts nach links geschrieben werden. Die übersetzten Befehle erleichtern insbesondere Kindern ohne gute Englischkenntnisse die Anwendung deutlich.
Nicht nur die Befehle sind in viele verschiedene Sprachen übersetzt. Auch die ganze Entwicklungsumgebung für Scratch ist in zahlreichen Sprachen erhältlich. All diese Maßnahmen führen dazu, dass mit Scratch Menschen aus ganz verschiedenen Teilen der Welt mit möglichst geringen Barrieren das Programmieren erlernen können.
Spielfiguren als Objekte
Scratch unterstützt die objektorientierte Programmierung. Der Grundidee dieser Programmiersprache entsprechend handelt es sich jedoch auch hierbei um ein spielerisches Prinzip. Scratch enthält Spielfiguren, die der Programmierer verwenden kann. Dabei werden Grundprinzipien wie die Datenkapselung und der polymorphe Versand von Nachrichten angewendet. Strukturelemente wie Klassen, Vererbung und Prototyping gibt es hierbei jedoch nicht.
Auch an diesem Beispiel sieht man wieder, dass Scratch der spielerischen Wissensvermittlung dient. Statt sich mit komplizierten theoretischen Konstrukten wie der objektorientierten Programmierung zu beschäftigen, können die Programmierer hierbei einfach spielerisch Figuren anwenden, die einige Grundprinzipien dieses Programmierparadigmas umsetzen. Auf diese Weise erlernen sie auf natürliche Weise den Umgang mit dieser Technik.
Intuitive Bedienung und farbliche Kennzeichnungen
Ein weiteres wichtiges Kennzeichen von Scratch stellt die intuitive Bedienung dar. Das ist eng mit der visuellen Gestaltung der Oberfläche verbunden. Auf diese Weise können die Anwender einfach verschiedene Möglichkeiten ausprobieren und das Ergebnis überprüfen. Hierfür ist keine Einarbeitung notwendig. Selbst Kinder können einfach die Entwicklungsumgebung öffnen und ganz ohne Vorkenntnisse und Hilfestellung Programme erzeugen. Zusätzlich sind jedoch auch Videos und Tutorials verfügbar. Diese erklären jedoch nicht detailliert die Anwendung und die Programmerstellung. Stattdessen geben sie Anreize und Ideen.
Ein wichtiges Element für die intuitive Bedienung stellt die farbliche Gestaltung dar. Scratch verwendet mehrere Farben, um zusammengehörige Gruppen von Befehlen auszuzeichnen. Das erleichtert die Einordnung, ohne dass die Anwender bewusst über die Zusammenhänge nachdenken müssen.
Einfache Wiederverwendbarkeit der Bauteile
Der Name Scratch geht auf die Scratchtechnik zurück, die viele DJs anwenden. Dabei werden verschiedene Musikstücke neu aufgelegt, mit anderen Werken kombiniert und nach den eigenen Vorstellungen verändert. Das stellt auch eine wichtige Eigenschaft dieser Programmiersprache dar. Die Nutzer sind dazu angehalten, ihre Programme miteinander zu teilen. Daher ist es stets möglich, Elemente anderer Programmierer in die eigenen Werke einzubauen. Dabei ist es selbstverständlich möglich, Anpassungen vorzunehmen.
Auf diese Weise entstehen schnelle Erfolge. Die Verwendung von Codebausteinen anderer Programmierer ermöglichen es, in kurzer Zeit interessante Programme zu erstellen. Darüber hinaus lernen die Kinder dabei, dass es nicht notwendig ist, jedes Programm von Grund auf selbst zu erstellen. Auch professionelle Programmierer arbeiten häufig mit fremden Codebausteinen. Auf diese Weise wird diese Technik bereits von Beginn an erlernt.
Internationale Community
Schließlich zeichnet sich Scratch durch eine große internationale Community aus. Die Programmierer können auf diese Weise ihre Werke miteinander teilen. Das führt zu Motivation und Anerkennung. Außerdem entstehen durch den Austausch viele neue Ideen und häufig auch gemeinsame Projekte.
Selbstverständlich wirken in der Community auch erfahrene Programmierer mit. Das gibt den Kindern die Möglichkeit, Fragen zu stellen, wenn sie einmal nicht weiterkommen. Auch das trägt dazu bei, dass Scratch große Erfolgserlebnisse ermöglicht und dadurch die Motivation steigert. Genau wie die Programmbefehle und die Entwicklungsumgebung ist auch die Community mehrsprachig. Auch das erleichtert den Einstieg für Teilnehmer aus aller Welt.
Die Verbreitung von Scratch
Die Vorstellung der Eigenschaften von Scratch lässt bereits darauf schließen, dass sich diese Programmiersprache nicht für die professionelle Softwareentwicklung eignet. Sie ist ausschließlich zu Bildungszwecken bestimmt. Die Zielgruppe sind 8- bis 16-jährige Kinder und Jugendliche. Scratch kommt in Schulen, Museen und Bibliotheken sowie bei vielen privaten Projekten zum Einsatz. Daher befassen sich insbesondere Pädagogen mit Scratch. Einige Hochschulen haben den Umgang mit dieser Programmiersprache bereits in die Lehrerausbildung aufgenommen.
Scratch dient jedoch nicht nur dazu, erste Programmierkenntnisse zu vermitteln und einen spielerischen Einstieg in die Informatik zu ermöglichen. Darüber hinaus sind damit auch verschiedene Forschungsprojekte verbunden. Ein Team am MIT untersucht beispielsweise, auf welche Weise die Anwender Scratch nutzen. Um einen Schutz der persönlichen Daten zu gewährleisten, werden hierfür jedoch selbstverständlich nur Projekte ausgewertet, die öffentlich zugänglich gemacht wurden. Auf diese Weise trägt Scratch dazu bei, die Interaktion zwischen Mensch und Computer besser zu verstehen. Der enorme Wissensgewinn, der sich daraus erzielen lässt, hat dazu geführt, dass mittlerweile nicht mehr nur das MIT an Scratch forscht. Hinzu kommen mehrere Universitäten und Technologie-Konzerne aus aller Welt.