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

Die Projektplanung besteht aus drei Dokumenten, die aufeinander abgestimmt sind und aufeinander verweisen können.

Im requirements engineering werden die aus Kundensicht nötigen Merkmale (features) des Produkts ausgearbeitet und im Product Requirements Document (PRD, de Lastenheft) dokumentiert. Das PRD beantwortet die Frage, Was & Warum das Produkt gebaut wird. Es muss vom Auftraggeber (=Lehrperson & Schüler:in) freigegeben werden.

  • Umfang: 1-2 Seiten
  • 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.:

Das Design Doc beschreibt, wie dass das Produkt gebaut wird.

  • Umfang: 1-2 Seiten
  • Format: Markdown, Datei design.md auf github.
  • Inhalt
    • Technische Details:
      • Wie soll das Projekt umgesetzt werden?
      • Welche Programmiersprachen, Frameworks usw. sollen verwendet werden?
      • Hat das Produkt eine Schnittstelle (Web-App, Konsolenprogramm, Programmbibliotheke)?
      • Was sind die wichtigsten Klassen des Programms (z.B. Player, Enemy, Item)
    • Herausforderungen
      • Was sind die grössten 2-3 Herausforderungen oder Stolpersteine?
      • Gibt es bereits Ideen, wie diese angegangen oder umschifft werden könnten?

Die Timeline (Zeitplan) beschreibt, wann die verschiedenen Teile gebaut werden.

  • Format: Markdown, Datei timeline.md auf github.
  • Inhalt
    • Einteilung der ganzen Umsetzung in 3-4 Milestones (Meilensteine).
    • Verzichtsplanung: Welche Merkmale sind Must-have, welche Nice-to-have?
  • Planänderungen, Verzögerungen und Umwege
    • sind normal!
    • Die Timeline darf und muss entsprechend angepasst werden.
    • Das Abgabedatum bleibt hingegen fix → Verzichtsplanung.
  • 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.1786344787.txt.gz
  • Zuletzt geändert: 2026-08-10 06:53
  • von hof