Planung FS 2023
- 15.02.2023:
- 1M & 2M:
- Vorstellung Security-Projekt
- Gruppenbildung
- 2M stellen 1M micro:bit vor
- gemeinsam einfache Aufgaben lösen
- 2M: Besprechung Projekte
- 22.02.2023:
- 1M & 2M: Start Security-Projekt (I)
- 2M: Vorstellung Projekte Teil I
- Leonardo Brun (Discord)
- Laurin Herzig (Pygame)
- 01.03.2023:
- 1M & 2M: Security-Projekt (II)
- 2M: Vorstellung Projekte Teil II
- Dario Küng (Verkehrskadetten-Bestellung)
- Enny & Livia (Game)
- (Jona & Dimitri (Tasks App))
- 08.03.2023:
- Vorbereitung Hackathon
- 2M: Vorstellung Projekte Teil III
- Jonas Tibisch (Chess Project)
- Hanna Kradolfer (Pygame)
- 1M & 2M: Security-Projekt (III)
- 15.03.2023:
- 2M: Vorstellung Projekte Teil IV
- Lukas Tran
- Vorbereitung Hackathon
- 1M & 2M: Security-Projekt (IV)
- HACKATHON 18.03.2023 (Obligatorisch für 2M, freiwillig 1M)
- 22.03.2023:
- Projekte finalisieren
- Deadline Abgabe Videodokumentation/Werbevideo bis Fr. 24.03.2023 @23.59
Planung Q2:
- 1M: siehe programm_1m_fs2023_q2
Programm 1M
Lektion 10: 28.06.2023
- Letzte Lektion vor Ferien, nur ca. 1h
- Info zu SSW (Neuronale Netze)
- Fragen zu Bildbearbeitung und Asteroiden Game
- HA: bis Ende 1. Ferienwoche Asteroiden-Game fix fertig (Model, m:bit, PyQt, Console)
Lektion 9: 21.06.2023
- Abschiedsapéro 4M-TALIT
- Bildberarbeitung:
- Demo Bildbearbeitungseffekte mit Numpy
- 2/3-er Gruppen wird je ein Effekt zugewiesen, überlegen, wie umsetzen
- mind. zwei versch. Effekte programmieren
- HA: Auftrag fertig
Lektion 8: 14.06.2023
- neues Thema: Pixel Art und Bildbearbeitung mit Python
- Vorbereitung auf NN Kurs in SSW
- it's Fun!
- Lektion:
- Aufgabe 0: Einrichten (gemeinsam)
- Aufgabe 1: Numpy Arrays kennen lernen
- Aufgabe 2: Fun with Flags
- Aufgabe 3: Pixel Art
- Aufgabe 4: Animation (optional)
- HA:
- auf SO: Code zu A3 fertig und abgeben per Teams (wie immer)
- auf MI: eigene Pixel Art, in Klasse demonstrieren
Lektion 7: 07.06.2023
- Auftrag von vorletzter Woche (Finale Version Asteroids Game)
- FINALE ABGABE: kommender Sonntag 11.06.2023
Lektion 6: 31.05.2023
Weiter an Auftrag von letzter Lektion
Lektion 5: 24.05.2023
- Slides: Model / View
- Auftrag: Version Final
- Abgabe 1: Teil I & II (oder mehr) bis nächste Lektion, Besprechung in Person.
- Abgabe 2: Verbesserung & Teil III & IV bis So 4.6.
Lektion 4: 10.05.2023
- Rückmeldung HA:
- Erreichbarkeit: Mitteilungen meist per Teams, muss täglich überprüfen
- wird besser
- bitte mit aussagekräftiger Rückmeldung. Probleme oder Fehler? Beschreibe diese und nicht einfach „… dann wird mir eine Fehlermeldung bei Linie 30 angegeben.“
- GitHub: NIE Files per Upload hochladen sondern über Git-Bash. Finde heraus wie das geht, frage TALIT-Go(e)tti!
- OOP:
- Grundidee
- Beispiele von SuS
- Live-Demo: Asteroiden-Regen
- HA:
- v05 korrigieren & erweitern
- beachte: Aufgabe wurde ergänzt:
- z.B. Klasse für Player
- Abgabe 1: bis kommenden Sonntag 14.5. (besser früher)
- dann warten auf Rückmeldung von LP
- Abgabe 2: Verbesserung (falls nötig bis So. 21.5.
- Ziel: perfekte OOP Version bis zur nächsten Lektion
Code-Beispiele SuS:
Wo ist das Problem?
class Asteroid: def __init__(self, pos_x, pos_y, brightness, speed, last_update): self.pos_x = pos_x self.pos_y = pos_y self.brightness = brightness self.speed = speed self.last_update = last_update def spawn(self): if len(Asteroids) < MAX_ASTEROIDS: pos_x = random.randint(0, 4) pos_y = 0 brightness = ASTEROID_BRIGHTNESS speed = random.randint(50, 500) last_update = time.ticks_ms() asteroid = Asteroid(pos_x, pos_y, brightness, speed, last_update) Asteroids.append(asteroid) return asteroid return None
Lektion 3: 03.05.2023
- Rückmeldung HA:
- In Code unten keine Werte (ausser z.B. 0), sondern KONSTANTEN
- Keep it short & simple:
- anstelle
if <condition1>: if <condition2>
einfach:if <condition1> and <condition2>
- vermeide zu viele Einrückungen → schwierig zu lesen
- Logische Abfolge in Game-Loop: Halte dich an Vorgaben in Template:
- Template: Update Asteroid & Player / Collision / Display / Short Sleep
- Bsp. nicht optimal: Display / Update Asteroid & Player / Collision / Short sleep
- Neustart bei Game Over: Mehrere Möglichkeiten:
- Nach Game Over in neues
while True
, mit break ausbrechen (Lösung v04a). Problem: Wie auf Starteinstellungen zurücksetzen, ohne den Code copy-pasten? Möglichkeit: global variables, aber ist bad practice - Alternative: Zwei eigene Funktionen für Game Loop und Game Over (v04b).
- Besprechung: Wollen mehrere Asteroiden gleichzeitig haben, sollen zufällig spawnen. Wie programmieren?
- Theorie Input und Aufgaben (keine Zeit mehr für Aufgaben) zu OOP
- Version 5 programmieren
- HA:
- v05 fertig und abgeben bis So.
- optional aber sehr empfohlen: Auftrag 1
Lektion 2: 26.04.2023
- Rückmeldung Abgaben von HA:
- waren nicht gut im Allgemeinen, müssen immer gleich ablaufen
- Lektion verpasst? SELBSTÄNDIG nacharbeiten, nachfragen, …
- z.T. HEX-File oder File ohne Endung anstelle PY-File hochgeladen. Python-Files immer von Form
my_file.py
- vor Abgabe überprüfen, ob Hochladen auf GitHub funktioniert hat!
- z.T. (fast) identische Abgaben. Warum???
- Nachricht an LP per Teams mit folgender Info:
- Link zum File (jedes Mal aufs Neue, damit LP nicht lange suchen muss)
- Rückmeldung: Funktioniert? Falls nicht, beschreibe Probleme, Bugs, … so genau es geht
- Rückmeldungen Code:
- falls
game_over
bool (True oder False), schreibeif game_over
anstelleif game_over == True
- Kommentare: Überschriften, Erklärungen
- Strukturierung Code (siehe Template zu nächster Code-Version)
- Trenne Logik von Anzeige (mehr dazu im Auftrag zu v03)
- Verwende kein sleep() für Bewegung der Asteroiden (beeinflusst auch Player) sondern
time.ticks_ms()
\\
- Auftrag Lektion:
- Version 3 (gleiches Game aber sauber strukturiert)
- Lösung muss mit LP besprochen werden
- HA 1: Studiere TALIT-Info
- HA 2: Version 4
- Abgabe bis SA-Abend
- Halte dich an Abgaberegeln (gelten immer!):
- Nachricht an sca per Teams mit:
- Link zum File (jedes Mal aufs Neue, damit LP nicht lange suchen muss)
- Rückmeldung: Funktioniert? Falls nicht, beschreibe Probleme, Bugs, … so genau es geht
Lektion 1: 19.04.2023
- Version 1 (Challenge, Asteroids v01)
- Besprechung: Wie kann man verbessern? Siehe Tipps
- Auftrag 2 beginnen
- Hausaufgabe:
- Bis Sonntagabend Version 2 fertig …
- auf GitHub (geteilt mit anschae, gehe auf GitHub und stelle sicher, dass alles geklappt hat) …
- und Nachricht per Teams an sca mit:
- Link zu GitHub Repo
- kurze Nachricht: Was funktioniert? Gibt noch Probleme?
Gruppen
Name | Klasse | Team |
---|---|---|
Kim Ngo (1Mdz, KK) | 1 | 1 |
Enny Reinhardt (2Mdz) | 2 | 1 |
Rico Fleming (1Ma) | 1 | 2 |
Jona Kreis (2Mc) | 2 | 2 |
Maia Cater (1Fa, KC) | 1 | 3 |
Livia Scherle (2Mez) | 2 | 3 |
Jennifer Imonopi (1Mez, KC) | 1 | 4 |
Lea Seitter (1Mb, KC) | 1 | 4 |
Hanna Kradolfer (2Mdz) | 2 | 4 |
Lorenzo Camani (1Mfz) | 1 | 5 |
Mirea Capizzi (1Ma) | 1 | 5 |
Dario Küng (2Mdz) | 2 | 5 |
Bernardo Bürger Brun (1Mfz, KC) | 1 | 6 |
Jonas Tibisch (2Mdz, KK) | 2 | 6 |
Mailo Rodriguez (1Mc) | 1 | 7 |
Dimitri Horn (2Mc) | 2 | 7 |
Johannes Stölzle (1Mfz) | 1 | 8 |
Darvin Subramaniam (1Mdz) | 1 | 8 |
Laurin Herzig (2Mez, KK) | 2 | 8 |
Andrin Schmid (1Mez) | 1 | 9 |
Lukas Tran (3Ma) | 3 | 9 |
Dylan Cetina (1Mfz) | 1 | 10 |
Joris Cremonese (1Ma) | 1 | 10 |
Leonardo Brun (2Mez) | 2 | 10 |