Mentorenhandbuch Scratch lerneprogrammieren(); By Arkadius Roczniewski
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
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
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
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
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
Grundelemente Befehle Operationen Variablen Bedingungen tuwas(); Wiederholungen 5 1 + 1; Scratch: Ereignisse & Sensoren? alter > 18 zielerreicht == false lerneprogrammieren();
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();
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.ä.)
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();
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 Das ist eine Operation mit Wahrheitsergebnis (WAHR/FALSCH) lerneprogrammieren();
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();
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
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();
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
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
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
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.
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
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! lerneprogrammieren();
Wiederholungen Gruppenübung: zielerreicht == false 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();
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();
Events Weitere Scratch Elemente Damit kann man dein Programm von aussen starten Sensoren Eigene Blöcke Berühren sich zwei Objekte auf der Bühne? Wenn du Befehle zusammenfassen willst
Scratch Oberfläche Kostüme/Sounds Hauptmenü Stage/Bühne Skripte/Blöcke Sprites/Figuren/Objekte Code/Programmierbereich
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();
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();