Scratch
Last updated
Was this helpful?
Last updated
Was this helpful?
Mit Scratch lassen sich die Konzepte der Programmierung spielerisch und grafisch animiert kennenlernen. Man merkt im Grunde nicht mal, daß man programmiert. Das ist besonders für Kinder (müssen allerdings bereits lesen können) ein sehr guter Einstieg.
Da es auch Scratch-Projekt mit Mindcraft oder anderen für Jugendliche interessante Themen gibt, kann man so vielleicht einen guten Zugang und eine echte Motivation finden.
Internetzugang oder nicht: Es klingt verlockend Scratch lokal zu installieren und auf den Internetzugang zu verzichten. Am Anfang ist das auch vollkommen in Ordnung - insbesondere bei kleineren Kindern. Allerdings gehört das Internet zu der Welt der Softwareentwicklung dazu. Die Software läuft heutzutage häufig in der Cloud, man nutzt Communities (um mit Gleichgesinnten per Chat oder Videokonferenz zu kommunizieren ... zumeist in Englisch), liest Dokumentation und Blogs (= Erfahrungsberichte) und nutzt Platformen wie YouTube, um sich weiterzubilden. Das Internet ist nicht PER SE schlecht - wenn man programmiert, dann nutzt man viele positive Aspekte dieses Mediums ... man konsumiert nicht mehr nur, sondern wird kreativ, um neue Inhalte zu erstellen.
Während es zu meiner Jugendzeit (80er Jahre des 20. Jahrhunderts) kaum Computer gab (kaum verbreitet, sehr teuer), hat heutztage jeder 10-jährige einen Power-Computer in der Tasche ... das Handy.
Alle sind gewohnt Computer in irgendeiner Form wie Handy, Tablet, Alexa, FireTV-Stick, Netflix, Smart-Watch, Playstation ... zu benutzen. Wissen über Programmierung kann heutzutage niemandem schaden und so beginnen die Schulen schon systematisch mit der IT-Ausbildung in der weiterführenden Schule.
Ich bin selbst Softwareentwickler und kann mir keinen schöneren Job vorstellen. Wir sind kreativ, arbeiten im Team, verdienen sehr gut, können unsere eigenen Hobby-Projekte durchführen und teilweise entwickelt sich daraus auch ein Geschäftsmodell. Kurz: wir können die Zukunft mitgestalten.
Deshalb möchte ich meinen Kindern diesen Teil der Welt gerne mal zeigen und sie vielleicht dafür interessieren. Letztlich ist es aber ihre Entscheidung, ob sie daran weiterarbeiten/spielen oder einen anderen Weg einschlagen.
Bei Scratch handelt es sich um eine visuelle Programmiersprache. Man kann keine syntaktischen Fehler machen (hiermit verschwindet schon mal ein frustrierendes Element bei der Programmierung). Scratch bietet genügend Features, um im Bereich Algorithmen und Modularisierung die Konzepte der Programmierung zu verstehen. Eine gute Vorbereitung, um danach dann vielleicht zu einer nicht-grafischen Programmiersprache ( oder ) überzugehen. Um das volle Spektrum an Hard- und Software kennenzulernen kann man einen Computer aus einem selbst zusammenbauen, ein Betriebssystem installieren und konfigurieren und anschließend Hardwareprojekte umsetzen, die durch Software zu echten Lösungen werden.
Mit einem 14-jährigen Schüler habe ich bereits im Zuge eines einwöchigen Berufspraktikums die entwickelt und seitdem ist er von der Programmierung begeistert.
Scratch bietet im Bereich Datenstrukturen nichts wesentliches - hier könnte eine Alternative sein. Vielleicht wechselt man dann aber auch schon zu einer textuelle Programmiersprache?!?
Die Online-IDE bietet den großen Vorteil, daß man dort seine Projekte zum Spielen und zur Weiterentwicklung mit anderen freigeben kann. So bleiben die Ergebnisse nicht zuhause auf dem Computer, sondern stehen der ganzen Welt zur Nutzung bereit (auf einer Vielzahl von Endgeräten). Man muß aber nicht gleich so groß denken - auch Programmier-Projekte innerhalb einer Stadt/Dorf sind so möglich und können eine unglaubliche Begeisterung im Team auslösen.
Außerdem kann man sich hier auch den Code der Projekte anschauen (erweitern/verändern), um so
zu lernen
neue Lösungsideen entdecken
Best-Practices zu finden
sich inspirieren zu lassen
Sehr schön finde ich, daß man lokal erstellte Projekte als Datei exportieren (leider in einem Binärformat) und im Online-IDE importieren kann. Die Integration hätte allerindgs noch besser sein können ... in der App kann man nicht auf seine Community zugreifen und ist somit eingeschränkt.
Geschwindigkeit des Balls verändern
Variable einfügen, damit ich den Code dafür nicht immer ändern muß
aus dem Ball einen Fußball machen
Größe des Paddels verändern
Variable einfügen, damit ich den Code dafür nicht immer ändern muß
Punktestand hinzufügen
Trefferzone oben - hierfür gibt es noch einen Scorerpunkt
links eine Trefferzone
bei Treffer zählen die Treffer für immer doppelt
nur für 30 Sekunden
ab 50 Punkten ein Freileben
Geschwindigkeit nimmt kontinuierlich zu
Bühne
Hintergrund-Bild des Programms
Bühnenbilder
Bibliothek vorhanden
lassen sich editieren
man kann neue erstellen
hochladen
malen
Figuren
Figuren befinden sich auf der Bühne
Bibliothek vorhanden
lassen sich editieren (= Kostüm)
man kann neue erstellen
hochladen
als einfach jpg, png Dateien (im besten Fall mit transparentem Hintergrund)
malen
Skripte (= Programmcode)
ist IMMER an eine Figur (= Objekt: Katze, Ball, ...) gebunden
verwendet man mehrere Figuren, dann kann jede ihre eigenen Aktionen ausführen
Klänge
können im Code abgespielt werden
Bibliothek vorhanden
lassen sich editieren
man kann neue erstellen
hochladen
aufnehmen
Plugins wie z. B. den Malstift, Lego-Mindstorms-Integration oder die Verwendung der Videokamera zur Programmsteuerung
Open-Source
man kann Projekte öffentlich machen und so anderen einen Einblick gewähren oder über Remixe Forks erzeugen, um so ein Projekt weiterzuentwickeln
projektübergreifende Library in Form eines Lagers ... so lassen sich mehrere Blöcke zwischen Figuren und/oder Projekten wiederverwenden
Skripte sind IMMER an eine Figur (= Objekt: Katze, Ball, ...) gebunden
Programmierelemente aus (man kann auch Kommentare hinzufügen)
Bewegung
Klang
Ereignisse
Steuerung
Fühlen
...
aus Programmcode läßt sich ein parametrisierter Block (= Modul) erstellen
leider kann man Blöcke nicht projektübergreifend nutzen
im Code können Variablen verwendet werden, um Zustände zu speichern und im Code zu verwenden (z. B. ein Punktestand)
Konfiguration kann über Variablen erfolgen
Sehr gut gemacht und ein toller Einstieg in die Softwareentwicklung ab 8-10 Jahren. Die wesentlichen Programmierkonzepte sind alle abbildbar und sogar Open-Source-Ansätze sind umgesetzt.
Undo-Funktion
Historie bei der Speicherung
Unter findet man einen Online-Editor (IDE) - man muß also nicht einmal Software installieren und kann somit JEDES Endgerät (auch Handy, Tablet oder auch einen ). Es gibt also keinen finanziellen Grund, nicht mit dem Programmieren zu beginnen.
Ich werde diesen Ansatz verfolgen ... durch den Community-Ansatz eröffnen sich viele Möglichkeiten. Es ist einfach viel inspierierender und kommt richtigen Software-Entwicklung (die IMMER im Team stattfindet) schon sehr nahe. Bei der Nutzung fühle ich mich schon sehr an erinnert.
Eine lokale Entwicklungsumgebung aka Scratch Desktop läßt sich auf fast jedem Computer installieren:
Ein mit dem Betriebssystem Raspbian bringt schon alles mit, was man für die lokale Entwicklung von Scratch-Projekten braucht. Hier braucht man dann nicht einmal einen Internet-Zugang.
Ich verwende die und habe mir dort einen Account angelegt.
Das Spiel hat mir gut gefallen. Ich habe es ein paar mal gespielt und jetzt schaue ich mir den Source-Code an (über Schau hinein).
Manche Code-Stellen verstehe ich nicht und ich möchte gerne mal die Parameter verändern, um die Auswirkungen zu sehen. Dazu erstelle ich einen (in GitHub-Projekten nennt man das Fork) - eine Kopie des Source-Codes in meinen Account und kann dann Änderungen vornehmen und das Spiel auch folgendermaßen erweitern:
als Sprite ... so kann man beispielsweise aus einem Handy-Foto per App Clip2Comic einen Comic-Filter anwenden und das Ergebnis per einen Sprite erzeugen