👋 Willkommen zu deiner interaktiven Python-Lernreise!
-- Dieses Portal begleitet dich Schritt für Schritt von den ersten Schritten in Python bis hin zu vollständigen Desktop-Apps mit grafischer Oberfläche. Alle Aufgaben sind mit verständlichen Erklärungen, Alltags-Analogien, visuellen Beispielen und automatischen Tests für sofortiges Feedback ausgestattet. -
- -🌱 Grundlagen der Programmierung
-Für Einsteiger oder zur Wiederholung: Rechnen, Variablen, Bedingungen, Schleifen, Funktionen, Listen, Dictionaries & Strings (G01–G10).
-🏗️ Einstieg in OOP & Tools
-Klassen, Baupläne, __init__, Methoden, UML-Diagramme, VS Code Umstieg, Git-Versionskontrolle & Tamagotchi-Projekt (00–06).
🚀 Fortgeschrittenes OOP, Container & GUIs
-Speicher-Referenzen, Dunder-Methoden, Unit Tests (TDD), Vererbung, Polymorphie, Exceptions, JSON, Tkinter, Container & Masterprojekt (07–16).
-Vom Einsteiger zum Software-Entwickler
+3 didaktisch strukturierte Lehrpfade: Prozedurale Grundlagen • Objektorientierung • Professionelle Werkzeuge (Git, TDD, Tkinter, Persistenz)
+ +📖 Schritt-für-Schritt-Tutorial: So nutzt du dieses Lernportal
-- Willkommen! Dieses Portal wurde nach den neuesten wissenschaftlichen Erkenntnissen der Informatikdidaktik (PRIMM-Modell & Cognitive Load Theory) gestaltet. Hier erfährst du, wie du das Beste aus den 27 Lerneinheiten herausholst: -
+ +👋 Willkommen zu deiner Python-Lernreise!
++ Dieses interaktive Portal begleitet dich Schritt für Schritt von den allerersten Zeilen Code bis hin zu vollständigen, objektorientierten Desktop-Anwendungen. Jede Einheit bietet didaktische Alltagsanalogien, Subgoal-Schritte und automatische Unittests für sofortiges Feedback. +
-📥 Lokal nutzen oder im Browser lernen
-- Du kannst das Lernportal direkt online nutzen oder 100% offline auf deinem Computer speichern: -
-git clone https://github.com/alexander-mueller/python-oop-lernportal.git
-cd python-oop-lernportal
-
- 💡 Tipp: Öffne index.html einfach per Doppelklick in deinem Webbrowser – alle Skripte und der Gamification-Status funktionieren auch offline!
-
🌱 Grundlagen der Programmierung
+Rechnen, Variablen, Bedingungen, Schleifen, Funktionen, Listen, Dictionaries & Strings (G01–G10).
+🏗️ Einstieg in OOP & Tools
+Klassen, __init__, Methoden, UML-Diagramme, VS Code, Git-Versionskontrolle & Tamagotchi (00–06).
+🚀 Fortgeschrittenes OOP & GUIs
+Speicher, Dunder-Methoden, Unit Tests (TDD), Vererbung, Exceptions, JSON, Tkinter & Masterprojekt (07–16).
🔄 Der didaktische Lernkreislauf (PRIMM-Workflow)
-Lies die Alltagsanalogie im Kapitel-Guide und löse das interaktive Parsons Code-Puzzle (+25 XP).
-Öffne aufgabe.py in deinem Editor (z.B. VS Code) und folge den nummerierten Teilzielen (Subgoals).
Führe python3 test_aufgabe.py aus. Sobald alle Tests grün sind, steigen deine XP automatisch!
📖 Schritt-für-Schritt-Tutorial: So lernst du mit dem Portal
++ Dieses Portal basiert auf dem PRIMM-Modell der Informatikdidaktik (Predict • Read • Investigate • Modify • Make): +
+ +📥 Lokal nutzen oder online lernen
+Du kannst das Repository lokal klonen (git clone https://github.com/alexander-mueller/python-oop-lernportal.git) oder die Seiten direkt offline per Doppelklick auf index.html öffnen.
🎮 Entwickler-Pass & Trophäen im Terminal
-- Überprüfe deinen Fortschritt, deinen aktuellen Rang und deine 14 freischaltbaren Trophäen: -
-python3 profil.py # Zeigt deinen animierten Entwickler-Pass
-python3 test_all.py # Prüft alle 27 Kapitel auf einen Schlag und synchronisiert XP
+ 🧩 Kapitel lesen & Parsons-Puzzle lösen (+25 XP)
+Lies die Alltagsanalogie im Kapitel-Guide und bringe die durcheinandergeratenen Code-Zeilen im interaktiven Puzzle per Klick in die richtige Reihenfolge.
🩺 Hilfe bei Fehlern & Tracebacks
-- Wenn ein Test fehlschlägt oder dein Programm mit einem Fehler abbricht, kopiere die rote Fehlermeldung aus dem Terminal und füge sie unten in den Interaktiven Fehler-Dolmetscher ein! Du erhältst sofort eine deutsche Erklärung und 3 konkrete Lösungsschritte. -
+💻 Startercode lösen & Tests ausführen (+100 XP)
+Öffne aufgabe.py im Editor, bearbeite die nummerierten Teilziele und teste deine Lösung im Terminal mit python3 test_aufgabe.py.
🩺 Hilfe bei Fehlern
+Kopiere rote Traceback-Fehlermeldungen aus dem Terminal in den untenstehenden Fehler-Dolmetscher, um verständliche Lösungsschritte auf Deutsch zu erhalten.
+🛣️ Lehrpfad 1: Grundlagen der Programmierung (Prozedural)
-🌱 Lehrpfad 1: Grundlagen der Programmierung
+int, float), Grundrechenarten, Ganzzahldivision //, Modulo %, Potenzen ** & print().int, float), Grundrechenarten, Ganzzahldivision //, Modulo %, Potenzen ** & print().int, float, str, bool), Type Casting & Type Hints.input(), Textumwandlung und moderne formatierte f-Strings (z.B. {preis:.2f} €).if, elif, else, Vergleichs- und Logikoperatoren (and, or, not).for in range(...), Bedingungsschleifen mit while, break & continue.def, return, Parametern, Scope und Modulen (math, random).[1:4]), Listen-Methoden (append, pop) & sum/len/min/max..strip(), .replace(), .split(), .join() und Palindrom-Analyse.{key: val}), sicheres .get(), Telefonbuch-Suche & Mengen (set) ohne Duplikate.[x for x in ...]), datetime für Kalenderberechnungen & Min/Max-Suche.🛣️ Lehrpfad 2: Einstieg in OOP & Entwickler-Werkzeuge
-__init__ Objekte startklar macht, was self bedeutet und erste UML-Klassendiagramme.print(objekt) mit __str__ lesbar macht und Rechnungsdruck im Warenkorb.🛣️ Lehrpfad 3: Fortgeschrittenes OOP, Testing & Desktop-GUIs
-b = a), is vs. == und Familienstammbäume.str, int, float, bool), Typumwandlung (Casting) & Vermeidung typischer Typfehler.input(), Textformatierung mit modernen f-Strings und Parametern.if, elif, else, Vergleichsoperatoren & logischen Verknüpfungen.for ... in range(), Bedingungsschleifen while, break & continue.def, return, Default-Parameter und Importe (math, random).[0], Slicing [1:4], Methoden (append, pop) & Schleifen.split, join, strip, replace), Groß/Klein und Zeichenanalysen.dict, sicherer Zugriff mit .get(), eindeutige Mengen set & Operationen.datetime & grundlegende Algorithmen.🏗️ Lehrpfad 2: Einstieg in OOP & Entwickler-Tools
+__add__, __mul__, __eq__ für 2D-Vektoren & Wegstrecken.self anlegen und Parameter übergeben.__str__ für saubere Textausgaben beim Drucken mit print().🚀 Lehrpfad 3: Fortgeschrittenes OOP & GUIs
+unittest, self.assertEqual(), assertRaises() und lerne TDD.is vs. ==, flache und tiefe Kopien.super().__init__(), Methoden erweitern & Fahrzeugflotten.__add__, __eq__, __len__.ABC), Geometrie-Engine & Zeichenflächen.unittest schreiben (Test-Driven Development).try-except-else-finally, raise und eigene Fehlerklassen im Banking.to_dict()/from_dict(), json.dump und CSV-Export.try/except/finally und eigene Exception-Klassen definieren.*args, **kwargs), Unpacking und Container-Dunder (len, [], in, iter) im Gaming-Inventar.🧪 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:
- -cd g01_erste_schritte_taschenrechner
-python3 test_aufgabe.py
- __getitem__.2. Wie lese ich das Testergebnis?
+ +⚡ Interaktiver Python Live-Playground (Pyodide WebAssembly)
+Führe beliebigen Python-Code direkt im Browser aus – ohne Installation!
-✅ 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).
+Klicke oben auf '▶ Code ausführen', um das Skript zu starten...
💥 Absturz / Syntax (ERROR)
-AttributeError: 'Fahrrad'
-object has no attribute 'gang'
- Ein Attribut oder Methodenname fehlt oder ist falsch geschrieben (z.B. Tippfehler).
+ +🩺 Interaktiver Python Fehler-Dolmetscher
+Füge eine englische Fehlermeldung (Traceback) aus dem Terminal ein:
+ + + + + +🏆 Lehrpfad-Abschluss-Zertifikate
+Generiere offizielle, druckbare Zertifikate nach erfolgreichem Abschluss eines Lehrpfads:
-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:
python3 test_all.py
- -
-
- Immer
returnstatt nurprint(): Tests prüfen das, was eine Funktion mitreturnzurückliefert. Einprint()zeigt es zwar auf dem Bildschirm an, reicht dem Test aber nicht!
- - Exakte Namen beachten: Wenn die Aufgabe
def addieren(a, b):verlangt, darf die Funktion nichtdef Addierenheißen (Python unterscheidet Groß- und Kleinschreibung).
- - Fehlermeldungen von unten nach oben lesen: Ganz unten steht immer genau, was nicht gepasst hat! -
🏆 Offizielle Lehrpfad-Abschlusszertifikate
-- Sobald du einen Lehrpfad oder das gesamte Portal abgeschlossen hast, kannst du dir hier dein persönliches, ausdruckbares Abschluss-Zertifikat mit deinen freigeschalteten Leistungsnachweisen generieren! -
- -🩺 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 lehrpfad_1_grundlagen/01_erste_schritte_taschenrechner
Einen Ordner nach oben zurück: cd ..
Inhalt des aktuellen Ordners auflisten: ls (oder dir auf Windows)