26
lerneProgrammieren(); www.lerneProgrammieren.de Mentorenhandbuch Scratch www.lerneProgrammieren.de By Arkadius Roczniewski

Mentorenhandbuch Programmieren mit Scratch

Embed Size (px)

Citation preview

Page 1: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Mentorenhandbuch Scratchwww.lerneProgrammieren.de

By Arkadius Roczniewski

Page 2: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Inhalt

• Beispielaufbau Scratchkurs• Methodik• Skills für Coder• Übersicht der Grundelemente

– Elemente: Folgestrukturen, Variablen, Bedingungen, Wiederholungen– Erklärungen der Elemente– Gruppenspiele– Programmiersprachen

• Scratch: Elemente und Oberfläche

• Mögliche Kleinprojekte mit Scratch

Page 3: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Beispielaufbau Scratchkurs• Vorstellung Scratch

– Was ist das und was kann man damit machen?– Onlineeditor: http://scratch.mit.edu/ – Offlineedtor: http://scratch.mit.edu/scratch2download/

• Projektvorstellung:– Was wollen wir heute mit Scratch machen?

• Durchführung– Scratch installieren und einrichten– Scratchoberfläche erklären– Einführungsprojekt durchführen– Eigentliches Projekt umsetzen

• Ergebnisvorstellung

Page 4: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Methodik

• Bisherige „Lebens“-Erfahrung der Teilnehmer nutzen

• visuelle Erklärungen• bildliche Beispiele (Metaphern)• Übungen langsam und

redundant • Teilnehmer spielen lassen• Kreativität unbedingt fördern!

Nicht Fachbegriffe erklären, Anwendung erklären mittels

Beispielen aus dem echten Leben

Verständniskontrolle mittels Beispiel

Page 5: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Links für Methodik• Was die meisten Schulen nicht lehren

– https://youtu.be/nKIu9yen5nc • Changing Education Paradigms

– https://youtu.be/zDZFcDGpL4U • Lesen, Schreiben und Programmieren (Mitch Resnick, Erfinder von Scratch)

– https://youtu.be/42_30Rgf6F0 • Flipping the Classroom

– http://kata.coderdojo.com/wiki/Flipping_the_Classroom• Kids teaching Kids

– http://kata.coderdojo.com/wiki/Sugata_Mithra_-_Kids_teaching_Kids • An Opensource Movement

– http://kata.coderdojo.com/wiki/An_Opensource_Movement • Deschooling Society (Scary School Nightmare)

– https://youtu.be/ZUoYAj7Nosg

Page 6: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Skills für Coder• Welche Skills muss ein Coder erlangen?– Syntax einer Programmiersprache – Grundelemente und Logik von Programmiersprachen– Probleme erkennen – Problemlösung überlegen– Lösung auf begrenzten Wortschatz(Programmiersprache)

abstrahieren– Fehlersuche und -behebung

Page 7: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Grundelemente

• Befehle • Operationen• Variablen• Bedingungen• Wiederholungen• Scratch: Ereignisse & Sensoren

tuWas();

5

1 + 1;

alter > 18?

zielErreicht == false

Page 8: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Befehle

• Folgestruktur ein Befehl nach dem anderen• Möglich: Neue Befehle aus Vorhandenen erstellen• Beispiel für Folgestruktur: TV-Programm,

Stundenplan, Wegbeschreibung, Anleitung

tuWas();

Das ist ein Befehl!

Page 9: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Befehle

• Gruppenübung: Schreibe eine Wegbeschreibung für deinen Nachbarn

• Ziel: von Punkt A im Raum zu Punkt B im Raum• Hindernis: Verwende nur die Befehle geradeAus()

und dreheLinks()• Wegbeschreibung aufschreiben und Nachbar führt

diese aus. (Bei 3 Leuten, kann der dritte diese Vorlesen o.ä.)

tuWas();

Page 10: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Befehle in Scratch

• Scratchbefehle– Bewegung, Aussehen, Klang, Malstift

• Übungen– Führe den Roboter zur Fahne (siehe Bild)– (Scratch Surprise) Lass die Figur etwas überraschendes

machen• z.B. Ändere die Farbe und bewege die Figur nach oben….

tuWas();

Page 11: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Operationen

• Werte miteinander kombinieren– Arithmetisch, Vergleiche, Zuweisung, Logik– Operationen haben immer ein Ergebnis

• Beispiel: Kopfrechnen, Taschenrechner, Waage

1 + 1;

Das ist eine Operation mit

Zahlenergebnis

Das ist eine Operation mit

Wahrheitsergebnis (WAHR/FALSCH)

Page 12: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Operationen

• Gruppenübung: Wieder Wegbeschreibung aber Rechenaufgaben einbauen wie– Rechne 1 + 3– 5 ist größer als 6 (Ja/Nein Wahr/Falsch)

• Ziel: Ergebnisse von Operationen erhalten – Wichtig für Variablen

1 + 1;

Page 13: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Operationen

• Scratch Operationen– Erst bei Bedingungen oder Schleifen

notwendig• Übungen:– Rechne eine bestimmte Aufgabe und lass die

Figur das Ergebnis sagen– Lass die Figur sich nur bewegen, wenn eine

Zahl größer ist als…

1 + 1;

Page 14: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Variablen

• Werte und Ergebnisse merken– Daten speichern und laden– Es gibt verschiedene Datentypen– Eine Variable hat immer einen Namen

• Beispiel: PostIt, Hausaufgabenheft, Wörterbuch

5

Damit kann man sich Zahlen

merken

Page 15: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Variablen

• Gruppenübung: Wegbeschreibung mit Rechenaufgaben, Ergebnisse müssen auf verschiedene Zettel(mit Namen) geschrieben werden, die gespeicherten Daten müssen wieder abgerufen werden.– Für bestimmte Befehle werden Punkte gezählt und auf einen

Zettel geschrieben, am Ende des „Programms“ wird diese Punktzahl vorgelesen

• Ziel: Speichern und Laden von Informationen unter einem Platzhalter

5

Page 16: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Variablen

• Scratch Variablen– Punkte vergeben, Lebenspunkte einer Figur, Kraftpunkte,

Aktuelles Level

• Übung: – Zähle gesammelte Punkte, z.B. wenn sich zwei Figuren

berühren– Ist ein Level geschafft, erhält der Spieler einen Punkt

5

Page 17: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Bedingungen• Kontrollfluss nach Wahrheitswert steuern– Wahrheitswert verstehen (Ja/Nein, Wahr/Falsch)– Wenn (Wahr) dann … sonst (Falsch) …

• Beispiel: Alternativroute, Umleitung, Vertretung(-slehrer), Ersatzteil– Wenn (wandVorDir = Ja) dreheLinks• Sonst geradeAus

alter > 18?

Befehle werden nur ausgeführt wenn eine Bedingung erfüllt ist

Page 18: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Bedingungen• Gruppenübung: Wegbeschreibung mit Alternativen

einbauen. Zum Beispiel: Wenn Wand vor dir, dann dreheLinks. Wenn Stuhl vor dir, steig auf Stuhl ansonsten geheGeradeAus.– Tip: Hier können die Variablen vom Merkzettel verwendet

werden z.B. Wenn Ergebnis1 größer 8 dann gehe 8 Schritte • Ziel: Befehle nur unter bestimmten erfüllten

Bedingungen ausführen.

alter > 18?

Page 19: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Bedingungen

• Wenn Bedingung erfüllt– Berührung erkannt, Spielende erkannt,

Punkte vergeben• Beispiele zum üben– Beende das Programm, wenn der Spieler

den Bösewicht berührt.– Spieler sagt „Hurra“, wenn er das Ziel

erreicht

alter > 18?

Page 20: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Wiederholungen• Befehle bei Wahrheitswert wiederholen– Absolut zählen (for 0-10 Zählen)– Wenn (Wahr) wiederhole … sonst aufhören.

• Beispiel: – Wenn keine Wand vor dir gehe Gerade

aus– Wenn Knopf gedrückt, bewege dich

zielErreicht == false

Befehle werden wiederholt!

Page 21: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Wiederholungen• Gruppenübung: – In Wegbeschreibung Anwiesungen wie: Wiederhole

GeradeAus bis Wand erreicht. Wiederhole „Trepperaufgehen“ bis nächste Etage erreicht. • Tip: Variablen auch hier nutzbar: wiederhole „Ball sammeln“

bis „Ball aufgesammelt“

• Ziel: Befehle wiederholen solange ein Bedingung erfüllt ist, oder bis eine Bedingung erfüllt ist.

zielErreicht == false

Page 22: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Wiederholungen

• Wenn Bedingung erfüllt (oder unendlich)– Wiederhole Befehle in Wiederholung– Wenn etwas immer und immer wiederholt werden

muss• Beispiel: – Beschleunige solange Pedal gedrückt– Bewege Gegner solange Spiel läuft

zielErreicht == false

Page 23: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Weitere Scratch Elemente

• Events

• Sensoren

• Eigene Blöcke

Damit kann man dein Programm

von aussen starten

Berühren sich zwei Objekte auf

der Bühne?

Wenn du Befehle zusammenfassen

willst

Page 24: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Scratch Oberfläche

Stage/Bühne

Sprites/Figuren/Objekte

Skripte/Blöcke

Kostüme/Sounds

Code/Programmier-bereich

Hauptmenü

Page 25: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Weitere Links

• Scratch Kurs– http://lerneprogrammieren.de/scratch-kurs/

• Weitere Ideeen unter:– http://scratch.mit.edu/starter_projects/– http://kata.coderdojo.com/wiki/ScratchTastic

Page 26: Mentorenhandbuch Programmieren mit Scratch

lerneProgrammieren(); www.lerneProgrammieren.de

Scratchprojekte

• Roboterspiel V1: http://scratch.mit.edu/projects/42992634/ – Aufgabe 1: http://scratch.mit.edu/projects/49688262/ – Aufgabe 2: http://scratch.mit.edu/projects/49688490/

• Roboterspiel V2: http://scratch.mit.edu/projects/49696240/ – Vorlage: http://scratch.mit.edu/projects/49730756/