Scratch ist eine erstmals 2007 veröffentlichte bildungsorientierte blockbasierte visuelle Programmiersprache für Kinder und Jugendliche inklusive ihrer Entwicklungsumgebung und einer eng verknüpften Online-Community-Plattform.
Zielsetzung Ihr Ziel ist es, Neueinsteiger – besonders Kinder und Jugendliche – mit den Grundkonzepten der Programmierung vertraut zu machen. Unter dem Motto imagine, program, share („Ausdenken, Entwickeln, Teilen“) wird die kreative und explorative Erstellung eigener Spiele und Multimedia-Anwendungen, verbunden mit dem gegenseitigen Austausch darüber, als Motivation genutzt.Scratch:Phänomen Scratch im DACH-Scratch-Wiki, abgerufen am 30. Januar 2017. Kostenlos und werbefrei können die Ergebnisse in einer internationalen Online-Community mit dem Scratch-Player abgespielt, diskutiert und weiterentwickelt werden. Außerdem gibt es einige Beispiele, die Anregungen für Einsteiger schaffen und das Prinzip des Programmierens näher bringen.
Namensherkunft Der Name Scratch 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 Scratch-Projekt übertragen und dort neu kombiniert werden (siehe: Remixingkultur). Dadurch erhalten Anfänger sehr schnell Erfolgserlebnisse, die motivieren, sich vertieft mit der Materie auseinanderzusetzen.
Entwicklung und Implementierung mini|Mitchel Resnick
Das erstmals 2007 veröffentlichte Scratch wurde unter der Leitung des US-amerikanischen Professors für Lernforschung Mitchel Resnick von einem kleinen Forschungsteam, der Lifelong Kindergarten Group, am MIT Media Lab entwickelt und größtenteils von der National Science Foundation und freiwilligen Spenden finanziert. Abgerufen am 30. Januar 2017.
Als Schüler des Mathematikers und Psychologen Seymour Papert entwickelt Resnick, basierend auf konstruktionistischen Lerntheorien, mithilfe digitaler Technologien Lern- und Experimentierumgebungen, die die kreativen Potentiale von Kindern und Jugendlichen fördern.NSF’s grant A Networked, Media-Rich Programming Environment to Enhance Informal Learning and Technological Fluency at Community Technology Centers, National Science Foundation, Sep 2003.
Die erste Implementierung der Scratch-Entwicklungsumgebung basierte auf Squeak (Scratch 1.0 im Jahr 2007Scratch 1.0 im DACH-Scratch-Wiki. Abgerufen am 30. Januar 2017. bis Scratch 1.4 im Jahr 2009Scratch 1.4 im DACH-Scratch-Wiki. Abgerufen am 30. Januar 2017.), der Scratch-Web-Player zunächst auf Java,Java Player im Scratch-Wiki, abgerufen am 30. Januar 2017. seit 2011 wahlweise auch auf Flash.Flash Player im Scratch-Wiki. Abgerufen am 30. Januar 2017. Die Version Scratch 2.0 erschien am 9. Mai 2013 und basierte komplett auf Flash.Scratch 2.0 im DACH-Scratch-Wiki. Abgerufen am 30. Januar 2017. Es gibt Scratch-Player für Squeak (Offline), Java und Flash (Online).
Das aktuelle Scratch 3.0 basiert auf JavaScript, Python, ActionScript und Shell. Die gesamten Scratch Ressourcen sind frei verfügbar unter GitHub.Scratch-Ressourcen auf GitHub Unterstützung für Touch-Bedienung gibt es für Mobile Chrome und Safari.Heise-Artikel zur Veröffentlichung Scratch 3.0Blog-Artikel des Entwicklerteams (MIT Media Lab) zur Veröffentlichung Scratch 3.0
Die „Scratch-App“ ist ein Offline-Editor, mit dem Scratch-Projekte offline erstellt werden können. Installations-Voraussetzungen sind Windows 10+, macOS 10.13+, ChromeOS oder Android 6.0+.scratch.mit.edu
Entwicklungsumgebung, Internetplattform, Scratch-Player Scratch bis Version 1.4 Die Entwicklungsumgebung kann kostenlos aus dem Internet heruntergeladen werden. Da sie mit dem plattformunabhängigen Smalltalk-Entwicklungssystem Squeak erstellt ist, gibt es Versionen für Windows, macOS und potentiell für weitere Betriebssysteme. Die mit Scratch erstellten Programme können direkt aus der Entwicklungsumgebung in einen persönlichen Benutzerbereich der Scratch-Website 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 Webbrowser dient ein Java-Interpreter, der sogenannte Scratch-Player.
Scratch ab Version 2.0 Die Entwicklungsumgebung ist auf der Scratch-Website direkt lauffähig und wie der neue Scratch-Player komplett in Flash erstellt. Download und Installation sind daher nicht mehr erforderlich. Eine Offline-Version zum Herunterladen für Mac OS, Windows und einige Linux-Versionen (32 bit) ist ebenfalls verfügbar, erfordert aber Adobe AIR.2.0 Offline-Editor für Scratch, abgerufen am 27. März 2015. Da Scratch-Web-Player auf Java oder Flash basieren, welche auf den mobilen Geräten von Apple (iPhone/iPad/iPod) nicht unterstützt werden, lassen sich Scratch-Projekte und die Scratch 2.0 Entwicklungsumgebung dort nicht ausführen. Eine eigenständige Scratch-Player-App für diese Geräte war bereits im App-Store gelistet, so dass man dort alle Scratch-Projekte ausführen konnte, wurde jedoch von Apple nach einigen Monaten wieder verbannt.Scratch iPhone Player auf mobilewikiserver.com (englisch, PDF) Abgerufen am 13. November 2012. Eine Alternative wird die Scratch-Modifikation BYOB 4.0/Snap! darstellen, deren Web-Player und Entwicklungsumgebung auf HTML5-Canvas und JavaScript basieren, die aber bisher erst im Betastadium und noch nicht voll kompatibel zu Scratch vorliegt.Snap! im DACH-Scratch-Wiki, abgerufen am 30. Januar 2017.
Scratch ab Version 3.0 mini|Programmieren mit der Scratch-Modifikation Snap! (BYOB) auf dem iPad von Apple funktioniert ohne Java und Flash.
Seit Januar 2019 ist Scratch in der auf HTML5 und JavaScript basierten Version 3.0 verfügbar. Diese Version nutzt Blockly (ursprünglich als Fork, heute als Abhängigkeit) und bietet nicht nur einige neue Blöcke und Funktionen, sondern kann erstmals auch auf mobilen Geräten wie dem iPad im Standard-Browser genutzt werden. Auf Smartphones ist der Scratch-Editor allerdings nicht sinnvoll einsetzbar, da der Bildschirm zu klein ist.
Systemvoraussetzungen:Was sind die Systemanforderungen für Scratch?
Unterstützte Browser: Desktop (Chrome 63+, Edge 15+, Firefox 57+, Safari 11+, Internet Explorer wird nicht unterstützt); Tablet (Mobile Chrome 63+, Mobile Safari 11+);
Unterstützte Betriebssysteme für den Scratch-App-Editor: Windows 10+, MacOS 10.13+, iOS 10+ (nur Tablets), Android 7.0+ (nur Tablets)
Verbreitung und Nutzung Seit 2007 breitete sich die Scratch-Idee u. a. durch den Netzwerkeffekt rasch aus. So entstand eine weltweit wachsende Gemeinschaft von Programmieranfängern, Schülern, Studenten, Pädagogen und Hobbyisten, die sich gegenseitig motivieren und unterstützen. Daraus resultierten lokale Gruppen, Ereignisse, Kurse, Übersetzungen, Beispiele, Unterrichtsmaterialien und vieles mehr, um Programmieranfängern zu helfen, ihre Kreativität und Kenntnisse zu entwickeln. Befördert wurde dies durch die intuitive Bedienung und leichte Übersetzbarkeit sowohl der Scratch-Entwicklungsumgebung als auch der Scratch-Website.Übersetzung auf der Seite des DACH-Scratch-Wiki Abgerufen am 30. Januar 2017. Hinzu kommt eine erfolgreiche Kommunikation und Medienarbeit des MIT-Scratch-Teams (u. a. dem weltweiten Scratch Day, der Ausbilder-Plattform ScratchEd, dem Scratch-Wiki sowie vielen wissenschaftlichen Publikationen, Interviews und Beiträgen in verbreiteten US-Medien). Abgerufen am 15. Januar 2013.
Internationalität und Übersetzbarkeit von Scratch Die Internationalität dieser Benutzergemeinde wird durch die leicht zugängliche Mehrsprachenfähigkeit aller Scratch-Plattformen gefördert, mit der die Online-Community die Entwicklungsumgebung, die Webplattform und auch die Programmierbefehls-Bausteine selbst in alle Sprachen übersetzt, womit Scratch u. a. auch komplett in Deutsch zur Verfügung steht. Auch in Ländern mit nicht auf lateinischen Buchstaben basierenden und von rechts nach links zu schreibenden Sprachen kommt Scratch zum Einsatz, denn bestehende Scratch-Projekte lassen sich per Knopfdruck auch in solche Sprachen umschalten. Bei der Übersetzung wird mit lokaler und/oder serverbasierter Pootle-Technologie gearbeitet.
Scratch Anwender-Zahlen Von den Anfängen im März 2007 bis Ende 2012 legten mehr als 1.300.000 Anwender – mit einem Altersschwerpunkt zwischen 8 und 16 Jahren – ein Scratch-Onlinekonto an, von denen über 400.000 in dieser Zeit insgesamt mehr als 3.000.000 selbstentwickelte Scratch-Projekte ins Netz stellten und über 1.380.000 Posts schrieben (in 13 englischsprachigen und 17 internationalen Scratch-Community-Foren). (englisch) Abgerufen am 9. Juni 2012. Da mit Scratch auch ohne Benutzerkonto gearbeitet werden kann und die aktuelle Scratch-Entwicklungsumgebung in vielen Unterrichtsformen ohne Webeinsatz genutzt wird, beträgt die Anzahl der Scratch-Anwender wahrscheinlich ein Vielfaches der angemeldeten Benutzer. Mittlerweile sind mehr als 89.000.000 Accounts auf Scratch registriert und es wurden mehr als 102.000.000 Projekte veröffentlicht.
Scratch an Erziehungseinrichtungen mini|Scratch auf einem Whiteboard
Scratch wird weltweit in verschiedensten Schulformen und Unterrichtsveranstaltungen eingesetzt. Schulen in Deutschland, Schweiz, Österreich und Luxemburg nutzen Scratch zunehmend. Auch an Universitäten werden Scratch oder das auf Scratch basierende Snap! (BYOB) zur Einführung in die Programmierung verwendet, etwa an der Universität Berkeley für Nicht-InformatikerWebseite des Kurses „UC Berkeley EECS CS10 : The Beauty and Joy of Computing Summer 2012“ (englisch) Abgerufen am 30. Januar 2017. oder an der Universität Hildesheim für Studierende des Lehramts.Förster 2011.
Scratch als Hobby Neben dem Einsatz in Bildungseinrichtungen wird die Verbreitung von vielen freien Organisationen vorangetrieben, die sich in Sammelbewegungen wie der deutschen Initiative Jeder kann programmieren oder der amerikanischen Code.org darstellen. So kommt Scratch auch außerhalb von Schulen in Hobby und Familie zum Einsatz. Viele Jugendliche entdecken Scratch selbstständig auf der Suche nach Möglichkeiten, wie sie selber leicht ein Computerspiel entwickeln und es anderen präsentieren können.Scratch auf KiKa: Programmieren als Hobby im DACH-Scratch-Wiki, abgerufen am 30. Januar 2017. Speziell Eltern mit IT-nahen Berufen nutzen Scratch häufig, um ihren Kindern schon in jungen Jahren einen motivierenden Einblick in die IT-Welt vermitteln zu können. Zunehmend entwickeln sich auch im deutschsprachigen Raum Clubs oder Vereine für MINT-begeisterte Jugendliche, oder auch zur Förderung von MINT-Erziehungs-benachteiligten Kindern aus bildungsfernen Haushalten (z. B. Computer-Clubhouse-Bewegung in den USA), die ebenfalls Scratch einsetzen. Neben solchen physischen Hobbygemeinschaften haben sich auch viele virtuelle Onlinegruppen von Hobbyisten gebildet, die gemeinsam Projekte realisieren und dazu regelmäßig online zusammenkommen, um sich über ihr Hobby auszutauschen.
Scratch Week