Mentorenhandbuch Scratch

Mentorenhandbuch Scratch www.lerneProgrammieren.de By Arkadius Roczniewski lerneProgrammieren(); www.lerneProgrammieren.de Inhalt • • • • Beispiel...
Author: Irmela Egger
43 downloads 1 Views 1MB Size
Mentorenhandbuch Scratch www.lerneProgrammieren.de By Arkadius Roczniewski 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 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 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! lerneProgrammieren();

Nicht Fachbegriffe erklären, Anwendung erklären mittels Beispielen aus dem echten Leben

Verständniskontrolle mittels Beispiel 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 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 lerneProgrammieren();

www.lerneProgrammieren.de

Grundelemente • • • • • •

Befehle Operationen Variablen 5 Bedingungen ? Wiederholungen Scratch: Ereignisse & Sensoren tuWas();

1 + 1;

alter > 18

zielErreicht == false

lerneProgrammieren();

www.lerneProgrammieren.de

Befehle

tuWas();

• Folgestruktur  ein Befehl nach dem anderen • Möglich: Neue Befehle aus Vorhandenen erstellen • Beispiel für Folgestruktur: TV-Programm, Stundenplan, Wegbeschreibung, Anleitung Das ist ein Befehl!

lerneProgrammieren();

www.lerneProgrammieren.de

Befehle

tuWas();

• 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.ä.) lerneProgrammieren();

www.lerneProgrammieren.de

Befehle in Scratch

tuWas();

• 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…. lerneProgrammieren();

www.lerneProgrammieren.de

Operationen

1 + 1;

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

• Beispiel: Kopfrechnen, Taschenrechner, Waage Das ist eine Operation mit Zahlenergebnis

lerneProgrammieren();

Das ist eine Operation mit Wahrheitsergebnis (WAHR/FALSCH) www.lerneProgrammieren.de

Operationen

1 + 1;

• 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 lerneProgrammieren();

www.lerneProgrammieren.de

Operationen

1 + 1;

• 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… lerneProgrammieren();

www.lerneProgrammieren.de

Variablen

5

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

Damit kann man sich Zahlen merken

• Beispiel: PostIt, Hausaufgabenheft, Wörterbuch lerneProgrammieren();

www.lerneProgrammieren.de

Variablen

5

• 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 lerneProgrammieren();

www.lerneProgrammieren.de

Variablen

5

• 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 lerneProgrammieren();

www.lerneProgrammieren.de

Bedingungen ?

alter > 18

• 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

lerneProgrammieren();

Befehle werden nur ausgeführt wenn eine Bedingung erfüllt ist www.lerneProgrammieren.de

Bedingungen ?

alter > 18

• 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.

lerneProgrammieren();

www.lerneProgrammieren.de

Bedingungen ?

alter > 18

• 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 lerneProgrammieren();

www.lerneProgrammieren.de

Wiederholungen

zielErreicht == false

• 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 Befehle werden wiederholt! lerneProgrammieren();

www.lerneProgrammieren.de

Wiederholungen

zielErreicht == false

• 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. lerneProgrammieren();

www.lerneProgrammieren.de

Wiederholungen

zielErreicht == false

• 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 lerneProgrammieren();

www.lerneProgrammieren.de

Weitere Scratch Elemente Damit kann man • Events • Sensoren • Eigene Blöcke lerneProgrammieren();

dein Programm von aussen starten

Berühren sich zwei Objekte auf der Bühne? Wenn du Befehle zusammenfassen willst www.lerneProgrammieren.de

Scratch Oberfläche Kostüme/Sounds Hauptmenü Stage/Bühne

Skripte/Blöcke

Code/Programmierbereich Sprites/Figuren/Objekte 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

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/ lerneProgrammieren();

www.lerneProgrammieren.de