5.1 KiB
5.1 KiB
📚 Didaktischer Lehrplan & Abgleich mit dem Schulskriptum
Dieses Dokument dient als didaktischer Leitfaden für die Python-Nachhilfe.
Es gleicht die Übungsreihe mit dem offiziellen Lehrplan und Skriptum des Lehrers (rradlbauer/python_skriptum) ab.
🎯 Didaktische Leitlinien für die Nachhilfe
- Type Hints als Standard: Da der Lehrer in Teil 2 strikt Typ-Annotationen verwendet (
name: str,def alter(self) -> int:), führen wir diese ab den Klassen sauber ein. - UML-Klassendiagramme: Das Skriptum fordert UML-Diagramme (
22.1_UML.md). Jedes Kapitel enthält visuelle UML-Karten. - Praxisnahe Analogien: Statt trockener Theorie nutzen wir greifbare Alltagsbeispiele (Fahrrad-Verleih, Spotify-Playlists, Stammbäume, Geldautomaten).
- Automatische Tests & Sofort-Feedback: Jedes Kapitel hat ein Testskript (
test_aufgabe.py), das beipython3 test_aufgabe.pyoderpython3 test_all.pysofort anzeigt, was schon klappt. - Autonomes Lernen: Die Schülerin kann alle Kapitel über die modernen, interaktiven HTML-Seiten im Browser selbstständig durcharbeiten.
🗺️ Der Gesamtlehrplan im Überblick
PHASE 1: GRUNDLAGEN DER OBJEKTORIENTIERUNG (OOP) & TOOLING
├── Kapitel 00: Fehlersuche & Python-Debugging (Warm-up)
├── Kapitel 01: Erste Klasse & Baupläne (Lehrer 22.0)
├── Kapitel 02: Konstruktor __init__, self & UML (Lehrer 22.0 / 22.1)
├── Kapitel 03: Methoden & Objekt-Interaktion (Lehrer 22.0)
├── Kapitel 04: Schöne Textausgabe mit __str__ (Lehrer 28.0)
├── Kapitel 04b: Umstieg & Installation von VS Code (Lehrer 20.1 / 20.2)
├── Kapitel 05: Assoziation & Aggregation: Spotify Playlists (Lehrer 23.0)
└── Kapitel 06: Mini-Abschlussprojekt: Tamagotchi Terminal-Game
PHASE 2: FORTGESCHRITTENES OOP, SPEICHER & DATEN-PERSISTENZ
├── Kapitel 07: Referenzen, Speicher & Stammbäume (Lehrer 24.0) 🧠
├── Kapitel 08: Operator Overloading & Dunder-Methoden (Lehrer 28.0) ➕
├── Kapitel 09: Vererbung (Inheritance) & super() (Lehrer 25.0) 🧬
├── Kapitel 10: Polymorphie & Duck Typing (Lehrer 25.1) 🎭
├── Kapitel 11: Exceptions & Robuste Fehlerbehandlung (Lehrer 26.0) 🛡️
└── Kapitel 12: Speichern & Laden: JSON & CSV Persistenz (Lehrer 14.0) 💾
PHASE 3: GRAFISCHE OBERFLÄCHEN & PROFESSIONS-MODULE
├── Kapitel 13: Grafische Oberflächen mit Tkinter / CustomTkinter (Lehrer 27.0) 🖥️
├── Kapitel 14: Erweiterte Parameter (*args, **kwargs) & Container (Lehrer 29.0 / 30.0) 📦
└── Kapitel 15: Master-Abschlussprojekt: Grafische Desktop-App mit Savegame 🏆
📑 Detaillierte Kapitel-Übersicht & Abgleich
| Kapitel | Titel / Thema | Lehrerskript-Referenz | Kerninhalte & Praxisaufgabe |
|---|---|---|---|
| 00 | Fehlersuche & Debugging | 04.1 & 07.1 | Tracebacks von unten lesen, IndentationError, SyntaxError, TypeError, Detektiv-Aufgabe |
| 01 | Einstieg in Klassen | 22.0 & 21.0 | Bauplan vs. Objekt, Instanziierung, Punktnotation, erste Type Hints (Fahrrad) |
| 02 | Konstruktor & self | 22.0 & 22.1 | __init__, self, Startwerte, erstes UML-Klassendiagramm (Bankkonto & Smartphone) |
| 03 | Methoden & Verhalten | 22.0 | Methoden definieren, Rückgabewerte, Interaktion zweier Objekte (Rennauto & RPG-Duell) |
| 04 | __str__ & Darstellung |
28.0 | Dunder-Methode __str__, lesbare Ausgabe von Objekten, Kassenzettel (Warenkorb) |
| 04b | VS Code Umstieg | 20.1 & 20.2 | Installation (Windows/Mac/Linux), Plugins (Error Lens, Python), Shortcuts, Projektordner |
| 05 | Objekte kombinieren | 23.0 | Assoziation & Aggregation (1:1 und 1:n), Listen von Objekten filtern (Spotify Playlist) |
| 06 | Abschlussprojekt OOP 1 | Konsolidierung | Tamagotchi-Konsolenspiel (Lebenszyklus, Hunger, Müdigkeit, Zufallsevents) |
| 07 | Referenzen & Speicher | 24.0 Referenzen | RAM-Visualisierung, Mutable vs. Immutable, is vs. ==, Aliasing, Stammbaum-Projekt |
| 08 | Operator Overloading | 28.0 Spezielle Methoden | __add__, __sub__, __eq__, __lt__, __len__ (2D-Vektoren & Kartenspiel) |
| 09 | Vererbung & super() |
25.0 Vererbung | Basisklassen, Kindklassen, Vermeidung von Code-Duplikaten, super().__init__() (Fahrzeuge) |
| 10 | Polymorphie & Interfaces | 25.1 Polymorphie | Methoden überschreiben, gemeinsames Interface, Geometrie- & Grafik-Engine (Formen) |
| 11 | Exceptions & Fehler | 26.0 Exceptions | try/except/else/finally, raise, eigene Exception-Klassen (Geldautomat) |
| 12 | JSON & CSV Speichern | 14.0 CSV / Persistenz | with open(), json.dump/json.load, Spielstände dauerhaft sichern (Savegame) |
| 13 | Tkinter Desktop-GUI | 27.0 Tkinter | Fenster, Buttons, Labels, Eingabefelder, Event-Handling in OOP-Klassen |
| 14 | Parameter & Container | 29.0 & 30.0 Parameter | *args, **kwargs, Dunder __getitem__, __iter__ für eigene Listen-Container |
| 15 | Master-Abschlussprojekt | Meisterstück | Vollständige Desktop-App mit grafischer Oberfläche, Speichern & Laden |