Aufgaben-Python/LEHRPLAN.md

5.1 KiB
Raw Blame History

📚 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

  1. 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.
  2. UML-Klassendiagramme: Das Skriptum fordert UML-Diagramme (22.1_UML.md). Jedes Kapitel enthält visuelle UML-Karten.
  3. Praxisnahe Analogien: Statt trockener Theorie nutzen wir greifbare Alltagsbeispiele (Fahrrad-Verleih, Spotify-Playlists, Stammbäume, Geldautomaten).
  4. Automatische Tests & Sofort-Feedback: Jedes Kapitel hat ein Testskript (test_aufgabe.py), das bei python3 test_aufgabe.py oder python3 test_all.py sofort anzeigt, was schon klappt.
  5. 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