No description
Find a file
2026-08-29 14:26:27 +02:00
00_fehlersuche_und_grundlagen Füge Vorkapitel 00 zur Fehlersuche und Python-Debugging (Bug-Hunt Detektiv-Aufgabe) hinzu 2026-08-29 13:09:09 +02:00
01_einstieg_klassen Füge Vorkapitel 00 zur Fehlersuche und Python-Debugging (Bug-Hunt Detektiv-Aufgabe) hinzu 2026-08-29 13:09:09 +02:00
02_init_und_self Füge vollständige, praxisnahe Klassenbeispiele in alle HTML-Seiten und READMEs ein 2026-08-29 13:03:42 +02:00
03_methoden_und_verhalten Füge vollständige, praxisnahe Klassenbeispiele in alle HTML-Seiten und READMEs ein 2026-08-29 13:03:42 +02:00
04_str_und_darstellung Füge Kapitel 04b zum Umstieg von Thonny auf VS Code mit Plugins, Shortcuts und Test-Playground hinzu 2026-08-29 13:54:04 +02:00
04b_umstieg_vscode Füge Kapitel 04c Git & Versionskontrolle hinzu und integriere Kapitel 09 Unit Testing in LEHRPLAN.md 2026-08-29 14:20:39 +02:00
04c_git_und_versionskontrolle Füge Kapitel 04c Git & Versionskontrolle hinzu und integriere Kapitel 09 Unit Testing in LEHRPLAN.md 2026-08-29 14:20:39 +02:00
05_objekte_kombinieren Füge Kapitel 04c Git & Versionskontrolle hinzu und integriere Kapitel 09 Unit Testing in LEHRPLAN.md 2026-08-29 14:20:39 +02:00
06_abschlussprojekt_tamagotchi Füge LEHRPLAN.md (Schulabgleich rradlbauer) und Kapitel 07 Referenzen, Speicher & Stammbäume hinzu 2026-08-29 14:13:26 +02:00
07_referenzen_und_speicher Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
08_operator_overloading_dunder Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
09_eigene_unit_tests_schreiben Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
10_vererbung_und_super Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
11_polymorphie_und_interfaces Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
12_exceptions_und_fehlerbehandlung Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
13_persistenz_json_und_csv Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
14_gui_mit_tkinter Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
assets Füge Kapitel 04b zum Umstieg von Thonny auf VS Code mit Plugins, Shortcuts und Test-Playground hinzu 2026-08-29 13:54:04 +02:00
.gitignore Initialisiere didaktische Python OOP-Übungsreihe für Nachhilfe (Kapitel 01 bis 06) 2026-08-29 12:46:08 +02:00
index.html Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
LEHRPLAN.md Füge Kapitel 04c Git & Versionskontrolle hinzu und integriere Kapitel 09 Unit Testing in LEHRPLAN.md 2026-08-29 14:20:39 +02:00
README.md Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
test_all.py Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00

🐍 Python OOP Übungsreihe: Der Einstieg in Klassen & Objekte

Willkommen zu deiner Übungsreihe für Objektorientierte Programmierung (OOP) in Python! 🎉

Diese Übungsreihe ist didaktisch aufbereitet und 1:1 mit dem offiziellen Lehrplan des Informatik-Unterrichts (LEHRPLAN.md) abgeglichen.


🗺️ Der Lernpfad

🌱 Phase 1: Grundlagen OOP & Werkzeuge

Kapitel Thema Was du lernst
00. Fehlersuche & Grundlagen Warm-up & Debugging Tracebacks lesen, Einrückungen (IndentationError), Typfehler & Detektiv-Aufgabe
01. Einstieg in Klassen Warum Klassen? Bauplan vs. Objekt, Instanziierung, Punktnotation & Type Hints
02. Konstruktor & self __init__, self & UML Objekte sauber initialisieren und erste UML-Klassendiagramme
03. Methoden & Verhalten Methoden & Interaktion Objekte können handeln & miteinander im Duell interagieren
04. Schöne Textausgabe __str__ Dunder-Methode Wie Objekte lesbar mit print() ausgegeben werden (Warenkorb & Bon)
04b. Umstieg & Installation VS Code Exkurs: IDE-Wechsel Installation (Win/Mac/Linux), Plugins (Error Lens, Python), Shortcuts & Terminal
04c. Git & Versionskontrolle Exkurs: Git-Tooling Spielstände (Commits) sichern, VS Code Git-Tab, Terminal-Befehle & Remote Push
05. Objekte kombinieren Assoziation & Komposition Listen von Objekten & Spotify-Playlists filtern und berechnen
06. Abschlussprojekt OOP 1 Mini-Projekt: Tamagotchi Ein interaktives Konsolenspiel mit allem Gelernten

🧠 Phase 2: Fortgeschrittenes OOP, Testing & Persistenz

Kapitel Thema Was du lernst
07. Referenzen, Speicher & Stammbäume Speicher & RAM Referenzen, Aliasing (b = a), Mutable vs. Immutable, is vs. == & Familienstammbaum
08. Operator Overloading Dunder-Methoden __add__, __mul__, __eq__, __lt__ (2D-Vektoren & Wegstrecken)
09. Eigene Unit Tests & TDD Softwarequalität Testsuiten schreiben mit unittest, assertEqual, assertTrue, assertRaises
10. Vererbung & super() Inheritance Basisklassen, Kindklassen, DRY-Prinzip & super().__init__() (Fahrzeugflotte)
11. Polymorphie & Interfaces Polymorphism Vielgestaltigkeit, Duck Typing, abstrakte Basisklassen (ABC) & Geometrie-Engine
12. Exceptions & Fehler Robustes Coding try/except/else/finally, raise, eigene Exception-Klassen (Bankkonto)
13. JSON & CSV Speichern Persistenz Spielstände dauerhaft mit JSON/CSV auf der Festplatte sichern
14. Desktop-GUIs mit Tkinter Grafische Oberflächen Fenster, Buttons, Labels, Grid-Layout & MVC-Architektur

(Den vollständigen didaktischen Masterplan für alle Kapitel bis 16 findest du in LEHRPLAN.md.)


🧪 Wie benutze ich die automatischen Tests?

In jedem Kapitelordner liegt eine Datei namens test_aufgabe.py. Sie enthält automatische Unit Tests, die überprüfen, ob deine Lösung alle Anforderungen erfüllt.

1. Einzelnes Kapitel testen

Öffne das Terminal in VS Code (`Strg + ``) und führe den Test im jeweiligen Ordner aus:

# Beispiel für Kapitel 01:
cd 01_einstieg_klassen
python3 test_aufgabe.py

2. Testausgabe richtig lesen:

  • ✅ OK: Perfekt! Alle Tests sind grün und bestanden. Du kannst mit dem nächsten Kapitel weitermachen.
  • ❌ FAIL (AssertionError): Dein Code läuft, liefert aber einen falschen Wert zurück (z.B. Rechenfehler oder falsche Bedingung). Lies die letzte Zeile der Fehlermeldung!
  • 💥 ERROR (Syntax / AttributeError): Dein Code hat einen Absturz (z.B. Tippfehler im Methodennamen oder self im Methodenkopf vergessen).

3. Gesamten Fortschritt aller Kapitel prüfen:

Führe im Hauptordner folgenden Befehl aus:

python3 test_all.py

Dieser Befehl zeigt dir eine Übersicht über alle Kapitel mit ✅ (bestanden) und ⏳ (noch offen).


💡 3 Wichtige Regeln für die Aufgaben

  1. return statt print(): Tests prüfen das, was eine Methode mit return zurückliefert. Ein reines print() genügt dem Test nicht!
  2. Exakte Namen: Die Namen der Methoden und Attribute müssen exakt der Aufgabenstellung entsprechen (mutter_setzen, nicht MutterSetzen).
  3. Immer self als erster Methoden-Parameter: Jede Methode in einer Klasse muss def meine_methode(self, ...): geschrieben werden.