TALIT Programmier-Projekt 2M

  • Eines von drei offiziellen TALIT-Projekten
  • Muss Python-Programmierprojekt sein
  • Empfehlung: mit PyGame (muss aber nicht)
  • muss bestanden werden, ansonsten ist TALIT-Reise vorbei
  • Abgabe
    • Deadline: letzter Schultag des aktuellen Semesters
    • Wie: Teams-Nachricht an Betreuer inkl. Link zum Repo
  • Bekanntes Game mit eigenem Twist (Tetris, Pac-Man, Flipper-Kasten, …)
  • Eigenes Game entwickeln
  • Lernprogramm z.B. für:
    • Binärsystem (Binäruhr, Umrechnen Dez ↔ Bin, Spielmodus, …)
    • Kanti-Mathe (quad. Gleichungen, LGS, …)
    • Kinder, z.B. Buchstaben spielerisch lernen
  • Weiterentwicklung des MNIST-Neuronalen Netzwerks
  • Empfehlung: Verwende PyGame. PyGame ist Library, mit der man mit Python Programme mit einer graphischen Oberfläche programmieren kann. Besonders ist es geeignet, 2D-Retro Games damit zu entwickeln. Für 3D-Games und Games mit moderner Grafik ist es allerdings nicht geeignet. Man kann mit PyGame aber auch andere Programme als Games entwickeln.
  • Es gibt aber auch andere Python-Libraries, mit denen man GUIs erstellen kann wie PyQT, …
  • Website, um eigene Pixelart zu erstellen (auch Animationen): http://piskelapp.com
  1. Part 1: PyGame kennenlernen (→ muss nachher nicht verwendet werden, ist aber empfohlen)
    1. Studiere die folgende Seite: PyGame
    2. Führe das folgende Tutorial aus: tutorial (PyGame installieren, Template herunterladen, verstehen, erweitern)
  2. Part 2: Idee für Python-Programmierprojekt ausdenken, mit LP besprechen, absegnen lassen.
  3. Part 3:
    1. Idee ausarbeiten,
    2. GitRepo mit passendem Namen erstellen, mit Betreuer teilen
    3. Planungsartefakte erstellen als Markdown-Dokumente im Repository:
      1. Product Requirements Document (PRD, mehr Infos unten)
      2. Design Document (DD)
      3. Timeline
    4. Planung mit Betreuer besprechen (vor Ort oder per Teams)
  4. Part 4:
    1. Mit arbeiten beginnen
    2. regelmässige commits (mind. 1 pro Woche) und pushes
    3. Ab jetzt kann zuhause gearbeitet werden
    4. Aus eigenem Antrieb treffen mit LP abmachen, mind 1. pro Monat!
    5. Bei Fragen, Problemen in Lektion kommen
  • PRD ist kurzes Dokument (1-2 Seiten), welches alles zusammenfasst, was das Produkt (also das Resultat der Arbeit) sein soll.
  • Format
    • Markdown, Datei prd.md auf github.
  • Inhalt
    • Abstract: Zu oberst in 2-3 Sätzen das Allerwichtigste kurz zusammengefasst.
    • Programmbeschrieb:
      • Beschreibe dein Programm in etwas mehr Detail.
      • Welche Features, Modi usw. soll es haben?
    • Skizze: Skizze des Hauptbildschirms. Von Hand oder mit Wireframe-Tool, z.B.:
    • Technische Details:
      • Wie soll umgesetzt werden?
      • Welche Programmiersprachen, Frameworks usw. sollen verwendet werden?
      • Hat das Produkt eine Schnittstelle (Web-App, Konsolenprogramm, Programmbibliotheke)?
    • Herausforderungen
      • Was sind die grössten 2-3 Herausforderungen oder Stolpersteine?
      • Gibt es bereits Ideen, wie diese angegangen oder umschifft werden könnten?
    • Timeline
      • Einteilung der ganzen Umsetzung in 3-4 Milestones (Meilensteine).
      • Verzichtsplanung: Welche Merkmale sind Must-have, welche Nice-to-have?
  • Das Projekt muss ein Programmierprojekt, in welchem ausschliesslich mit Python programmiert wird. Webprojekte z.B. mit Flask sind explizit nicht erlaubt (wird später in TALIT gemacht).
  • Die Projektidee muss mit der LP abgesprochen werden und muss dann so umgesetzt werden. Allfällige Planabweichungen müssen rechtzeitig beantragt und von der LP abgesegnet werden.
  • Es muss sauber objektorientiert programmiert sein.
  • Der Programmierstil muss demjenigen des PyGame-Templates oben entsprechen (verschiedenen Files, Aufbau der Klassen, …). Arbeitet man mit PyGame, so ist es empfohlen, mit diesem Template zu starten und es entsprechend anzupassen.
  • Ressourcen wie Bilder, Musik, Videos sollen möglichst selbst erstellt werden. Falls solche aus dem Internet verwendet werden, so müssen diese lizenzfrei sein.
  • Der Code muss folgende Kriterien erfüllen
    • sauber strukturiert
    • passende Abstände im Code
    • sinnvolle Namen für Variablen, Methoden usw.
    • sinnvoll kommentiert (so dass LP in kurzer Zeit Code verstehen kann)
  • talit/projekte.1786343765.txt.gz
  • Zuletzt geändert: 2026-08-10 06:36
  • von hof