Informationen zum Unterrichtsplan
- Klassen: 8–12 (Schüler:innen müssen mindestens 13 Jahre alt sein, um an diesem Unterrichtsplan teilnehmen zu können)
- Umfang des Unterrichts: 1 Stunde
- Verwendetes Tool: Fortnite-Kreativmodus
- Unterricht/Lernumgebung: Jeweils ein Fortnite-fähiges Gerät mit Internetverbindung pro Schüler:in. Ein Computerraum oder mobiler Laptopwagen sollte die ideale Lernumgebung sein.
Kontakt
Verfasser: Steven Isaacs und Brian Dickman
E-Mail-Adresse: [email protected] | [email protected]
Twitter: @mr_isaacs | @cleverlike
LinkedIn: https://www.linkedin.com/in/steve-isaacs/ | https://www.linkedin.com/in/cleverlike
BESCHREIBUNG DES UNTERRICHTS/DER LERNUMGEBUNG
Diese Lektion sollte im Rahmen der Hour of Code während der Computer Science Education Week (Bildungswoche für Informatik) verwendet werden.
Diese Übung kann für sich allein stehen oder in Verbindung mit anderen Aktivitäten Teil eines größeren Projekts sein.
Der Verfasser Steve Isaacs lehrt Spieledesign und -entwicklung als Lernumgebung, die auf Zielen oder Entscheidungen basiert und die den Schüler:innen die Gelegenheit bietet, abhängig von ihren eigenen Interessen verschiedene Lösungsansätze zu verfolgen – in Sachen Inhalt und Projektmöglichkeiten.
Der Verfasser Brian Dickman hat Informatik studiert und betreibt ein Spieleentwicklungsstudio in Vollzeit, das unterhaltsame und lehrreiche Inhalte in beliebten Videospielen produziert.
Unterrichtsstundenübersicht
Hast du das Zeug dazu, aus dem Quiz-Turm zu entkommen? Oder wie wäre es, selbst einen solchen Quiz-Turm zu erschaffen?
Diese Aktivität beschäftigt sich mit der Verwendung von Funktionen im Fortnite-Kreativmodus. Dafür muss ein Spiel erstellt werden, in dem die Spieler:innen eine Reihe von Quizfragen beantworten müssen, um zu entkommen. Bei jeder richtigen Antwort wird eine Funktion ausgelöst, die es den Spieler:innen erlaubt, vorzurücken. Zur Belohnung wird eine coole Melodie abgespielt und ein schicker visueller Effekt auf dem Bildschirm angezeigt. Bei einer falschen Antwort ertönt ein eher negatives Geräusch und es wird ein visueller Effekt angezeigt, mit dem die Spieler:innen aufgefordert werden, es noch einmal zu versuchen.
Nach Abschluss dieser Aktivität werden die Schüler:innen durch die Verwendung von Sequenzern und verschiedenen Geräten die Grundlagen von Code-Funktionen erlernen.
Angestrebte Ergebnisse
Welche Lernziele bestehen für die Schüler:innen?
ZENTRALE FRAGEN/IDEEN
Können die Schüler:innen Konzepte der Informatik im Rahmen einer aussagekräftigen Aktivität erlernen, statt Syntax als abgegrenzte Fähigkeit zu lernen?
Wird das Erlernen von Informatikkonzepten wie Funktionen über eine Aktivität im Fortnite-Kreativmodus dazu führen, dass man dieses Konzept auch in einem Programmierungsumfeld versteht?
Können den Schüler:innen Konzepte der Informatik mittels Spielmechaniken vermittelt werden?
Werden die Schüler:innen motivierter sein, Informatikwissen zu erlernen, wenn dies in einer Spielumgebung geschieht?
Lernaktivitäten
Einführung in Funktionen
Eine Funktion ist eine Code-Einheit, die häufig durch ihre Rolle in einer größeren Code-Struktur definiert wird. Genauer gesagt enthält eine Funktion eine Code-Einheit, die durch eine Reihe von Bedingungen oder Eingaben ausgelöst wird – viele davon Variablen – und konkrete Ergebnisse liefert, die je nach Bedingung oder Eingabe zu Veränderungen an den Werten von Variablen oder an tatsächlichen Vorgängen führen.
– Quelle: Techopedia.com
Einfach ausgedrückt:
Eine Funktion ist ein Stück Code, das ganz einfach immer und immer wieder aufgerufen werden kann.
– Quelle: code.org
Bei der Aktivität in dieser Lektion beispielsweise müssen die Schüler:innen eine Reihe von Funktionen erstellen, die zur Durchführung einer Quizshow im Fortnite-Kreativmodus erforderlich sind. Jede Funktion (repräsentiert durch den Sequenzer) führt dazu letztendlich eine Reihe von Befehlen (mittels Geräten) im Spiel aus.
Pseudocode beschreibt das simulierte Schreiben von Code zum Darstellen des Konzepts, das der Code repräsentieren soll. Pseudocode stellt die allgemeine Struktur dar, befolgt aber nicht notwendigerweise die richtige Syntax. Für diese Lektionen werden wir hin und wieder Pseudocode verwenden, um Konzepte zu veranschaulichen.
Das könnte in etwa so aussehen:
Funktion 1 (askQuestion): Runde beginnen/Frage an Spieler:innen stellen Funktion 2 (startTimer): Countdown starten
myFunction(askQuestion) Folgende Aktion ausführen Antwortschaltflächen zurücksetzen Soundeffekt abspielen Zufällige Zahl für Quizfrage auswählen Frage auf dem Bildschirm anzeigen myFunction(startTimer) Countdown starten Wenn Countdown 0 erreicht Dann Zeit um Soundeffekt abspielen Nachricht anzeigen („Leider hast du zu lange zum Antworten gebraucht!“) Nächste Frage aktivieren Funktion beenden Funktion beenden
Funktion 3: (correctAnswer) myFunction(correctAnswer) Folgende Aktion ausführen Positiven Soundeffekt abspielen Nachricht anzeigen („Richtig! Gut gemacht!!“) Punktzahl erhöhen Nächste Frage aktivieren Funktion beenden Funktion beenden
Funktion 4: (wrongAnswer) myFunction(wrongAnswer) Folgende Aktion ausführen Negativen Soundeffekt abspielen Nachricht anzeigen („Bitte versuch es noch einmal!“) Nächste Frage aktivieren Funktion beenden
Im Beispiel oben passieren mehrere Dinge, wenn die Funktion (askQuestion) initiiert wird.
- Die Antwortschaltflächen werden zurückgesetzt.
- Ein Soundeffekt wird abgespielt, um die Spieler:innen darauf vorzubereiten, dass gleich eine Frage auf dem Bildschirm angezeigt wird.
- Eine zufällige Zahl wird im Hintergrund ausgewählt, mit der die Quizfrage bestimmt wird, die den Spieler:innen gestellt wird.
- Die Frage wird auf dem Bildschirm angezeigt.
Danach greift eine weitere Funktion (startTimer), die ihrerseits weitere Aktionen auslöst.
- Der Countdown wird gestartet.
- Ein Soundeffekt wird abgespielt, wenn der Countdown 0 erreicht. Dies gibt an, dass die Frage jetzt nicht mehr beantwortet werden kann.
Jetzt fügen wir zwei weitere Funktionen ein: (correctAnswer) und (wrongAnswer). Erneut werden Aktionen im Spiel ausgelöst.
- Der entsprechende Soundeffekt wird abgespielt.
- Die Punktzahl wird gegebenenfalls angepasst.
- Die entsprechende Nachricht wird angezeigt.
- Die nächste Frage wird aktiviert.
In diesem Video werden Funktionen näher erklärt:
CS Principles: Defining and Calling Functions
Funktionen können in jeder Programmiersprache verwendet werden – und auch in Umgebungen wie dem Fortnite-Kreativmodus.
In Fortnite verwenden wir den Sequenzer und platzieren unsere Ereignisse/Aktionen im Sequenzer, damit diese bei dessen Aktivierung ausgeführt werden.
Lernaktivitäten
Im Schülerleitfaden und den Anmerkungen für Lehrkräfte kann eine schrittweise Anleitung dieser Aktivität nachgelesen werden.
Die Schüler:innen sollten sich während dieser Übung am Schülerleitfaden orientieren.
Um die Arbeit der Schüler:innen zu beurteilen, sollte das Bewertungsschema zum Herunterladen verwendet werden.
EXTERNE LEHR- UND HILFSMITTEL
CS Principles: Intro to Variables Part 1 CS Principles: Intro to Variables Part 2 Definition of variables
Bildungsstandards
ISTE-Standards für Schüler:innen
CSTA-Standards für Schüler:innen
1A-AP-09 Darstellen der Art und Weise, wie Programme Daten speichern und verändern, durch Zahlen und andere Symbole, die Informationen repräsentieren.
1B-AP-10 Erstellen von Programmen, die Abfolgen, Ereignisse, Schleifen und Bedingungen enthalten.
1B-AP-12 Bearbeiten, Umbauen oder Implementieren von Teilen eines bereits existierenden Programms in die eigene Arbeit, um etwas Neues zu entwickeln oder einem vorhandenen Werk fortgeschrittenere Funktionen hinzuzufügen.
1B-AP-15 Testen und Debuggen (Fehler identifizieren und beheben) eines Programms oder Algorithmus, um zu gewährleisten, dass es bzw. er ordnungsgemäß ausgeführt wird.
2-AP-10 Verwenden von Flussdiagrammen und/oder Pseudocode, um komplexe Probleme in Form von Algorithmen zu lösen.
2-AP-13 Aufspalten von Problemen und Unterproblemen in Teile, um die Entwicklung, Implementierung und Prüfung von Programmen zu vereinfachen.
2-AP-14 Erstellen von Verfahren mit Parametern zum Organisieren und zur einfacheren Wiederverwendung von Code.
2-AP-17 Systematisches Testen und Verbessern von Programmen unter Verwendung verschiedener Testfälle.
3A-AP-13 Erstellen von Prototypen, die Algorithmen zur Lösung von Informatikproblemen verwenden, indem auf das bestehende Wissen der Schüler:innen und ihre persönlichen Interessen zurückgegriffen wird.
3A-AP-16 Entwerfen und schrittweises Entwickeln von Computerkreationen für praktische Zwecke, um sich auszudrücken oder um ein gesellschaftliches Problem zu behandeln, wobei Ereignisse verwendet werden, um Anweisungen zu geben.
3A-AP-17 Aufteilen von Problemen durch systematische Analyse in kleinere Komponenten mithilfe von Konstrukten wie Prozeduren, Modulen und/oder Objekten.
3A-AP-18 Erstellen von Artefakten durch die Nutzung von Verfahren in einem Programm, durch die Kombination von Daten und Verfahren oder durch unabhängige, aber zusammenhängende Programme.
3A-AP-22 Entwerfen und Entwickeln von Rechenartefakten mithilfe von kollaborativen Werkzeugen und Teamarbeit.
ESSENZIELLE FÄHIGKEITEN IM 21. JAHRHUNDERT UND FÄCHERÜBERGREIFENDE THEMEN
Diese Lektion behandelt Bereiche mit Bezug auf Programmieren und Informatik.
Essenzielle Fähigkeiten im 21. Jahrhundert:
- Kritisches Denkvermögen
- Kreativität
- Zusammenarbeit
- Kommunikation
- Technologiebewandertheit
- Flexibilität
- Führungsstärke
- Initiative
- Soziale Kompetenz
ÄNDERUNGEN FÜR BESONDERE FÄLLE
Der Unterrichtsplan kann für Schüler:innen mit besonderen Bedürfnissen oder Voraussetzungen angepasst werden.
Die Schüler:innen können in Gruppen zusammenarbeiten und einen gemeinsamen Programmierungsansatz verfolgen.
Den Schüler:innen kann ein Beispiel zur Verfügung gestellt werden, das sie dann untersuchen oder modifizieren können.
Falls nötig können adaptive Controller oder andere Eingabegeräte ausgeteilt werden.