Scratch


Wie ein motivierender, abwechslungsreicher und durchdacht strukturierter Unterricht den Einstieg in blockbasierte Programmiersprachen wie Scratch erleichtert

Programmieren kann herausfordernd sein, aber es macht unglaublich viel Spass, wenn eigene Ideen zum Leben erwachen!

Bevor ich in der Begabungsförderung an der PHSG mit den Schülerinnen und Schülern der 3. bis 6. Klasse direkt mit Scratch arbeite, starten wir mit spannenden Apps, Online-Tools sowie Robotern und Microcontrollern. So wird Informatik erleb- und begreifbar! Dadurch können die Kinder nicht nur die notwendigen Kenntnisse in der Blockly-Programmierung aufbauen, sondern auch spielerisch und abwechslungsreich Scratch erlernen. Die Freude am Programmieren ist gross, und die Motivation der Kinder bleibt hoch.

Das Spiralprinzip lässt sich bei der Blockly-Programmierung hervorragend umsetzen: Lerninhalte werden über einen Zeitraum von zwei Jahren oder länger auf unterschiedlichen Entwicklungsstufen wiederholt und vertieft (vgl. Lauter 1997, S. 24). Doch wenn dabei ausschliesslich mit Scratch gearbeitet wird, kann der Unterricht schnell eintönig wirken. Ein Vergleich aus der Mathematik macht dies deutlich: Auch dort wird nicht über Jahre hinweg nur mit demselben Lehrbuch gearbeitet. So hörte ich einmal auf einem Schulhof die Klage eines Schülers: «In der nächsten Stunde schon wieder Scratch! Das ganze Jahr müssen wir mit Scratch programmieren!»

Um die Schülerinnen und Schüler im Zyklus 2 optimal auf das Programmieren mit Scratch vorzubereiten und der Unterricht abwechslungsreich und spannend bleibt, nutze ich folgende kostenlosen Tools in der abgebildeten Reihenfolge:

  1. Studio.code.org
  2. Scratch Jr: iOS | Scratch Jr: Android
  3. Programmieren mit der Maus
  4. Scratch

Die Kinder erlernen sich so die Grundlagen zur Blockly Programmierung fast spielend, sind motiviert und haben Spass dabei.

➠ ZYKLUS 2
➠ ZYKLUS 2/3
➠ ZYKLUS 3
➠ LEHRPERSONEN

Zyklus 2

Studio.code

Als Einstieg in die Blockly-Programmierung eignet sich die Plattform studio.code.org für Schülerinnen und Schüler von Zyklus 1 bis 3 hervorragend. Lehrpersonen können dort Klassen anlegen, Kurse zuweisen und den Fortschritt der Schülerinnen und Schüler jederzeit einsehen. Besonders praktisch ist die Lehreransicht, die zu jeder Aufgabe eine mögliche Lösung bietet, was die Unterstützung der Lernenden erheblich erleichtert.

Für den Einstieg in einer 5./6. Klasse empfiehlt sich aktuell der Kurs C (2021). Zusätzlich eignet sich studio.code.org hervorragend für Programmier-Hausaufgaben. Die Lehrperson kann in der Übersicht einen Screenshot des Klassenstands erstellen, die Anzahl der zu lösenden Challenges vorgeben und am Ende schnell überprüfen, ob alle Schülerinnen und Schüler die Aufgaben erledigt haben.

Ein weiterer Vorteil ist die Gleichwertigkeit der Aufgaben: Alle Lernenden – unabhängig von ihrem individuellen Niveau – haben die gleiche Anzahl an Challenges zu bewältigen, was sowohl schwächere als auch stärkere Kinder gleichermassen fördert und fordert.


Scratch JR

ScratchJr ist von der beliebten Programmiersprache Scratch inspiriert und wurde speziell für jüngere Kinder entwickelt. Die Benutzeroberfläche und die Programmiersprache wurden so angepasst, dass sie den Entwicklungsbedürfnissen jüngerer Kinder entsprechen.

Mit ScratchJr können bereits die Jüngsten eigene interaktive Geschichten und Spiele gestalten. In Schulklassen, die über Tablets verfügen, eignet sich ScratchJr auch hervorragend als ideale Vorbereitung für den Einstieg in Scratch, selbst für Schülerinnen und Schüler im Zyklus 2.


Programmieren mit der Maus

Mit Programmieren mit der Maus lassen sich bereits Grundschulkinder spielerisch ans Programmieren heranführen. Das Angebot basiert auf Scratch. Die Kinder werden zunächst durch mehrere Lernspiele geführt. Dort werden sie an sie grundlegende Programmierkonzepte wie Variablen, Schleifen und Verzweigungen herangeführt. Anschliessend können sie eigene kleine Programme gestalten.


Scratch

Mit einem Scratch Lehrer-Account können Klassen erstellt werden, der Fortschritt der Schülerinnen und Schüler eingesehen werden und bei Bedarf auch das Passwort der SuS (selbst erstellt durch die Schüler) zurückgesetzt werden.

Teens at the Castle – Erfinde die Geschichte weiter

Beim Projekt «Scratch – Erfinde die Geschichte weiter» ist der Anfang schon vorgegeben. Es hilft den Kindern beim ersten Mal erfolgreich eine Geschichte zu programmieren, da sich vorerst nicht um den Bühnenwechsel kümmern müssen. Sie lernen so strukturiert zu arbeiten mit Scratch auch bei späteren eigenen Projekten.

  • Öffne Teens at the Castle 1 oder Teens at the Castle 2 und programmiere die Geschichte weiter.
  • Algorithmische Elemente:
    • Wiederholungen (Schleifen)
    • Verzweigungen (UND / ODER)
    • Bedingte Anweisungen (z.B. Logik mit if > when), so dass der Benutzer Möglichkeiten zur Interaktion hat (z.B. Pfeiltaste drücken etc.)

Beachte jeweils das Inhaltsverzeichnis.

Scratch – Debugging

Die Detektiv-Mission hilft den SuS Fehlern in Scratch-Projekten aufzuspüren und zu beseitigen: Scratch – Debugging.

Eigene Projekte

Mit Scratch-Tutorials oder Scratch-Karten können SuS ein Scratch-Projekt noch ausbauen oder eigene Projekte erstellen.

Ein Storyboard kann als visuelles Planungstool dienen, das hilft, Ideen zu strukturieren und den Ablauf eines Projekts zu visualisieren. Es lohnt sich in jedem Fall mögliche Bühnenbilder und Figuren und deren Kostüme zu sichten. Die Kostüme kann man sichten, indem man die Maus über die Figur bewegt.
Flexible und fortlaufende Planungsansätze können auch Raum schaffen für spontane Ideen und ermöglichen es, kreative Lösungen nahtlos in den Prozess zu integrieren, ohne durch (eigene) Vorgaben eingeschränkt zu werden. Sie fördern Innovation, indem sie den Freiraum bieten, auf neue Erkenntnisse und Herausforderungen dynamisch zu reagieren, was besonders in kreativen Projekten entscheidend ist.

Geschichte programmieren
Artefakt: Einladungskarte programmieren [pdf]
Beurteilung

Beurteilungsraster (docx) können einen Beurteilungshilfe sein. Sie sollen aber auch: Eine inhaltliche Kommunikation über die Qualitäten und Kriterien befördern und deutlich machen, in welche Richtung man sich verbessern kann, bevor die Arbeit summativ beurteilt wird.

Tutorials für Lehrpersonen

Für die LP bieten sich die Tutorials unter LEHRPERSONEN an.


Zyklus 2/3

Geschichte auf den Mars programmieren (Niveau 1)
  • Algorithmische Elemente: Wiederholungen (Schleifen)Verzweigungen (UND / ODER)
    • Bedingte Anweisungen (z.B. Logik mit if > when)
    • Parameter (Definition / Werte von Programmblocks)
    • Wiederholungen
    • Bedingte Anweisungen (z.B. Logik mit if > when), so dass der Benutzer Möglichkeiten zur Interaktion hat (z.B. Pfeiltaste drücken etc.)

Geschichte auf den Mars programmieren (Niveau 2)
  • Algorithmische Elemente: Wiederholungen (Schleifen)
    • Verzweigungen (UND / ODER)
    • Bedingte Anweisungen (z.B. Logik mit if > when)
    • Parameter (Definition / Werte von Programmblocks)
    • Wiederholungen
    • Abprallen vom Rand / zufällige Position
    • Bedingte Anweisungen (z.B. Logik mit if > when), so dass der Benutzer Möglichkeiten zur Interaktion hat (z.B. Pfeiltaste drücken etc.)

Geburtstagskarte erstellen
  • Beispiele:
    Einladung Dot und Byte (Zyklus 2)
    Einladungskarte (Zyklus 3)
  • Algorithmische Elemente:
    • Wiederholungen (Schleifen)
    • Verzweigungen (UND / ODER)
    • Bedingte Anweisungen (z.B. Logik mit if > when), so dass der Benutzer Möglichkeiten zur Interaktion hat (z.B. Texteingabe, Knopf drücken etc.)
    • Parameter (Definition / Werte von Programmblocks)
    • Variable («Behälter» für Parametereingabe und Verarbeitung im Programm)

MakeyMakey

Die Makey Makey-Platine eröffnet euch die Möglichkeit, nahezu jeden Gegenstand in eine Computertaste zu verwandeln. So könnt ihr beispielsweise Obst oder Knete als kreative Steuergeräte für euren Computer einsetzen. Mit Makey Makey lassen sich Alltagsgegenstände spielerisch in interaktive Steuerungen verwandeln – ob ein Apfel, der ein Miauen erzeugt, oder ein Klavier aus Bananen. Eurer Fantasie sind keine Grenzen gesetzt!
Medienkisten mit MakeyMakey stehen in den Regionalen Didaktischen Zentren des Kt. SG zur Ausleihe bereit (kostenlos für SG, AR, GR).

Bananenklavier mit MakeyMakey

Weitere MakeyMakey Unterrichtsideen

Game mit Scratch programmieren


Jeder kann programmieren mit Swift Playgrounds (Zyklus (2)/3)

In der Begabungsförderung machen die Schülerinnen und Schüler erste Erfahrungen mit textbasiertem Code. Programmieren lernen mit Swift Playgrounds ist faszinierend. Die kostenlose iOS-App kommt mit einem kompletten Set an Lektionen, die von Apple entwickelt wurden. Die Schülerinnen und Schüler «spielen» sich durch die Basics mit «Los gehts mit Code». Dabei nutzt man echten Code, um eine Figur durch eine 3D Welt zu steuern. Und kann dann weiter machen mit fort­geschrit­teneren Konzepten.


Zyklus 3

Programmplanung

Bevor Schülerinnen und Schüler mit dem Programmieren beginnen, ist es wichtig, einen klaren Plan für das Projekt zu erstellen. Dies hilft, den Überblick zu behalten und die Ideen strukturiert umzusetzen. Es gibt verschiedene Methoden, um das Programm zu planen:

  • Ablaufdiagramm
  • Struktorgamm
  • Storyboard
  • Klick-Dummy

Mit Techniken wie diesen, können Struktur und Ablauf des Programms visualisiert und frühzeitig mögliche Probleme erkennt werden. Eine sorgfältige Planung legt die Grundlage für ein erfolgreiches Programm.

Quelle: mia.phsz.ch
Artefakt: Einladungskarte programmieren [pdf]

Beurteilung Zyklus 3

Abgebildet Beispiele von Beurteilungsrastern.

Vielleicht in diesem Zusammenhang noch interessant folgender Ideenpool für die digital unterstützte Lernprozessgestaltung und Beurteilung (Zyklus 1–3):
Ideenpool zum Thema Beurteilung und Feedback (zITBOx)



Einführung in das Programmieren mit Scratch (Tutorials für LP / Zyklus 3)


Scratch in der Schule

  • Coding-Community für Kinder
  • Scratch für Lehrkräfte | Klassenadministration
  • Programmoberfläche (Bühne, Programmblöcke, Figuren, Bühnenbilder) | Menu (speichern, veröffentlichen, Lager)
    00:00
    Einführung 00:10 Entwickeln → Programmoberfläche 00:33 Entdecken 00:39 Ideen (Tutorials/Scratch Karten) 00:58 Ordner / Meine Sachen 01:37 Menu (Sprache, Speichern, Veröffentlichen) 03:36 Programmoberfläche 03:46 Programmierbereich 04:04 Bühne 04:30 Programmblöcke 04:54 Figuren 05:35 Struktur Programmblöcke 06:59 Lager 07:08 Menu Figuren 07:37 Bühnenbilder 07:52 Repetition
  • Sprites | Hintergründe | Figuren | Animation | Klänge | Bühnenbilder
    00:00
    Einführung 00:15 Sprites und Hintergründe 01:08 Figuren malen/hochladen 01:28 Kostüme 03:37 Animation 04:18 Klänge 05:01 Bühnenbilder 06:02 Zusammenfassung
  • Tutorials | Ideen | Entdecken | Suche
    00:00
    Einleitung 00:11 Tutorials 01:03 Ideen (Scratch-Karten) 01:48 Entdecken 02:48 Remixen 04:43 Suche 05:22 Add-on – Schweizer Kantone für Interessierte
  • Erweiterungen | Module | Bp. Malstift | andere Systeme
    00:00
    Einstieg 00:11 Erweiterungen und Module 00:38Bp. Malstift 01:11Erweiterungen 01:21 Verbindung zu anderen Systemen (Microkontroller)

 

Programmierkonzepte – Einführung in das Programmieren mit Scratch

  • Ereignisse | Programm auslösen
    00:00 Einstieg 00:21 Ereignisse, Programm auslösen 01:15 Figur anklicken
  • Abfolge | Klick auf Block | (nicht) leuchten
    00:00 Einleitung 00:22 Sequenz 01:10 Programm auslösen: Doppelklick auf Block (leuchtet) 01:43 Programm abgeschlossen: leuchtet nicht mehr
  • Wiederhole bis | Effizienz
    00:00 Einleitung 00:19 Verschiedene Schleifen 04:06 Effizienz – Programme optimieren
  • falls dann (sonst)
    00:00 Einleitung 00:10 falls dann (sonst) 01:18 warte bis | wiederhole bis 01:46 Beispiel: falls 05:27 Beispiel: falls (sonst) 06:21 Beispiel: mehrere falls
  • Nachricht senden und empfangen | Bühnenbildwechsel | Operatoren
    00:00 Einleitung 00:34 Weitere Ereignisse 01:28 Lautstärke 01:56 Anzeige 03:24 Nachricht senden und empfangen 05:23 Bühnenbildwechsel 07:36 gehe zu 09:39 Operatoren 11:07 Zusammenfassung
  • Meine Blöcke | zeichneEck | Malstift
    00:00 Einführung 00:55 Meine Blöcke 01:56 Block: Steuerung 07:01 Malstift: zeichneEck-Block
  • (Unterschiedliche) Eingabewerte
    00:00 Einführung 01:04 Eingabewert 01:31 Unterschiedliche Eingabewerte
  • Variablen | Zähler | Namen | Alter | Einkaufsliste
    00:00 Einführung 00:33 Variable erstellen 01:28 Variable anzeigen 03:11 Variable «Namen» 03:29 Variable «Alter» 05:11 Variable ändern 05:57 Figur zeichnen 07:43 (Einkaufs-)Liste
  • und/oder | falls | wiederhole bis | Antwort enthält Ja oder ja
    00:00 Einführung 01:01 Überblick 01:48 Konkreter Einsatz 02:37 Beispiele
  • Zahlen / Strings (Zeichenketten) | Verbinden | Mathematik
    00:00 Einführung 00:13 Zahlen 00:31 Zeichenketten 00:58 Verbinden 02:13 Mathematik 04:29 Kombinationen

Tipps und Tricks – typische Probleme und Herausforderungen mit Lernenden  

  • Debug
    00:00 Einführung 00:30 Textausgaben 01:22 Laufende Programme gelb markiert 02:14 Verarbeitete Geschwindigkeit
  • Wiederholen | Script stoppen | stoppe alles
    00:00 Einführung 00:25 Wiederhole fortlaufend 01:43 Stoppe … 03:03 Wird Farbe berührt
  • Schnelligkeit | Verlangsamung | Nachricht senden
    00:00 Schnelligkeit der Befehle 00:28 Möglichkeiten zur Verlangsamung 01:22 Sende Nachricht an alle und warte 02:14 Wiederhole bis
  • x-/y-Achse | Block definieren | Block definieren | Programmierung übertragen | Wenn (dann) 
    00:00 Grundsätzliches 00:59 Gehe 01:42x/y-Achse 02:21 Block definieren 02:54 Programmierung auf andere Figur übertrage 03:17 Wenn Taste … gedrückt wird
  • Versteckte Blöcke | Bühnenbilder organisieren | Blöcke | Kommentare | Lager
    00:00 Einleitung 00:34 Versteckte Progarmmblöcke 01:05 Programme strukturieren 01:32 Bühnenbilder 01:48 Blöcke löschen 02:02 Kommentar hinzufügen 02:23 Lager
  • Animation von Figuren mit mehreren Kostümen | Kostümwechsel
    00:00 Einleitung 00:19 Kostümwechsel 01:21 Sprunganimation 02:50 Figuren mit mehreren Kostümen