**Dies ist eine alte Version des Dokuments!**
TALIT Programmier-Projekt 2M
Übersicht
- Eines von drei offiziellen TALIT-Projekten
- Muss Python-Programmierprojekt sein
- Empfehlung: mit PyGame
- muss bestanden werden, ansonsten ist TALIT-Reise vorbei
- Abgabe
- Deadline: letzter Schultag vom aktuellen Semester
- Wie: Teams-Nachricht an Betreuer inkl. Link zum Repo
Ideen
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.
- 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
- …
Vorgehen
- Part 1: PyGame kennenlernen
- Part 2: Idee für PyGame-Projekt ausdenken, mit LP besprechen, absegnen lassen.
- Part 3:
- Idee ausarbeiten,
- GitRepo mit passendem Namen erstellen, mit Betreuer teilen
- Product Requirements Document (PRD, mehr Infos unten) in Repo erstellen und Betreuer mitteilen (per Teams inkl. Link)
- PRD mit Betreuer besprechen (vor Ort oder per Teams)
- Part 4:
- Mit arbeiten beginnen
- regelmässige commits (mind. 1 pro Woche) und pushes
- Ab jetzt kann zuhause gearbeitet werden
- Aus eigenem Antrieb treffen mit LP abmachen, mind 1. pro Monat!
- Bei Fragen, Problemen in Lektion kommen
Product Requirements Document (PRD)
- PRD ist kurzes Dokument (1-2 Seiten), welches alles zusammenfasst, was das Produkt (also das Resultat der Arbeit) sein soll.
- 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: Fertige Skizze an von Hauptbildschirm, wie etwa aussehen könnte. Von Hand oder mit Wireframe-Tool, z.B.:
- https://app.diagrams.net. Für Beispiele siehe: Neues Diagramm erstellen → Drahtgittermodelle / Wireframe → eines auswählen
- http://pencil.evolus.vn (muss installiert werden)
- Technische Details:
- Wie soll umgesetzt werden?
- Welche Programmiersprachen, Frameworks usw. sollen verwendet werden?
- Hat das Produkt eine Schnittstelle (Web-App, Konsolenprogramm, Programmbibliotheke)?
Kriterien und Anforderungen
- Das Projekt muss mit PyGame umgesetzt werden.
- Es muss sauber objektorientiert programmiert sein.
- Der Programmierstil muss demjenigen des Templates oben entsprechen (verschiedenen Files, Aufbau der Klassen, …). Am besten startet man mit diesem Template und passt es entsprechend an.
- Der Code muss folgende Kriterien erfüllen
- sauber strukturiert
- passende Abstände im Code
- sinnvolle Namen für Variablen, Methoden usw.
- an Python Konventionen halten
- sinnvoll kommentiert (so dass LP in kurzer Zeit Code verstehen kann)