diff --git a/04b_umstieg_vscode/index.html b/04b_umstieg_vscode/index.html index 09aaa11..367d991 100644 --- a/04b_umstieg_vscode/index.html +++ b/04b_umstieg_vscode/index.html @@ -296,7 +296,7 @@ sudo snap install --classic code
  • diff --git a/README.md b/README.md index b4bec31..d528188 100644 --- a/README.md +++ b/README.md @@ -34,31 +34,34 @@ Diese Übungsreihe ist didaktisch aufbereitet und **1:1 mit dem offiziellen Lehr --- -## 📁 Aufbau eines Kapitels +## 🧪 Wie benutze ich die automatischen Tests? -In jedem Kapitelordner findest du: -1. **`index.html`**: Eine interaktive, schön gestaltete Webseite mit ausführlichen Erklärungen, Vollbeispielen und aufklappbaren Lösungshinweisen. -2. **`README.md`**: Die Erklärung im Markdown-Format. -3. **`aufgabe.py`**: Dein Arbeitsblatt! Hier steht der Starter-Code mit klaren `TODO`-Kommentaren. -4. **`test_aufgabe.py`**: Automatische Tests, mit denen du deine Lösung jederzeit überprüfen kannst. -5. **`musterloesung.py`**: Eine ausführlich kommentierte Beispiellösung. +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: +```bash +# Beispiel für Kapitel 01: +cd 01_einstieg_klassen +python3 test_aufgabe.py +``` -## 🚀 Wie du vorgehst +### 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). -1. Öffne den Ordner des aktuellen Kapitels (z.B. `07_referenzen_und_speicher`). -2. Öffne die `index.html` im Browser oder lies die `README.md`. -3. Öffne `aufgabe.py` und bearbeite die Aufgaben. -4. Führe die Tests aus, um deine Lösung zu prüfen: - ```bash - python3 test_aufgabe.py - ``` -5. Wenn alle Tests mit einem grünen `OK` durchlaufen: **Herzlichen Glückwunsch!** Du bist bereit für das nächste Kapitel! 🏆 - ---- - -## 💡 Gesamten Fortschritt prüfen +### 3. Gesamten Fortschritt aller Kapitel prüfen: +Führe im Hauptordner folgenden Befehl aus: ```bash 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. diff --git a/index.html b/index.html index 4dbea7c..57c9fb3 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@
    🐍 Python Nachhilfe & Selbstlern-Kurs

    Objektorientierte Programmierung (OOP)

    -

    Lerne Schritt für Schritt, wie du eigene Klassen baust, Methoden nutzt und komplexe Programme strukturierst.

    +

    Lerne Schritt für Schritt, wie du eigene Klassen baust, Methoden nutzt und professionell mit automatischen Tests arbeitest.

    @@ -32,7 +32,7 @@
    📚 Schulabgleich & Lehrplan:
    - Alle Kapitel sind 1:1 mit den Themen deines Informatik-Unterrichts (Type Hints, UML, Assoziationen, Referenzen, Vererbung, Tkinter) abgestimmt. + Alle Kapitel sind 1:1 mit den Themen deines Informatik-Unterrichts (Type Hints, UML, Assoziationen, Referenzen, Vererbung, Tkinter) abgestimmt. Ausführlicher Plan in LEHRPLAN.md.
    @@ -172,34 +172,103 @@ - -
    -

    🚀 Wie du vorgehst (Schritt-für-Schritt)

    -
      -
    1. Wähle das nächste offene Kapitel aus der Liste oben (starte mit Kapitel 00 zum Warm-up).
    2. -
    3. Lies die Erklärungen und schau dir die vollständigen Codebeispiele an.
    4. -
    5. Öffne die aufgabe.py im entsprechenden Kapitelordner und löse die Aufgaben.
    6. -
    7. - Führe im Terminal den automatischen Test aus: -
      -
      - Terminal -
      -
      python3 test_aufgabe.py
      -
      -
    8. -
    9. Wenn alle Tests mit OK durchlaufen, hast du das Kapitel erfolgreich gemeistert! 🎉
    10. -
    + +
    +

    🧪 Wie benutze ich die Tests? (Komplette Test-Anleitung)

    + +

    + In der professionellen Softwareentwicklung schreibt man zu jedem Code automatische Unit Tests. + Das Geniale daran: Du musst nie raten, ob deine Lösung stimmt! Das Testskript überprüft deine Funktionen in Sekundenbruchteilen mit vielen verschiedenen Testfällen. +

    + +

    1. Einen Test für ein einzelnes Kapitel ausführen

    +

    Öffne das Terminal in VS Code mit Strg + ` (Mac: Cmd + `). Wechsle in den jeweiligen Kapitelordner und starte das Testskript:

    + +
    +
    + Terminal (Beispiel für Kapitel 01) +
    +
    cd 01_einstieg_klassen
    +python3 test_aufgabe.py
    +
    + +

    2. Wie lese ich das Testergebnis?

    + +
    + +
    +

    ✅ Alles bestanden (OK)

    +
    Ran 4 tests in 0.002s
    +OK
    +

    Perfekt! Alle Anforderungen sind erfüllt. Du bist bereit für das nächste Kapitel!

    +
    + +
    +

    ❌ Falsches Ergebnis (FAIL)

    +
    AssertionError: 25 != 40
    +berechne_endstand falsch
    +

    Dein Code stürzt nicht ab, aber liefert einen falschen Wert (z.B. falsche Rechenformel).

    +
    + +
    +

    💥 Absturz / Syntax (ERROR)

    +
    AttributeError: 'Fahrrad'
    +object has no attribute 'gang'
    +

    Ein Attribut oder Methodenname fehlt oder ist falsch geschrieben (z.B. Tippfehler).

    +
    + +
    + +

    3. Gesamten Kursfortschritt auf einen Klick prüfen

    +

    Du möchtest wissen, wie viele Kapitel du schon gelöst hast? Führe im Hauptordner Aufgaben-Python einfach folgenden Befehl aus:

    + +
    +
    + Terminal (Hauptordner) +
    +
    python3 test_all.py
    +
    -
    💡 Gesamten Fortschritt auf einen Blick prüfen:
    - Du kannst jederzeit im Hauptordner folgenden Befehl ausführen, um zu sehen, wie viele Kapitel du schon gelöst hast: -
    -
    python3 test_all.py
    -
    +
    💡 Die 3 goldenen Regeln beim Arbeiten mit Tests:
    +
      +
    1. Immer return statt nur print(): Tests prüfen das, was eine Funktion mit return zurückliefert. Ein print() zeigt es zwar auf dem Bildschirm an, reicht dem Test aber nicht!
    2. +
    3. Exakte Namen beachten: Wenn die Aufgabe def mutter_setzen(self): verlangt, darf die Methode nicht def MutterSetzen heißen (Python unterscheidet Groß- und Kleinschreibung).
    4. +
    5. Fehlermeldungen von unten nach oben lesen: Ganz unten steht immer genau, was nicht gepasst hat!
    6. +
    + +
    +

    🩺 Häufige Fragen & Troubleshooting

    + +
    + ❌ Fehlermeldung: TypeError: ... takes 0 positional arguments but 1 was given +
    +

    Ursache: Du hast bei einer Methode in deiner Klasse das self im Methodenkopf vergessen!

    +

    Lösung: Schreibe def meine_methode(self): statt def meine_methode():.

    +
    +
    + +
    + ❌ Fehlermeldung: AttributeError: 'NoneType' object has no attribute '...' +
    +

    Ursache: Eine Funktion oder Methode hat nichts zurückgegeben (also None), und du versuchst, darauf zuzugreifen.

    +

    Lösung: Prüfe, ob du am Ende der Methode das return ... vergessen hast!

    +
    +
    + +
    + ❌ Wie wechsle ich im Terminal zwischen den Ordnern hin und her? +
    +

    In einen Unterordner hinein: cd 01_einstieg_klassen

    +

    Einen Ordner nach oben zurück: cd ..

    +

    Inhalt des aktuellen Ordners auflisten: ls (oder dir auf Windows)

    +
    +
    +
    +