TALIT Programmier-Projekt 2M
Übersicht
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
Ideen
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
…
Tipps
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, …
-
Vorgehen
Part 1: PyGame kennenlernen (→ muss nachher nicht verwendet werden, ist aber empfohlen)
Studiere die folgende Seite:
PyGame
Führe das folgende
Tutorial aus:
tutorial (PyGame installieren, Template herunterladen, verstehen, erweitern)
Part 2: Idee für Python-Programmierprojekt ausdenken, mit LP besprechen, absegnen lassen.
Part 3:
Idee ausarbeiten,
GitRepo mit passendem Namen erstellen, mit Betreuer teilen
Planungsartefakte erstellen als Markdown-Dokumente im Repository:
Product Requirements Document (PRD, mehr Infos unten)
Design Document (DD)
Timeline
Planung 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
Projektplanung
Die Projektplanung besteht aus drei Dokumenten, die aufeinander abgestimmt sind und aufeinander verweisen können.
Product Requirements Document
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.
Design Document
Das Design Doc beschreibt, wie dass das Produkt gebaut wird.
Timeline
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
Kriterien und Anforderungen
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)