====== Planung FS 2024 ======
=== Präsentationen 2M ===
^ Name ^ Vorname ^ Kl/Kü ^ Präsentationdatum ^ Projekt ^ Repo ^
| Fleming | Rico | 2Ma | 26.02.2024 | Binary Trainer | https://github.com/NEDBOY07/Basic_Binary |
| Cetina | Dylan | 2Mfz | 26.02.2024 | Brainfuck Interpreter als Webapp | https://github.com/dylan366/brainfuck_interpreter |
| Cater | Maia | 2Fa | 04.03.2024 | Voci-Trainer | https://github.com/teluls/voci-memory |
| Schmid | Andrin | 2Mez | 04.03.2024 | Task Planner Webapp | https://github.com/Andrinus/tasxs |
| Camani | Lorenzo | 2Mfz | 11.03.2024 | Tetris | https://github.com/Louenzo/Tetris |
| Eugster | Alissa | 2Mb | 11.03.2024 | TicTacToe Webapp | https://github.com/Ameisehuhn777/Game |
| Stölzle | Johannes | 2Mfz | 18.03.2024 | 2D-Grafik | https://github.com/jostoelz/Talit-Programmier-Projekt-2D |
| Cremonese | Joris | 2Ma | 18.03.2024 | Python Editor mit Qt | https://github.com/jocre347/best-editor-talit-project |
| Bürger Brun | Bernardo | 2Mfz | 25.03.2024 | PyGame | https://github.com/Agar-Willson/Too-Perfect-World |
=== Woche 1: 2024-02-05 ===
* **1M / 2M**
* 2M: Präsentationstermine vereinbaren
* Götti/Gotti-System: 2M helfen 1M SuS
* Python Setup:
* [[https://code.visualstudio.com/|VSCode]] installieren
* [[https://www.python.org/downloads/|Python 3.12]] installieren
* **Ziel**: Hello World in VScode
* Git
* z.B. [[https://gitforwindows.org/]] installieren und in VSCode zum laufen bringen
* [[http://github.com]]-Konto erstellen
* Privates Repository `fizzbuzz` auf github erstellen
* Repository auf Computer klonen (in [[talit:git_github|Kommandozeile]] oder direkt in VSCode).
* Code verändern, commiten, pushen.
* **Ziel**: [[https://de.wikipedia.org/wiki/Fizz_buzz|Fizzbuzz]] auf github gestellt und mit github Users `anschae` (sca@) und [[https://github.com/tkilla77|tkilla77]] (hof@) geteilt.
* Jupyter
* In [[https://code.visualstudio.com/docs/datascience/jupyter-notebooks|VSCode Jupyter Extension]] installieren
* Python-Challenge: Die [[wpde>Eulersche Zahl]] $e$ berechnen und in Jupyter dokumentieren. $$e = 1 + \frac{1}{1} + \frac{1}{1 \cdot 2} + \frac{1}{1 \cdot 2 \cdot 3} + \frac{1}{1 \cdot 2 \cdot 3 \cdot 4} + \dotsb = \sum_{k=0}^{\infty}{\frac{1}{k!}}$$
* **Ziele**:
* Jupyter kennenlernen den Code im Notebook dokumentieren ([[wpde>Markdown]] & Python).
* Geteilt in einem github Repository.
* **3M**
* Projekt-Besprechungen
=== Woche 2: 2024-02-12 ===
* **1M / 2M**
* Input: [[talit:python_intro#ki-chatbots_als_tutor|KIs als Tutor:in einsetzen]]
* Konstruktives Feedback zu Fizzbuzz, Github & Co
* Was ist einfach?
* Was ist schwierig / mühsam / kompliziert?
* Commit & **Push** (sonst bleibt der Code lokal!)
* Auf [[https://github.com|github.com]] überprüfen, ob der Code wirklich dort ist!
* Lerne [[talit:python_intro#jupyter|Jupyter-Notebooks]] kennen und stelle die Aufgabe zur Eulerschen Zahl fertig.
* [[talit:python_intro#string_formatting|Python String Interpolation]] kennenlernen und in einem Jupyter Notebook dokumentieren ([[wpde>Markdown]] & Python).
=== Woche 3: 2024-02-19 ===
* **1M / 2M**
* [[talit:python_intro#dictionaries_json|Dictionaries & JSON]]: Grundlagen lernen & in neuem Jupyter Notebook dokumentieren.
* **HA:** Auftrag fertig
* **3M:** PRD Projekte
=== Woche 4: 2024-02-26 ===
* **1M / 2M**
* Präsentationen 2M
* Warm-Up:
* Konto erstellen auf [[https://www.codewars.com/dashboard]] ([[https://sca.ksr.ch/doku.php?id=gf_informatik:programmieren_training_websites&s[]=codewars#codewars|hier für Anleitungen & Tipps]]) ...
* ... Benutzername von CodeWars und Benutzername von GitHub im Chat an sca schicken
* 1-2 Challenges zu Dictionaries lösen (Practice / nach 'Dictionary suchen, passendes Level)
* Besprechen & fertig machen: [[talit:python_intro#dictionaries_json|Dictionaries & JSON]]
* Wenn fertig: Selbst Programmierchallenges auswählen und lösen: [[https://www.codewars.com/dashboard]].\\ Klicke [[https://sca.ksr.ch/doku.php?id=gf_informatik:programmieren_training_websites&s[]=codewars#codewars|hier für Anleitungen & Tipps]]
* **HA:**
* Auftrag zu Dicts fertig machen
* *jeden Tag* mind. 1 Challenge absolvieren (einige davon zu Dictionaries) -> in Stats sichtbar\\ \\
* **3M:** PRD Projekte finalisieren, mit Projekten beginnen
=== Woche 5: 2024-03-04 ===
* [[talit:python_intro#ausnahmebehandlung_mit_try-except|Ausnahmebehandlung mit try-except]]
* Aufgaben 1-3 dazu
* **HA:**
* Aufgaben 1-3 fertig
* jeden Tag mind. 1 Aufgabe auf CodeWars. Bis kommenden Mo muss **"Total Completed Kata" mind. 14** sein!
=== Woche 6: 2024-03-11 ===
* Präsentationen 2M
* Besprechung, Lösungen online [[talit:python_intro#ausnahmebehandlung_mit_try-except|Ausnahmebehandlung mit try-except]]
* [[talit:python_intro#text_processing|Text Processing]]
* **HA:**
* Auftrag Text Processing fertig
* CodeWars weiter programmieren ist *empfohlen*
=== Woche 7: 2024-03-18 ===
* Präsentationen 2M
* Besprechung Auftrag letzte Woche: [[talit:python_intro#text_processing|Text Processing]]
* Einführung List Comprehensions:
* Erstelle Liste mit ...
* -> List Comprehensions
* Auftrag: [[talit:python_intro#list_comprehensions|List Comprehensions]]
* Falls fertig: CodeWars
* **HA:**
* Auftrag letzte Woche (Text Processing) verbessern
* Auftrag List Comprehensions fertig
=== Woche 8: 2024-04-22 ===
* Präsentation Bernardo
* **1M:** [[talit:microbit|Einführung micro:bit & Aufgaben darin]]
* **2M:** [[talit:algorithmen]]
=== Woche 9: 2024-04-29 ===
* 1M:
* Besprechung Microbit-Aufgaben, primär Würfel
* versch. Möglichkeiten
* if-else vs. if-elif
* [[talit:asteroids_game#version_1challenge|Asteroids-Game v1 & v2]]
* HA: v2 fertig
=== Woche 10: 2024-05-06 ===
* 1M:
* Ankündigung: **Programmiertest** in nächster Lektion (siehe Infos dort)
* **Auftrag GitHub**:
1. **Erstelle Repo** "JokeOfTheDay" auf GitHub
1. Gib des dem Lehrer (anschae) **frei**
1. **Klone** das Repo auf deinen Computer
1. Füge dem Repo *auf deinem Computer* (**NICHT PER WEB-UPLOAD!!!!**) ein **Textdokument** "joke.txt" hinzu und schreibe deinen **Lieblingswitz** hinein.
1. Unternehme alle notwendigen **Schritte**, damit das Dokument dem Repo hinzugefügt wird und pushe es dann.
1. **Kontrolle:** Gehe auf `http://github.com//JokeOfTheDay` und stelle sicher, dass alles geklappt hat.
1. Gib dem Lehrer **Bescheid**.
* Asteroids-Game
* v03: Code sauber **strukturieren**
* [[talit:asteroids_game#version_3|Asteroids-Game v3]]
* falls fertig: v4
* 2M:
* Optionaler **Programmiertest** nächste Lektion
* **Heute**: Wir machen einen Ausflug von den Graphen-Algorithmen zu [[talit:generators]].
=== Woche 11 ===
* 1M:
* **Programmiertest**:
* Warum? Überprüfung Wissensstand.
* Was, wenn schwaches Resultat? -> Gespräch.
* Wer? **1M Pflicht**, 2-3M freiwillig
* isTest, Safe Exam Browser, [[https://webtigerpython.ethz.ch|neues TigerPython]] (nicht TigerJython)
* keine Hilfsmittel
* Themen:
* Programmieren:
* Basics auf GF (Schleifen, Verzweigungen, Listen)
* String Formatting
* Dicts & JSON
* try-except
* Text Processing
* List Comprehensions
* List Slicing & Ranges
* Wissensfragen: Git und GitHub (Grundverständnis, wichtigste Befehle)
* Krank? Test nächste Lektion.
* **Asteroids Game v05** (Rest HA)
* 2M:
* ev. Programmiertest
* Revisit `yield` und Generators.
* Ein Generator für unsere [[talit:algorithmen#aufgabe_4_-_graph_walk|Graphen - Tiefensuche]] mit `yield` und Rekursion.
=== Woche 12 ===
* **1M:**
* **Slides: Model / View**
* Minimalziel: Asteroiden Game Version 5 perfekt
* Wenn fertig:
* [[talit:asteroids_game#version_final]]
* Version von Asteroiden Game mit GUI mit PyQT
* Programmiere im Model/View-Style
* Microbit-Version lassen wir weg (resp. optional)
* Nachprüfung
* **HA**:
* Asteroiden Game Version 5 perfekt
* Empfohlen: Asteroiden Game mit PyQT
* Installiere numpy, skimage und matplotlib. Typischerweise verwendet map pip, um Python-Module zu installieren.
pip install scikit-image
pip install matplotlib
pip install numpy
* **2M:**
* BFS, Shortest Path
* [[talit:algorithmen#aufgabe_5|BFS-Traversierung]] mit Generators studieren und ausprobieren
* [[talit:algorithmen#aufgabe_6pfadsuche_mit_bfs|Pfadsuche mit BFS]] entwickeln
* [[talit:algorithmen#scale_it_up_-_pfadsuche_im_oeffentlichen_verkehr|Scale it Up]]
=== Woche 13 ===
== 1M ==
* Einsicht **isTest**
* Weiteres Vorgehen:
* Einzelgespräche mit allen 1M in SSW
* **Erneuter Test** in erster Lektion nach Sommerferien *für alle mit Note $\leq 4.5$*
* Falls jetzt UG: muss dann bestehen, ansonsten Ausschluss aus TALIT
* Falls jetzt zwischen 4 und 4.5: kein Ausschluss falls dann UG, sehen dann weiter (vielleicht erneuter Test)
* Fragen zu **Asteroids** v05? (KEINE ZEIT GEHABT DAZU)
* neues Thema für heute und nächste Woche: **[[talit:image_processing_python]]**
* kurzer Input
* Aufgabe 1 (Numpy)
* Aufgabe 2 (Fun with Flags)
* optional: weitere Aufgaben
* **HA:**
* [[talit:image_processing_python#aufgabe_3pixel_art|Aufgabe 3]], **alle demonstrieren ihre Pixel Art inkl. Code dahinter**
== 2M ==
* Fahrplan-Webapp bauen!
=== Woche 14 ===
== 1M ==
* Pixel Art Demo (alle zeigen kurz Code und Bild)
* Bildbearbeitung (Aufgaben B)