====== 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)