Zum Inhalt springen

„Scratch (Programmiersprache)“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
P UdK (Diskussion | Beiträge)
K POV-Geschwurbel, Typos, Irrelevantes und Anleitungen raus: Siehe WP:WWNI. Forum auch wieder mal entsorgt: Siehe WP:WEB
Zeile 22: Zeile 22:
Scratch wurde von einem kleinen Forschungsteam der [[Lifelong Kindergarten Group]] am [[MIT Media Lab]] entwickelt.<ref>[http://scratch.mit.edu/ „Scratch“] [[25. Mai]] [[2007]].</ref>
Scratch wurde von einem kleinen Forschungsteam der [[Lifelong Kindergarten Group]] am [[MIT Media Lab]] entwickelt.<ref>[http://scratch.mit.edu/ „Scratch“] [[25. Mai]] [[2007]].</ref>
Der Name [[Scratch]] wird sowohl für die [[Programmiersprache]] wie für die [[Entwicklungsumgebung]] verwendet und leitet sich von der [[DJ]]-[[Scratchen|Scratchtechnik]] ab. Die Gemeinsamkeit zum musikalischen "Scratchen" ist die leichte Wiederverwendbarkeit von Vesatzstücken: In Scratch können alle interatven Objekte, Grafiken und Töne leicht von einem in ein anders Program gezogen und neu kombiniert werden. Dadurch erhalten Anfänger sehr schnell Erfolgserlebnisse die zum tieferen Einstieg motivieren.
Der Name [[Scratch]] wird sowohl für die [[Programmiersprache]] wie für die [[Entwicklungsumgebung]] verwendet und leitet sich von der [[DJ]]-[[Scratchen|Scratchtechnik]] ab. Die Gemeinsamkeit zum musikalischen "Scratchen" ist die leichte Wiederverwendbarkeit von Vesatzstücken: In Scratch können alle interatven Objekte, Grafiken und Töne leicht von einem in ein anders Program gezogen und neu kombiniert werden. Dadurch erhalten Anfänger sehr schnell Erfolgserlebnisse die zum tieferen Einstieg motivieren.
Die Internetplattform von Scratch dokumentiert eine schnell zunehmende Nutzung: Von den Anfängen im März bis November 2007 meldeten sich über 50.000 Anwender an, die über in dieser Zeit über 48.000 selbstentwickelte Programme ins Netz stellten. Die schnell wachsende Benutzergemeinde ist international und wird durch die zunehmend erweiterte Mehrsprachenfähigkeit von Scratch gefördert. Scratch wird an einzelnen deutschen und schweizer Schulen bereits experimentel eingesetzt.
Die Internetplattform von Scratch dokumentiert eine schnell zunehmende Nutzung: Von den Anfängen im März bis November 2007 meldeten sich über 50.000 Anwender an, die über in dieser Zeit über 48.000 selbstentwickelte Programme ins Netz stellten. Die schnell wachsende Benutzergemeinde ist international und wird durch die zunehmend erweiterte Mehrsprachenfähigkeit von Scratch gefördert. Scratch wird an einzelnen deutschen und schweizerischen Schulen bereits experimentell eingesetzt.


== Nutzung als Lehr- und Lernsprache ==
== Nutzung als Lehr- und Lernsprache ==
Scratch wird weltweit in verschiedensten Schulformen und Unterrichtsveranstaltungen eingesetzt. Durch die mit Scratch verbundene interaktive Internetplattform hat sich eine schnell wachsende Gemeinschaft von Programmieranfängern, Schülern, Pädagogen und Hobbyisten gebildet, die sich gegenseitig motivieren und unterstützen, ihre Kreativität und Programmierkenntnisse zu entwickeln. Angesichts des raschen Wachstums dieser Gemeinschaft und ihren Kommentaren nach zu urteilen, scheint Scratch ein erfolgreiches Mittel zu sein, bisherige reine Konsumenten von Multimediaanwendungen und Computerspielen zur kreativen Gestaltung zu motivieren und zu erziehen.
Scratch wird weltweit in verschiedensten Schulformen und Unterrichtsveranstaltungen eingesetzt. Durch die mit Scratch verbundene interaktive Internetplattform hat sich eine schnell wachsende Gemeinschaft von Programmieranfängern, Schülern, Pädagogen und Hobbyisten gebildet, die sich gegenseitig motivieren und unterstützen, ihre Kreativität und Programmierkenntnisse zu entwickeln.
=== Altersangabe für den Einsatz von Scratch ===
Über das Alter der Schüler für die Scratch sinnvoll als Lehrsprache eingesetzt werden kann, gibt es verschiedenste Ansichten. Die Macher halten es ab dem Grundschulalter für sinnvoll. Praktische Erfahrungen zeigen sogar, dass bereits im Kindergartenalter - unter Anleitung - spielerisch sinnvolle Lernerfahrungen vermittelt werden können. In Deutschland gibt es verschiedenen positive Erfahrungen mit Unterstufenklassen. Auch für ältere Jugendliche und Erwachsene kann Scratch ein einfacher und motivierender Einstieg in die Programmierung sein. Die Altersangabe 5-99 scheint daher realistisch. Zudem gibt es sogar erfahrene Informatiker und professionelle Programmierer, die es sich zum Hobby gemacht haben, komplexe Probleme mit Hilfe der eingeschränkten Möglichkeiten von Scratch zu lösen.


== Entwicklungsumgebung, Internetplattform und Scratch-Player ==
== Entwicklungsumgebung, Internetplattform und Scratch-Player ==
Zeile 33: Zeile 31:


== Prinzipien von Sprachumfang und Bedienung ==
== Prinzipien von Sprachumfang und Bedienung ==
Bei Sprachumfang und Bedienung wurde höhere Priorität auf den intuitiven Zugang als auf hohe Komplexität gelegt. Mächtigen Funktionen wie Multimediaelementen und Multitasking stehen starke Einschränkungen in Peripherienutzung und Sprachumfang gegenüber. Alle Elemente, die den intuitiven Einstieg behindern könnten, wurden in empirischen Studien identifiziert und eliminiert. Alles, was den Einsteiger motiviert, sein Verständnis erleichtert und zur explorativen Entwicklung ermutigt, wurde betont. Spielerisches Lernen steht im Vordergrund. So können 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 Einschränkungen – positiv darauf, wie schnell und intuitiv Ergebnisse zu erreichen sind und betrachten die Beschränkung als Herausforderung ihrer Programmierkünste. Eine Stärke von Scratch scheint also in der Mächtigkeit bei gleichzeitiger Beschränkung zu liegen.
Bei Sprachumfang und Bedienung wurde höhere Priorität auf den intuitiven Zugang als auf hohe Komplexität gelegt. Mächtigen Funktionen wie Multimediaelementen und Multitasking stehen starke Einschränkungen in Peripherienutzung und Sprachumfang gegenüber. Alle Elemente, die den intuitiven Einstieg behindern könnten, wurden in empirischen Studien identifiziert und eliminiert. Alles, was den Einsteiger motiviert, sein Verständnis erleichtert und zur explorativen Entwicklung ermutigt, wurde betont. Spielerisches Lernen steht im Vordergrund. So können 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 Einschränkungen – positiv darauf, wie schnell und intuitiv Ergebnisse zu erreichen sind und betrachten die Beschränkung als Herausforderung ihrer Programmierkünste.n.

== Grundelemente von Entwicklungsumgebung und Sprachsyntax ==
Die Programmierung erfolgt mit farbigen Blöcken, die wie Puzzlesteine per [[drag&drop]] zu Teilprogrammen zusammengesetzt werden.

Träger der Teilprogramme und weitere Eigenschaften sind die zwei einzigen Objektarten ''Sprite'' und ''Stage''. Als dynamische Programmiersprache erlaubt es Scratch, die Eigenschaften dieser Objekte und sogar ihres [[Programmcode|Programmcodes]] während der Laufzeit interaktiv zu verändern. Dabei müssen nur wenige Elemente (Namen, Freitexte und Zahlen) mit der Tastatur eingefügt werden. Viele Bezeichner werden dabei automatisch vom System vorgeschlagen und brauchen nur bei Bedarf durch eigene Namen ersetzt zu werden. Damit fällt der Einstieg auch denen leicht, die noch nicht flüssig tippen können. Gleichzeitig sorgt die Puzzlestein-Analogie für die Syntaxüberprüfung – die Blöcke passen nur zusammen, wenn die Syntax stimmt. Einige Blöcke bieten zusätzlich Auswahllisten, in denen jedoch nur spezifische Bezeichner des aktuellen Projektes ausgewählt werden können, so dass auch hier die Syntax weitgehend automatisch eingehalten wird.

=== Objektarten: ''Stage'' & ''Sprites'' ===
Jedes Scratch-Program besteht ausschließlich aus zwei Objektarten, die Träger von [[Multimediaelementen]], Variablen und Teilprogrammen sind:
* ''Stage'' die Bühne, die den feststehenden Rahmen für jedes Scratch-Programm darstellt (fest beschränkt auf 480*360 Punkte).
* ''Sprites'', die in beliebiger Anzahl als bewegliche Darsteller auf diese Bühne gesetzt werden und somit zusätzlich zu ihren Multimediaelementen Orts- und Bewegungseigenschaften haben.

=== Multimediaelemente ===
Die Multimediaelemente sind importierbare oder selber zu erstellende Bilder und Töne, die mit einfachen Funktionen manipuliert werden können.

=== Ereignisse ===
Jedes Teilprogramm beginnt mit einem Kopfblock, der das Ereignis festlegt, welches das jeweilige Teilprogramm startet.
Die Teilprogramme, aus denen sich ein Scratch-Programm zusammensetzt, laufen gleichzeitig, oder warten auf ihr Startereignis.
Ereignisse sind:
* der Programmstart
* Peripherieeingaben (Tastatur, Maus oder das Scratch-Board)
* betimmmte eingetroffene Zustände (wie z.B. „ich berühre Sprite2“ oder „meine Farbe rot ist über Farbe blau“)
* oder ''Nachrichten'' (Messages, die von anderen Unterprogrammen gesendet werden)

=== Nachrichten ===
Mit einem einfachen aber wirkungsvollem Konzept wird ein intuitiver Zugang zur Multitaskingprogrammierung ermöglicht. ''Nachrichten'' werden stets an alle gesendet und nur von den Unterprogrammen empfangen die auf dieses Ereignis warten. Komplexe gezielte Ansprache einzelner Sprites und Aufruf von bestimmten Unterprogrammen aus Richtung des Senders werden dabei vermieden, was eine starke Vereinfachung darstellt, die die Komplexität der Syntax beschränkt.

=== Blockarten ===
Die Blöcke, aus denen sich die Teilprogramme zusammensetzen, sind dabei mit Farben in folgende Bereiche gegliedert:
* Bewegung
* Aussehen
* Klang
* Malstift
* Steuerung
* Fühler
* Zahlen
* Variablen

=== Variablen ===
Der einzige Variablentyp ist die „Zahl“ (ohne Beschränkung auf Ganzzahligkeit oder Größe), auf denen einfache mathematische Operationen möglich sind (in Scratch 1.1. nur + , - , *, /, seit Scratch 1.2 auch z.B. sin, cos, tan sqr...). Komplexere Funktionen wurden ebenso wie weitere Variablentypen oder gar mehrdimensionale Variablen vermieden. Es existieren nicht einmal Textvariablen, was der Attraktivität der Scratch-Programme anscheinend kaum schadet. Viele attraktive Scratchprogramme kommen sogar ganz ohne explizite Variablendefinition aus, da sie auf automatisch definierte variablenartige Eigenschaften der Sprites zurückgreifen (X-, Y- Koordinaten und Grafikeffekte).


== Anmerkungen ==
== Anmerkungen ==
Zeile 79: Zeile 38:
== Weblinks ==
== Weblinks ==
* [http://scratch.mit.edu/ Scratch] Homepage von Scratch (engl.)
* [http://scratch.mit.edu/ Scratch] Homepage von Scratch (engl.)
* [http://scratch.mit.edu/forums/viewforum.php?id=14 deutschsprachige Forum zu Scratch]
* [http://www.olinger.net/Scratch.html Deutsche Übersetzung der Anleitung zu Scratch von ''Alex Olinger'']
* [http://www.olinger.net/Scratch.html Deutsche Übersetzung der Anleitung zu Scratch von ''Alex Olinger'']
* [http://digitale-schule-bayern.de/ds.py?sid=7742f9482d467aa56c&_controller=DSController&faecherid=10&themaid=348&Jahrgangsstufe7_sparte_hmid=39 Scratch im Unterricht für Jahrgangsstufe 7, hinterlegt auf ''Digitale Schule Bayern'']
* [http://digitale-schule-bayern.de/ds.py?sid=7742f9482d467aa56c&_controller=DSController&faecherid=10&themaid=348&Jahrgangsstufe7_sparte_hmid=39 Scratch im Unterricht für Jahrgangsstufe 7, hinterlegt auf ''Digitale Schule Bayern'']

Version vom 7. Dezember 2007, 01:47 Uhr

Scratch
Datei:Scratch Logo.png
Basisdaten
Paradigmen: Objektorientierte Programmierung, Erziehungsorientierte Programmiersprache
Erscheinungsjahr: 2007
Designer: Mitchel Resnick
Entwickler: Mitchel Resnick, John Maloney, Natalie Rusk, Evelyn Eastmond, Tammy Stern, Amon Millner, Jay Silver, and Brian Silverman
Aktuelle Version: 1.2  (1. Dezember 2007)
Beeinflusst von: Logo, Etoys, StarLogo, AgentSheets
Betriebssystem: Windows, Mac OS X, Linux(in Arbeit) + Spielkonsolen (Wii in Arbeit)
Lizenz: 3-Klausel-BSD
http://scratch.mit.edu/

Einleitung

Scratch ist eine interpretierte dynamische visuelle Programmiersprache. Ihr Ziel ist es, Neueinsteiger – besonders Kinder und Jugendliche – mit den Konzepten der Computerprogrammierung vertraut zu machen und ihnen die Erstellung eigener Spiele, Videos und Multimediaanwendungen zu ermöglichen.

Scratch wurde von einem kleinen Forschungsteam der Lifelong Kindergarten Group am MIT Media Lab entwickelt.[1] Der Name Scratch wird sowohl für die Programmiersprache wie für die Entwicklungsumgebung verwendet und leitet sich von der DJ-Scratchtechnik ab. Die Gemeinsamkeit zum musikalischen "Scratchen" ist die leichte Wiederverwendbarkeit von Vesatzstücken: In Scratch können alle interatven Objekte, Grafiken und Töne leicht von einem in ein anders Program gezogen und neu kombiniert werden. Dadurch erhalten Anfänger sehr schnell Erfolgserlebnisse die zum tieferen Einstieg motivieren. Die Internetplattform von Scratch dokumentiert eine schnell zunehmende Nutzung: Von den Anfängen im März bis November 2007 meldeten sich über 50.000 Anwender an, die über in dieser Zeit über 48.000 selbstentwickelte Programme ins Netz stellten. Die schnell wachsende Benutzergemeinde ist international und wird durch die zunehmend erweiterte Mehrsprachenfähigkeit von Scratch gefördert. Scratch wird an einzelnen deutschen und schweizerischen Schulen bereits experimentell eingesetzt.

Nutzung als Lehr- und Lernsprache

Scratch wird weltweit in verschiedensten Schulformen und Unterrichtsveranstaltungen eingesetzt. Durch die mit Scratch verbundene interaktive Internetplattform hat sich eine schnell wachsende Gemeinschaft von Programmieranfängern, Schülern, Pädagogen und Hobbyisten gebildet, die sich gegenseitig motivieren und unterstützen, ihre Kreativität und Programmierkenntnisse zu entwickeln.

Entwicklungsumgebung, Internetplattform und Scratch-Player

Die Entwicklungsumgebung kann kostenlos aus dem Internet heruntergeladen und auf dem eigenen Rechner installiert werden. Da sie mit dem plattformunabhängigen Smalltalk-Entwicklungssystem Squeak erstellt ist, gibt es Versionen für Windows, Mac OS X und potentiell für weitere Betriebssysteme (Linux ist in Arbeit). Die mit Scratch erstellten Programme können direkt aus der Entwicklungsumgebung in einen persönlichen Benutzerbereich der Scratch-Homepage 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 Internetbrowser dient ein Java-Interpreter, der sogenannte Scratch-Player.

Prinzipien von Sprachumfang und Bedienung

Bei Sprachumfang und Bedienung wurde höhere Priorität auf den intuitiven Zugang als auf hohe Komplexität gelegt. Mächtigen Funktionen wie Multimediaelementen und Multitasking stehen starke Einschränkungen in Peripherienutzung und Sprachumfang gegenüber. Alle Elemente, die den intuitiven Einstieg behindern könnten, wurden in empirischen Studien identifiziert und eliminiert. Alles, was den Einsteiger motiviert, sein Verständnis erleichtert und zur explorativen Entwicklung ermutigt, wurde betont. Spielerisches Lernen steht im Vordergrund. So können 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 Einschränkungen – positiv darauf, wie schnell und intuitiv Ergebnisse zu erreichen sind und betrachten die Beschränkung als Herausforderung ihrer Programmierkünste.n.

Anmerkungen

  1. „Scratch“ 25. Mai 2007.

Wissenschaftliche Beiträge zu Scratch: