www.wikidata.de-de.nina.az
Scratch ist eine erstmals 2007 veroffentlichte bildungsorientierte visuelle Programmiersprache fur Kinder und Jugendliche inklusive ihrer Entwicklungsumgebung und der eng verknupften Online Community Plattform ScratchBasisdatenParadigmen objektorientiert ereignisorientiert imperativErscheinungsjahr 2007Designer Mitchel ResnickEntwickler Mitchel Resnick MIT Scratch Team und weitere Entwickler 1 Aktuelle Version 3 0 2 2 Januar 2019 Typisierung dynamischWichtige Implementierungen Scratch 1 x in Squeak Scratch 2 x in Flash Scratch 3 0 in JavaScriptBeeinflusst von Logo Smalltalk 80 Squeak Etoys HyperCard AgentSheets StarLogo Tweak Snap BYOB Beeinflusste Catrobat Snap BYOB App InventorBetriebssystem Scratch 1 x 2007 Windows macOS Linux per Squeak exe Scratch 2 x 2013 Flash im Webbrowser Scratch 3 0 2019 JavaScript im WebbrowserLizenz 3 Klausel BSDscratch mit edu Inhaltsverzeichnis 1 Zielsetzung 2 Namensherkunft 3 Entwicklung und Implementierung 4 Entwicklungsumgebung Internetplattform Scratch Player 4 1 Scratch bis Version 1 4 4 2 Scratch ab Version 2 0 4 3 Scratch ab Version 3 0 5 Verbreitung und Nutzung 5 1 Internationalitat und Ubersetzbarkeit von Scratch 5 2 Scratch Anwender Zahlen 5 3 Scratch an Erziehungseinrichtungen 5 4 Scratch als Hobby 5 5 Scratch Week 5 6 Scratch MIT Konferenz 5 7 Europaische Scratch Konferenzen 5 8 ScratchEd 5 9 Scratch Wiki 5 10 Remixingkultur 6 Prinzipien von Sprachumfang und Bedienung 7 Programmier Erfahrung mit Scratch 7 1 Kein Tippen Keine Syntaxfehler 7 2 Intuitives Lernen 7 3 Das Scratch Projekt 7 4 Spielfiguren und Buhne 7 5 Werte und Variablen 7 6 Programmier und Abspielmodus 7 7 Skripte aus Bausteinen Blocken 7 8 Farb Kategorien der Scratch Blocke 7 9 Knopfe und Menus 7 10 Kopfbausteine Multitasking und Ereignissteuerung 7 11 Laufzeit Programmierzeit Debuggen 7 12 Drag and Drop 8 Weiterentwicklungen von Scratch 8 1 Panther 8 2 Programmieren mit der Maus 8 3 Scratch for Arduino 8 4 ScratchJr 8 5 Snap BYOB 8 6 Microsoft MakeCode 8 7 mBlock 8 8 NEPO 8 9 Cubi 9 Padagogische Effekte 9 1 Scratch vs Karel 10 Siehe auch 11 Literatur 12 Weblinks 13 EinzelnachweiseZielsetzung BearbeitenIhr 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 daruber als Motivation genutzt 3 Kostenlos und werbefrei konnen die Ergebnisse in einer internationalen Online Community mit dem Scratch Player abgespielt diskutiert und weiterentwickelt werden Ausserdem gibt es einige Beispiele die Anregungen fur Einsteiger schaffen und das Prinzip des Programmierens naher bringen Namensherkunft BearbeitenDer Name Scratch leitet sich von der DJ Scratchtechnik ab Die Gemeinsamkeit zum musikalischen Scratchen ist die leichte Wiederverwendbarkeit von Versatzstucken In Scratch konnen alle interaktiven Objekte Grafiken und Tone leicht von einem in ein anderes Scratch Projekt ubertragen und dort neu kombiniert werden siehe Remixingkultur Dadurch erhalten Anfanger sehr schnell Erfolgserlebnisse die motivieren sich vertieft mit der Materie auseinanderzusetzen Entwicklung und Implementierung Bearbeiten nbsp Mitchel ResnickDas erstmals 2007 veroffentlichte Scratch wurde unter der Leitung des US amerikanischen Professors fur Lernforschung Mitchel Resnick von einem kleinen Forschungsteam der Lifelong Kindergarten Group am MIT Media Lab entwickelt und grosstenteils von der National Science Foundation und freiwilligen Spenden finanziert 4 Als Schuler 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 fordern 5 Die erste Implementierung der Scratch Entwicklungsumgebung basierte auf Squeak Scratch 1 0 im Jahr 2007 6 bis Scratch 1 4 im Jahr 2009 7 der Scratch Web Player zunachst auf Java 8 seit 2011 wahlweise auch auf Flash 9 Die Version Scratch 2 0 erschien am 9 Mai 2013 und basierte komplett auf Flash 10 Es gibt Scratch Player fur Squeak Offline Java 8 und Flash 9 Online Das aktuelle Scratch 3 0 basiert auf JavaScript Python ActionScript und Shell Die gesamten Scratch Ressourcen sind frei verfugbar unter GitHub 11 Unterstutzung fur Touch Bedienung gibt es fur Mobile Chrome und Safari 12 13 Die Scratch App ist ein Offline Editor mit dem Scratch Projekte offline erstellt werden konnen Installations Voraussetzungen sind Windows 10 macOS 10 13 ChromeOS oder Android 6 0 14 Entwicklungsumgebung Internetplattform Scratch Player BearbeitenScratch bis Version 1 4 Bearbeiten Die Entwicklungsumgebung kann kostenlos aus dem Internet heruntergeladen werden Da sie mit dem plattformunabhangigen Smalltalk Entwicklungssystem Squeak erstellt ist gibt es Versionen fur Windows macOS und potentiell fur weitere Betriebssysteme Die mit Scratch erstellten Programme konnen direkt aus der Entwicklungsumgebung in einen personlichen Benutzerbereich der Scratch Website hochgeladen werden Dort konnen die Programme von anderen Mitgliedern der Scratch Community genutzt kommentiert und zum Lernen und zur Weiterentwicklung heruntergeladen werden Zur Ausfuhrung direkt im Webbrowser dient ein Java Interpreter der sogenannte Scratch Player Scratch ab Version 2 0 Bearbeiten Die Entwicklungsumgebung ist auf der Scratch Website direkt lauffahig und wie der neue Scratch Player komplett in Flash erstellt Download und Installation sind daher nicht mehr erforderlich Eine Offline Version zum Herunterladen fur Mac OS Windows und einige Linux Versionen 32 bit ist ebenfalls verfugbar 15 Da Scratch Web Player auf Java oder Flash basieren welche auf den mobilen Geraten von Apple iPhone iPad iPod nicht unterstutzt werden lassen sich Scratch Projekte und die Scratch 2 0 Entwicklungsumgebung dort nicht ausfuhren Eine eigenstandige Scratch Player App fur diese Gerate war bereits im App Store gelistet so dass man dort alle Scratch Projekte ausfuhren konnte wurde jedoch von Apple nach einigen Monaten wieder verbannt 16 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 17 Scratch ab Version 3 0 Bearbeiten nbsp Programmieren mit der Scratch Modifikation Snap BYOB auf dem Apple iPad von Apple funktioniert ohne Java und Flash Seit Januar 2019 ist Scratch in der auf HTML5 und JavaScript basierten Version 3 0 verfugbar Diese Version bietet nicht nur einige neue Blocke und Funktionen sondern kann erstmals auch auf mobilen Geraten wie dem iPad im Standard Browser genutzt werden 18 Auf Smartphones ist der Scratch Editor allerdings nicht sinnvoll einsetzbar da der Bildschirm zu klein ist Systemvoraussetzungen 19 Unterstutzte Browser Desktop Chrome 63 Edge 15 Firefox 57 Safari 11 Internet Explorer wird nicht unterstutzt Tablet Mobile Chrome 63 Mobile Safari 11 Unterstutzte Betriebssysteme fur den Scratch App Editor Windows 10 MacOS 10 13 iOS 10 nur Tablets Android 7 0 nur Tablets Verbreitung und Nutzung BearbeitenSeit 2007 breitete sich die Scratch Idee u a durch den Netzwerkeffekt rasch aus So entstand eine weltweit wachsende Gemeinschaft von Programmieranfangern Schulern Studenten Padagogen und Hobbyisten die sich gegenseitig motivieren und unterstutzen Daraus resultierten lokale Gruppen Ereignisse Kurse Ubersetzungen Beispiele Unterrichtsmaterialien und vieles mehr um Programmieranfangern zu helfen ihre Kreativitat und Kenntnisse zu entwickeln Befordert wurde dies durch die intuitive Bedienung und leichte Ubersetzbarkeit sowohl der Scratch Entwicklungsumgebung als auch der Scratch Website 20 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 Beitragen in verbreiteten US Medien 21 Internationalitat und Ubersetzbarkeit von Scratch Bearbeiten Die Internationalitat dieser Benutzergemeinde wird durch die leicht zugangliche Mehrsprachenfahigkeit aller Scratch Plattformen gefordert mit der die Online Community die Entwicklungsumgebung die Webplattform und auch die Programmierbefehls Bausteine selbst in alle Sprachen ubersetzt womit Scratch u a auch komplett in Deutsch zur Verfugung steht Auch in Landern 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 Ubersetzung wird mit lokaler und oder serverbasierter Pootle Technologie gearbeitet Scratch Anwender Zahlen Bearbeiten Von den Anfangen im Marz 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 uber 400 000 in dieser Zeit insgesamt mehr als 3 000 000 selbstentwickelte Scratch Projekte ins Netz stellten und uber 1 380 000 Posts schrieben in 13 englischsprachigen und 17 internationalen Scratch Community Foren 22 Da mit Scratch auch ohne Benutzerkonto gearbeitet werden kann und die aktuelle Scratch Entwicklungsumgebung in vielen Unterrichtsformen ohne Webeinsatz genutzt wird betragt 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 veroffentlicht 23 Scratch an Erziehungseinrichtungen Bearbeiten nbsp Scratch auf einem WhiteboardScratch wird weltweit in verschiedensten Schulformen und Unterrichtsveranstaltungen eingesetzt Schulen in Deutschland Schweiz Osterreich und Luxemburg nutzen Scratch zunehmend Auch an Universitaten werden Scratch oder das auf Scratch basierende Snap BYOB zur Einfuhrung in die Programmierung verwendet etwa an der Universitat Berkeley fur Nicht Informatiker 24 oder an der Universitat Hildesheim fur Studierende des Lehramts 25 Scratch als Hobby Bearbeiten 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 ausserhalb von Schulen in Hobby und Familie zum Einsatz Viele Jugendliche entdecken Scratch selbststandig auf der Suche nach Moglichkeiten wie sie selber leicht ein Computerspiel entwickeln und es anderen prasentieren konnen 26 Speziell Eltern mit IT nahen Berufen nutzen Scratch haufig um ihren Kindern schon in jungen Jahren einen motivierenden Einblick in die IT Welt vermitteln zu konnen Zunehmend entwickeln sich auch im deutschsprachigen Raum Clubs oder Vereine fur MINT begeisterte Jugendliche oder auch zur Forderung 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 regelmassig online zusammenkommen um sich uber ihr Hobby auszutauschen Scratch Week Bearbeiten Der seit 2009 jahrlich stattfindende Scratch Day jetzt Scratch Week tragt mit vielen lokalen Aktionen stark zur Verbreitung der Scratch Idee bei im deutschsprachigen Raum zuletzt am 13 Mai 2017 an der Alpen Adria Universitat in Klagenfurt 27 Der vom MIT Scratch Team ausgerufene erste weltweite Scratch Day am 16 Mai 2009 dokumentiert dies Auf der dazugehorigen Website trugen sich innerhalb von wenigen Wochen weit uber 100 regionale Organisationen wie Schulen oder Computerclubs ein die eines der lokalen Scratch Day Ereignisse organisierten Zum ersten deutschen Scratch Day 2009 kamen in Bochum Scratch Experten aus ganz Deutschland zusammen um Scratch fur Kinder Eltern Lehrer und Wissenschaftler unter verschiedensten Aspekten vorzustellen 28 Scratch MIT Konferenz Bearbeiten Scratch MIT ist eine Konferenz fur Lehrer Professoren Forscher Entwickler und alle die sich mit Scratch oder dem Unterrichten von Kindern beschaftigen Bei der Konferenz konnen Erfahrungen und Geschichten ausgetauscht Workshops besucht und Vortrage angehort werden Die Konferenz findet alle zwei Jahre 2008 2010 2012 2014 am MIT Media Lab in Cambridge Massachusetts USA statt und folgt jeweils einem ausgewahlten Motto Die Scratch Konferenz am MIT bildet ein Aquivalent zur neu eingefuhrten europaischen Scratch Konferenz 2013 die immer in den Jahren zwischen den Scratch MIT Konferenzen stattfindet Die Scratch MIT Konferenz 2014 fand vom 6 bis zum 9 Juli unter dem Motto Projects Peers Passion Play statt 29 30 31 Europaische Scratch Konferenzen Bearbeiten In den Jahren 2008 2010 und 2012 konnten Interessierte an der Scratch Konferenz im MIT Media Lab in Cambridge Massachusetts teilnehmen Mitglieder der europaischen Scratcher Gemeinschaft fanden dass es auch fur Scratcher die nicht die Moglichkeit haben in die USA zu reisen eine Gelegenheit zum Treffen mit anderen Scratchern geben sollte 32 Scratch Connecting Worlds 2013 in Barcelona war die erste europaische Scratch Konferenz Sie fand von 25 bis 27 Juli in von der Citilab Barcelona zur Verfugung gestellten Raumlichkeiten statt Erzieher Forscher Entwickler und andere Mitglieder der weltweiten Scratch Gemeinschaft nutzen die Gelegenheit um die kreativen Moglichkeiten von Scratch zu feiern und zu teilen Die insgesamt siebente internationale Scratch Konferenz hat den Titel Scratch2015AMS Creative communities 33 und findet in Amsterdam vom 12 bis 15 August 2015 statt ScratchEd Bearbeiten ScratchEd ist eine englischsprachige Online Community fur Lehrer und andere Ausbilder die mit Scratch arbeiten Dort haben die Mitglieder einige hundert Materialien Quellen und Tipps fur die Bildungsarbeit mit Scratch eingestellt Ausserdem konnen sich die Anwender uber die Website austauschen und miteinander in Kontakt treten Die Hauptsprache ist Englisch aber auch in vielen anderen Sprachen u a Deutsch wurden bereits fur den Unterricht nutzliche Materialien hinterlegt Das Angebot umfasst Anfang 2013 u a 193 Storys d h Berichte uber Veranstaltungen und einige hundert Ressourcen deren Anwendungsbereich vom Kindergarten bis zur Hochschule und uber alle Fachbereiche geht 34 Scratch Wiki Bearbeiten Das Scratch Wiki ist ein freies gemeinschaftlich geschriebenes Wiki auf MediaWiki Basis das Informationen uber die Programmiersprache Scratch deren Websites Geschichte und begleitende Phanomene enthalt Das Wiki wird vom Scratch Team unterstutzt ist aber im Wesentlichen von Scratchern geschrieben Das Scratch Wiki ist eine beliebte Quelle fur Informationen uber Skripte und Anleitungen die standig weiter wachst weil es Scratcher als ihre erste Informationsquelle nutzen Das erste internationale Schwester Projekt ist das ebenfalls vom Scratch Team unterstutzte DACH Scratch Wiki in deutscher Sprache Das englischsprachige Scratch Wiki wurde am 6 Dezember 2008 gegrundet und enthalt uber 1400 Artikel das deutschsprachige Scratch Wiki wurde am 8 Februar 2012 gegrundet und enthalt uber 750 Artikel 35 Mittlerweile existieren Wikis auf franzosisch niederlandisch russisch ungarisch japanisch und indonesisch Remixingkultur Bearbeiten 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 verandern und erganzen um eigene Werke daraus zu schaffen Diese werden dann wiederum anderen zur Verfugung gestellt Die Entwicklungsumgebung bringt dafur bereits einen grossen Fundus an Beispielprojekten Spielfiguren Grafiken und Sounds mit der fur erste Einsteigererfahrungen umfangreiches Ausgangsmaterial liefert Dieses wird erweitert durch selbstgemachte oder aufgezeichnete Bild und Tondateien sowie den Multimediaelementen oder ganzen Spielfiguren und Programmen die aus bereits veroffentlichten Scratch Projekten anderer entnommen werden konnen Das Wiederverwenden der Spielfiguren in anderen Projekten wird gefordert indem sie komplett mit allen ihren Kostumen Klangen und Programmen aus Projekten als Datei exportiert und in andere importiert werden konnen was haufig ohne grossere Anpassungen zu lauffahigen Kombinationsprojekten fuhrt Das Herunterladen fremder Projekte anschliessendes Andern 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 fur denjenigen dessen Material verwendet wird Remixing wird unterstutzt indem ein Projekt seine Herkunft mit sich tragt und der Weg des Remix auf der Scratch Website bis zum Ursprungsautor ruckverfolgbar ist Auf der Scratch Website entstehen so durch eine spezielle Visualisierungsseite Remixing Ketten und Baume die durchaus hunderte von Projekten umfassen konnen 36 Prinzipien von Sprachumfang und Bedienung BearbeitenBei Sprachumfang und Bedienung wurde hohe Prioritat auf den intuitiven Zugang und auf die Vermeidung von hoher Komplexitat oder Abstraktion gelegt Machtigen Funktionen wie Multimediaelementen und Multitasking stehen starke Einschrankungen in Peripherienutzung und Sprachumfang gegenuber Alle Elemente die den intuitiven Einstieg behindern konnten wurden in empirischen Studien identifiziert und eliminiert Alles was den Einsteiger motiviert sein Verstandnis erleichtert und zur explorativen Entwicklung ermutigt wurde betont Spielerisches Lernen steht im Vordergrund So konnen 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 Einschrankungen positiv darauf wie schnell und intuitiv Ergebnisse zu erreichen sind und betrachten die Beschrankung als Herausforderung ihrer Programmierkunste Scratch unterstutzt folgende Programmierparadigmen bzw Eigenschaften die einem solchen ahnlich sind visuell Alle Elemente aus denen ein Scratch Projekt im Wesentlichen per Drag and Drop zusammengebaut wird werden durch ihre intuitiv verstandliche grafische Darstellung reprasentiert wie z B Programmierbefehle durch Bausteinbilder Sounds durch ein Aufnahme Abspiel Geratebild und Objekte durch ihr Kostum Bild bildungsorientiert Scratch entstand nicht am Reissbrett sondern es wurde in jahrelangen Untersuchungen erforscht welche Konzepte von Programmieranfangern intuitiv aufgenommen werden konnen Alles weniger Eingangige wird so lange vermieden bis auch hierfur eine eingangige Herangehensweise gefunden ist imperativ Ein einzelnes Programmskript aus Scratch Programmierbausteinen ist imperativ Es besteht aus einer Folge von Befehlen die vorgeben in welcher Reihenfolge was vom Computer getan werden soll In der Sprache Scratch gibt es diese Kontrollstrukturen Sequenz Blockstruktur Bedingte Anweisung und Verzweigung und drei verschiedene Schleifenformen objektorientiert Scratch entspricht dem Programmierparadigma der Objektorientierung bezuglich Datenkapselung und polymorphem Nachrichtenversand besitzt aber weder Klassen noch Vererbung oder Prototyping Eine sehr einfache Objektorientierung ist damit fur Programmieranfanger begreifbar Objekte sind die Spielfiguren die quasi nur sich selber als einzige Instanz besitzen der Austausch von Nachrichten erfolgt mit den Bausteinen sende X an alle oder sende X an alle und warte und den Kopfbaustein wenn ich X empfange Der objektorientierte Aspekt von Scratch tritt also erst im Zusammenspiel mehrerer Scripte und oder mehrerer Objekte Spielfiguren auf ereignisorientiert Jedes Scratch Skript aus denen die Programmierung eines Scratch Projektes besteht startet sobald das in seinem Kopf Baustein definierte Ereignis eintritt Zusatzlich kann mit einem Baustein Warte bis der Programmfluss unterbrochen werden bis ein Ereignis eintritt parallelitatsunterstutzend Eine erstaunliche Eigenschaft von Scratch ist dass das eigentlich komplexe Programmierparadigma der parallelen Programmierung quasi nebenbei eingefuhrt wird Im Gegensatz zu traditionellen erziehungsorientierten Programmiersprachen wird dieses in Scratch auch von Anfangern intuitiv sofort genutzt so dass sie sich spater gegebenenfalls wundern dass andere Programmiersprachen zunachst nur sequentiell arbeiten dynamische Typisierung Der Datentyp von Variablen wird in Scratch nicht vereinbart und kann sich wahrend der Ausfuhrung andern Allerdings stehen oberflachlich nur wenige Typen zur Verfugung namlich Zahlen und Zeichenketten wobei nicht naher zwischen INTEGER DECIMAL CHAR oder STRING unterschieden wird Neben Programmierbausteinen fur diese Variablen gibt es in Scratch die Liste die jedoch uber separate Bausteine angesprochen wird Die Lange von Listen wird nicht vereinbart und ihre Elemente sind wiederum Zahlen Wahrheitswerte oder Zeichenketten Programmier Erfahrung mit Scratch Bearbeiten nbsp Scratch 2 0 Entwicklungsumgebung BeispielKein Tippen Keine Syntaxfehler Bearbeiten Scratch ist so konzipiert dass bereits junge Kinder und Erwachsene ohne Computerkenntnisse mit Scratch motivierende Programmiererfahrungen machen konnen Da es auf einer nahezu rein grafisch gehaltenen Oberflache basiert werden potentielle Frustfaktoren wie viel Tipparbeit komplizierte Sprachsyntax und diesbezugliche Fehler ausgeschlossen Intuitives Lernen Bearbeiten Die Erstellung von Scratch Projekten soll sich beim Zusehen und Ausprobieren leichter erschliessen lassen als durch eine schriftliche Anleitung da neben Textmetaphern wie Buhne Spielfigur Kostum Baustein viele intuitiv verstandliche Form und Farbordnungen verwendet werden die von Anfangern einfach benutzt werden konnen ohne dass daruber bewusst nachgedacht werden muss Da die Funktion vieler Elemente intuitiv klar wird spielen ihre genauen Bezeichnungen beim Verstandnis keine wesentliche Rolle zumal diese Bezeichnungen durch die beliebig austauschbaren Sprachdateien willkurlich sind Man nutzt bei Scratch das Programmieren mit Blocken Das bedeutet dass man nicht wie bei Logo z B alles eintippen muss sondern man zieht die Blocke einfach in das Programmierfeld Man kann ausserdem eigene Blocke erstellen Das Scratch Projekt Bearbeiten 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 enthalt in Scratch 1 4 Ausserdem kann das Projekt per Klick auf der Scratch Website veroffentlicht werden Veroffentlichen Share oder von dort in die Entwicklungsumgebung geholt werden Ab Scratch 2 0 ist keine lokale Installation mehr notwendig auch die Entwicklungsumgebung ist online Spielfiguren und Buhne Bearbeiten In einem Scratch Projekt agieren beliebig viele Spielfiguren Objekte Sprites auf einer Buhne Hintergrund Stage Die Spielfiguren haben Ahnlichkeit mit der Schildkrote in der Programmierlernsprache Logo jedoch wesentlich mehr Fahigkeiten und Eigenschaften Spielfiguren und Buhne konnen wechselnde Kostume Grafiken anziehen und Gerausche Schlagzeugklange oder Noten abspielen Die Spielfiguren konnen sich auf der Buhne bewegen drehen ihre Grosse andern sich beeinflusst von verschiedenen grafischen Effekten zeigen oder verstecken Malspuren und Stempel Abdrucke hinterlassen sprechen und denken Sprech Denkblasen Werte und Variablen Bearbeiten Die Spielfiguren haben Werte X Y Ausrichtung Grosse Lautstarke Tempo Stifteinstellungen und zusatzlich erstellbare lokale Variablen und Listen die bei Bedarf auf der Buhne dargestellt werden konnen Neben diesen lokalen konnen auch globale Variablen und Listen angelegt werden die in allen der Spielfiguren und der Buhne gelten Die Werte und Variablenbelegungen im Zeitpunkt des Abspeichern oder Veroffentlichen eines Programms sind Teil desselben und definieren den Startzustand Programmier und Abspielmodus Bearbeiten Im Abspielmodus der Entwicklungsumgebung und im Internet Player sieht man vom fertigen Scratch Projekt nur noch die Buhne Im Programmiermodus der Entwicklungsumgebung kann das Projekt ebenfalls uneingeschrankt abgespielt werden jedoch kann dabei jederzeit andernd eingegriffen werden und die Buhne belegt nur einen Teil des Scratch Fensters das dann in vier Bereiche unterteilt ist Die Buhne links oben vor Version 2 rechts oben die Spielfiguren Auswahl links unten vor Version 2 rechts unten und die in acht farbige Facher eingeteilte Bausteinkiste rechts vor Version 2 links sind drei konstante Bereiche wahrend sich der vierte Programme Kostume Klange Bereich anhand der Spielfiguren Auswahl andert Dieser mittlere Bereich zeigt stets die Programme Kostume Klange und Werte der ausgewahlten Spielfigur oder der ebenfalls auswahlbaren Buhne Im Programme Kostume Klange Bereich kann mittels Laschen zwischen den Elementen der gewahlten Spielfigur bzw der Buhne geblattert werden Skripte aus Bausteinen Blocken Bearbeiten In die Lasche Programme werden die Programmier Bausteine der Farbe des aktuell gewahlten Baustein Faches gezogen und dort zu Programmen zusammengebaut die dann frei nebeneinander auf der Flache liegen Bausteine die nicht gebraucht werden konnen ohne Funktion liegenbleiben oder durch Herausziehen weggeraumt werden Viele Bausteine haben Bedienelemente bzw Offnungen in die andere Bausteine Listenauswahlen Zahlen Buchstaben oder Farben mit Bildschirmpipette auswahlbar eingesetzt werden Die Form dieser Bedienelemente zeigt ihre Verwendung an bzw deutet darauf hin welche Bausteine zusammen passen Nur was passt lasst sich einklinken nur existierende Elemente konnen in den Listen gewahlt werden Dadurch werden viele Fehler automatisch vermieden Die Farben der Bausteine entsprechen den Farb Fachern der Bausteinkiste die ihren Einsatzbereich symbolisieren Farb Kategorien der Scratch Blocke Bearbeiten Die zur Programmierung verwendeten Blocke sind in Scratch zur besseren Ubersichtlichkeit in verschiedene farblich unterschiedliche Kategorien aufgeteilt 37 Bereich Farbe Programmier Bausteine Beispiele Bewegung Blau gehe drehe zeige Richtung gehe zu gleite in Sekunden zu setze X Y Aussehen Lila ziehe Kostum an sage denke andere Effekt andere Grosse Klang Violett spiele Klang spiele Schlagzeug spiele Pause spiele Note setze Instrument setze Lautstarke setze Tempo Ereignisse Dunkelgelb wenn Start wenn Taste wenn Objekt geklickt sende wenn ich empfange Steuerung Braun warte wiederhole x mal wiederhole fortlaufend wiederhole bis lt Bedingung gt falls lt Bedingung gt dann falls lt Bedingung gt dann sonst warte bis stoppe allesFuhlen Hellblau Maus X Maus Y Maustaste gedruckt wird beruhrt wird Farbe beruhrt Stoppuhr Entfernung von Wert von Objekt Lautstarke Wert von Sensor Operatoren Hellgrun Zufallszahl von bis lt gt und oder nicht mod gerundet Funktion von Variablen Orange Rot setze auf andere um zeige verstecke fuge hinzu erstelle Variablen Meine Blocke Pink hier konnen eigene Blocke implementiert werdenMalstift Grun mit den Figuren malen zeichnenText zu Sprache Figuren sprechen lassen in Zusammenarbeit mit Amazon Web Services Musik mit Figuren Musik machenVideoerfassung erfasse Bewegungen mit der WebcamUbersetzung Texte ubersetzen In Zusammenarbeit mit Google Daruber hinaus konnen in Scratch integrierte Erweiterungen fur das Programmieren wie Musik Malstifte Ubersetzer und externe Gerate wie dem PicoBoard oder Lego WeDo verwendet werden Knopfe und Menus Bearbeiten Neben den oben beschrieben Fensterbereichen der Scratch Entwicklungsumgebung gibt es noch einige Knopfe Menus und Kontextmenus rechte Maustaste und damit verbundene Auswahlboxen und Editoren zum Laden Speichern Kopieren Erstellen und Beeinflussen von Spielfiguren Medien und Projekten Die wichtigsten sind die grune Startflagge und das rote Stoppschild mit denen alle Programme eines Projektes gestartet und gestoppt werden Kopfbausteine Multitasking und Ereignissteuerung Bearbeiten Programme beginnen immer mit einem der vier Kopfbausteine aus dem gelben Fach Steuerung der angibt durch welches Ereignis sie gestartet werden Klick die Start Flagge Mausklick auf ihre Spielfigur Druck einer bestimmten Taste oder Empfang einer bestimmten Nachricht Indem ein Programm eine Nachricht an alle sendet kann es andere Programme starten die auf diese bestimmte Nachricht warten Multitasking und Ereignissteuerung sind so selbstverstandliche Konzepte die vom Programmier Anfanger nebenbei erfasst werden Laufzeit Programmierzeit Debuggen Bearbeiten Laufzeit und Programmierzeit gehen fliessend ineinander uber Wahrend ein Projekt mit seinen Programmen lauft kann weiterprogrammiert werden bzw wenn es nicht lauft konnen Programme durch Anklicken gestartet und so ausprobiert werden womit die erforschende spielerische Herangehensweise gefordert wird Laufende Programme sind mit weissem Rand hervorgehoben und Ausfuhrungsfehler zum Beispiel Division durch 0 mit rotem Rand Im Einzelschrittmodus werden auch die jeweils ausgefuhrten Bausteine hellgelb hervorgehoben Drag and Drop Bearbeiten Programme Grafiken und Tone konnen durch Ziehen auf andere Spielfiguren ubertragen werden und Spielfiguren und Programme konnen per Knopf oder Kontextmenu kopiert werden So kann zum Beispiel nur durch das Erstellen einer einzigen Spielfigur die mehrfach kopiert wird eine komplexe Simulation geschaffen werden bei deren Ausfuhrung die Kopien deterministisch aber dennoch unvorhersehbar interagieren Weiterentwicklungen von Scratch BearbeitenNeben der offiziellen Weiterentwicklung durch das Scratch Team deren letzter bisheriger Sprung die komplette Neuimplementierung mit Scratch 3 0 als Javascript Anwendung darstellte existieren eine Vielzahl von Scratch Modifikationen 38 39 Die inoffiziellen Erweiterungen wurden von Mitgliedern der Community meist basierend auf dem offenen Squeak Smalltalk Quellcode von Scratch 1 4 erstellt Sie umfassen sowohl lehrorientierte als auch rein anwendungsorientierte Neuerungen von extrem unterschiedlicher Qualitat und Ernsthaftigkeit 40 Einige offizielle Scratch Weiterentwicklungen lassen sich auch auf Einflusse aus Modifikationen zuruckfuhren So wurden beispielsweise die sogenannten Listen eindimensionale Felder von Chirp BYOB ubernommen 41 das sich inzwischen von einer Modifikation zu einer eigenstandigen Programmiersprache mit von Scratch unabhangiger Technologiebasis weiterentwickelt hat Panther Bearbeiten Panther ist eine beliebte Modifikation der Scratch Entwicklungsumgebung Panther arbeitet mit Blocken hat zwei zusatzliche Kategorien und kann Projekte in ausfuhrbare EXE Dateien umwandeln 42 Die Panther Website 43 ermoglicht das Hochladen von Projekten Programmieren mit der Maus Bearbeiten Hauptartikel Programmieren mit der Maus Programmieren mit der Maus ist ein etwas abgespecktes Scratch das vom Westdeutschen Rundfunk WDR entwickelt wurde So gibt es z B keine Erweiterungen und keine eigenen Blocke Programmieren mit der Maus ist mit Bildern der Sendung mit der Maus ausgestattet Scratch for Arduino Bearbeiten Scratch for Arduino S4A ist eine Scratch Modifikation die eine Programmierumgebung im Scratch Design fur den Arduino Mikrocontroller zur Verfugung stellt 44 ScratchJr Bearbeiten Mit ScratchJr erschien am 20 Juli 2014 eine einfuhrende visuelle Programmiersprache mit dem Ziel jungeren Kindern ab 5 Jahren mithilfe eines auf Scratch basierenden Systems einfach und spielerisch eigene interaktive Geschichten und Spiele zu programmieren Die Kinder konnen grafische Programmblocke aneinander fugen und so Figuren bewegen lassen In einem Editor lassen sich eigene Figuren erstellen und anpassen oder mit Stimmen und Gerauschen versehen die in die Programmblocke eingebunden werden konnen Entwickelt wurde diese App von der Tufts University in Zusammenarbeit mit dem MIT Media Lab und Zuschussen der National Science Foundation ScratchJr ist als kostenlose App fur Android Apple iOS und Chromebook verfugbar 45 46 Snap BYOB Bearbeiten Hauptartikel Snap Programmiersprache Snap 47 bis zu Version 3 1 1 unter dem Namen BYOB bekannt englisch Abk von Build Your Own Blocks deutsch Bau deine eigenen Blocke ist eine auf Scratch aufbauende und von Scheme und damit auch Lisp inspirierte bildungsorientierte visuelle Programmiersprache inklusive ihrer Entwicklungsumgebung fur fortgeschrittene Schuler und fur die Erwachsenenbildung Microsoft MakeCode Bearbeiten Microsoft MakeCode ist eine grafische Oberflache fur das Microsoft Programming Experience Toolkit PXT mit dem Entwicklungsumgebungen fur erziehungsorientierte Einplatinencomputer z B BBC micro bit Calliope mini erstellt werden konnen Diese Entwicklungsumgebungen sehen aus wie Scratch laufen allerdings als JavaScript Anwendung im Browser Es kann darin ausser mit den Blocken auch mit JavaScript selbst programmiert werden mBlock Bearbeiten mBlock von Makeblock basiert auf Scratch und erlaubt es Roboter mBot mBot Ranger einfach grafisch zu programmieren NEPO Bearbeiten NEPO ist eine an Scratch angelehnte visuelle Programmiersprache welche die freiverfugbare Blockly Bibliothek nutzt Cubi Bearbeiten Cubi ist eine an Scratch angelehnte visuelle Programmiersprache welche vor allem fur Kinder im Grundschulalter entwickelt wurde 48 Diese ist fur die Arbeit im Klassenverband geschaffen und integriert Lehrinhalte direkt in die Programmieroberflache Cubi ist uber den Webbrowser erreichbar und fur die Nutzung mittels PC oder Tablet funktionsfahig Padagogische Effekte BearbeitenDie Studienlage zu Scratch ist weitgehend positiv und es konnte oftmals eine Verbesserung der Erfolge beim Erlernen von Computer Konzepten festgestellt werden Allerdings konnte auch empirisch nachgewiesen werden dass einige Schuler Probleme mit Konzepten wie z B Variablen gleichzeitigen Ablaufen und Initialisierung haben Scratch vs Karel Bearbeiten Eine Studie verglich den Erfolg von Karel und Scratch beim Unterricht von zwei 7 Klassen an einem Gymnasium insgesamt waren 56 Probanden beteiligt Dabei zeigte sich bei der Scratch Gruppe eine hohere intrinsische Motivation auch die Schuler vergaben an Scratch eine bessere Bewertung der Unterschied ist fast statistisch signifikant Bei der abschliessenden Prufung zeigte sich zwischen den Leistungen der beiden Klassen kein nennenswerter Unterschied Allerdings wird Karel als naher am realen Programmieren wahrgenommen Die Karel Gruppe erkannte ofter dass es einen Sinn hat die Aufgaben zu erledigen 49 Siehe auch BearbeitenApp Inventor Open Roberta CatrobatLiteratur BearbeitenDeutschPetra Anders Vom User zum Maker Kinder gestalten und erzahlen mit Scratch In Henriette Dausend Birgit Brandt Hrsg Lernen digital Fachliche Lernprozesse im Elementar und Primarbereich anregen Waxmann 2018 S 17 36 http waxmann ciando com ebook bid 2577966 Erik Bartmann Mit Scratch die elektronische Welt entdecken Bombini Verlag 2017 ISBN 978 3 946496 01 4 Erik Bartmann Mit Scratch 3 programmieren lernen Bombini Verlag 2019 ISBN 978 3 946496 11 3 Armin Schaeper Examensarbeit Einfuhrung in die Programmierung mit Scratch PDF 1 7 MB R Romeike Logos Erben Konstruktionistische Ansatze fur Mathematikunterricht und Mathematiklehrerausbildung In Beitrage zum Mathematikunterricht 2011 WTM Verlag Stein Munster 2011 S 695 698 PDF 85 kB K T Forster Neue Moglichkeiten durch die Programmiersprache Scratch Algorithmen und Programmierung fur alle Facher In Beitrage zum Mathematikunterricht 2011 WTM Verlag Stein Munster 2011 S 262 266 PDF 29 kB EnglischJ Maloney L Burd Y Kafai N Rusk B Silverman und M Resnick Scratch A Sneak Preview Second International Conference on Creating Connecting and Collaborating through Computing Kyoto 2004 S 104 109 PDF 69 kB M Resnick Y Kafai J Maloney N Rusk L Burd und B Silverman A Networked Media Rich Programming Environment to Enhance Technological Fluency at After School Centers in Economically Disadvantaged Communities Proposal to National Science Foundation 2003 PDF 179 kB Peppler K amp Kafai Y 2005 Creative coding The role of art and programming in the K 12 educational context Memento vom 10 Mai 2009 im Internet Archive PDF 1 5 MB A Monroy Hernandez und M Resnick Empowering kids to create and share programmable media Interactions 15 2 Marz April 2008 S 50 53 Weblinks Bearbeiten nbsp Commons Scratch programming language Sammlung von Bildern Videos und Audiodateien nbsp Wikiversity Scratch Kursmaterialien Scratch Website von Scratch am MIT Scratch Wiki DACH deutsches Scratch Wiki wird vom MIT Scratch Team unterstutzt und von der informellen deutschsprachigen Scratch Community betrieben Scratch im Unterricht fur Jahrgangsstufe 7 hinterlegt auf Digitale Schule Bayern Unterrichtsmaterialien Einstieg in Scratch von der gemeinnutzigen Organisation App Camps Beispielhafte und pramierte Scratch Unterrichts Einheit Gewinner des Unterrichtswettbewerb der 12 GI Fachtagung Informatik und Schule INFOS 2007 Scratchcards auf deutsch Scratchcards auf deutsch zum Download Leitfaden Scratch mit Kindern in 10 Schritten deutsche Einsteiger Screencast Videos zu Scratch von der MCS JuniorakademieEinzelnachweise Bearbeiten Scratch Danksagungen und Beitragende abgerufen am 21 Oktober 2015 Scratch 3 0 is here abgerufen am 2 Januar 2019 Scratch Phanomen Scratch im DACH Scratch Wiki abgerufen am 30 Januar 2017 Uber Scratch Seite der offiziellen Website Memento vom 2 April 2013 im Internet Archive Abgerufen am 30 Januar 2017 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 Scratch 1 0 im DACH Scratch Wiki Abgerufen am 30 Januar 2017 Scratch 1 4 im DACH Scratch Wiki Abgerufen am 30 Januar 2017 a b Java Player im Scratch Wiki abgerufen am 30 Januar 2017 a b Flash Player im Scratch Wiki Abgerufen am 30 Januar 2017 Scratch 2 0 im DACH Scratch Wiki Abgerufen am 30 Januar 2017 Scratch Ressourcen auf GitHub Heise Artikel zur Veroffentlichung Scratch 3 0 Blog Artikel des Entwicklerteams MIT Media Lab zur Veroffentlichung Scratch 3 0 scratch mit edu 2 0 Offline Editor fur Scratch abgerufen am 27 Marz 2015 Scratch iPhone Player auf mobilewikiserver com englisch PDF Abgerufen am 13 November 2012 Snap im DACH Scratch Wiki abgerufen am 30 Januar 2017 Scratch 3 0 Das deutschsprachige Scratch Wiki Abgerufen am 26 Januar 2020 Was sind die Systemanforderungen fur Scratch Ubersetzung auf der Seite des DACH Scratch Wiki Abgerufen am 30 Januar 2017 Statistik Karte auf der Scratch Website Memento vom 26 Mai 2013 im Internet Archive Abgerufen am 15 Januar 2013 Scratch Statistics Memento vom 27 Mai 2013 im Internet Archive englisch Abgerufen am 9 Juni 2012 Scratch Statistics Imagine Program Share Abgerufen am 29 April 2022 englisch Webseite des Kurses UC Berkeley EECS CS10 The Beauty and Joy of Computing Summer 2012 englisch Abgerufen am 30 Januar 2017 Forster 2011 Scratch auf KiKa Programmieren als Hobby im DACH Scratch Wiki abgerufen am 30 Januar 2017 Scratch Day auf der Seite des DACH Scratch Wiki Abgerufen am 30 Januar 2017 Scratch Day 2009 in Bochum auf der Seite des DACH Scratch Wiki Abgerufen am 30 Januar 2017 Website der Scratch MIT Konferenz abgerufen am 20 August 2012 Scratch MIT Konferenz im DACH Scratch Wiki abgerufen am 30 Januar 2017 Scratch MIT 2014 im DACH Scratch Wiki abgerufen am 30 Januar 2017 Scratch Connecting Worlds 2013 in Barcelona im DACH Scratch Wiki abgerufen am 22 Februar 2012 Scratch2015AMS Creative communities ScratchEd auf der Seite des DACH Scratch Wiki abgerufen am 15 Mai 2021 Uber das Scratch Wiki auf der Seite des DACH Scratch Wiki abgerufen am 11 Februar 2013 Remix im DACH Scratch Wiki abgerufen am 18 Januar 2013 Alle Blocke Ubersichts Liste im DACH Scratch Wiki abgerufen am 27 Februar 2013 Liste der Modifikationen im DACH Scratch Wiki abgerufen am 6 Oktober 2013 List of Scratch Modifications 1 2 Vorlage Toter Link scratch mit edu Seite dauerhaft nicht mehr abrufbar festgestellt im Mai 2019 Suche in Webarchiven englisches Scratch Wiki Modifikationen im DACH Scratch Wiki abgerufen am 6 Oktober 2013 Weitere Entwicklungen von Scratch im Bericht vom Scratch Day 2009 DACH Scratch Wiki abgerufen am 6 Oktober 2013 Panther Scratch Dach Panther based on Scratch offizielle Panther Webseite S4A Scratch for Arduino Scratch Dach ScratchJr Website ScratchJr Scratch Dach Snap Build Your Own Blocks offizielle Snap Seite der Universitat Berkeley IT4Kids Cubi Abgerufen am 23 Oktober 2022 englisch Alexander Ruf Andreas Muhling Peter Hubwieser Scratch vs Karel impact on learning outcomes and motivation In Proceedings of the 9th Workshop in Primary and Secondary Computing Education on WiPSCE 14 ACM Press Berlin Germany 2014 ISBN 978 1 4503 3250 7 S 50 59 doi 10 1145 2670757 2670772 acm org abgerufen am 2 Dezember 2021 Normdaten Sachbegriff GND 7860906 9 lobid OGND AKS LCCN sh2008006648 Abgerufen von https de wikipedia org w index php title Scratch Programmiersprache amp oldid 236195469