Initial commit; create Website for learning python.

This commit is contained in:
2026-07-11 20:29:16 +02:00
commit 1ea072d652
4 changed files with 978 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
# Kurs-Dokumentation
## Zielgruppe
Raphael ist 12 Jahre alt und soll Python praktisch, spielerisch und mit schnellen Erfolgserlebnissen lernen. Der Kurs verwendet eine Agenten-Geschichte, kurze Konzepte, direkt ausfuehrbare Uebungen und Mini-Tests.
## Didaktischer Aufbau
Jede Mission besteht aus fuenf Phasen:
1. Story: Motivation und Problemrahmen.
2. Lernen: Ein kleines Konzept mit Beispielcode.
3. Ueben: Raphael schreibt oder veraendert Code.
4. Test: Eine kurze Verstaendnisfrage.
5. Fertig: XP, Level und naechste Mission.
Die Reihenfolge ist bewusst progressiv:
- Ausgabe mit `print()`
- Variablen und Datentypen
- Rechnen
- Fehlermeldungen lesen
- Eingaben mit `input()`
- Bedingungen mit `if`, `else`, `and`, `or`
- Schleifen
- Listen
- Funktionen und Parameter
- Kombination in Quiz, Text-Adventure, Passwortgenerator und Abschlussprojekt
## Paedagogische Regeln
- Kurze Aufgaben statt langer Theorie.
- Fehler werden als Hinweise dargestellt, nicht als Scheitern.
- Der Mentor gibt keine Komplettloesungen, sondern Denkstufen.
- XP und Abzeichen motivieren, ersetzen aber nicht die eigentliche Uebung.
- Aufgaben enthalten Hilfen in mehreren Stufen, damit Raphael zuerst selbst probieren kann.
## Technische Architektur
Die App ist eine einzelne HTML-Datei:
- HTML/CSS/JavaScript ohne Build-Schritt.
- `localStorage` fuer Fortschritt und Code-Entwuerfe.
- Pyodide fuer echte Python-Ausfuehrung im Browser.
- Regelbasierter lokaler Mentor statt externer API.
- Responsive Layout fuer Desktop, Tablet und schmale Bildschirme.
## Resilienz
- Wenn Pyodide nicht geladen werden kann, zeigt die App einen klaren Status und verhindert falsche Erfolgsmeldungen beim Ausfuehren.
- Falsche Quiz-Antworten sperren die Mission nicht; Raphael kann erneut versuchen.
- Code-Entwuerfe werden pro Mission gespeichert.
- Texte werden beim Rendern escaped, damit Codebeispiele nicht als HTML interpretiert werden.
- Die App benoetigt keinen lokalen Server, funktioniert aber auch mit `python3 -m http.server`.
## Weiterentwicklung
Sinnvolle naechste Schritte:
- Weitere Missionen zu Dictionaries, Dateien und einfachen Spielen.
- Optionales lokales Vendoring von Pyodide, falls der Kurs komplett offline laufen soll.
- Kleine Beispiel-Loesungen in einer separaten, nicht direkt sichtbaren Lehrerdatei.