2.3 KiB
2.3 KiB
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:
- Story: Motivation und Problemrahmen.
- Lernen: Ein kleines Konzept mit Beispielcode.
- Ueben: Raphael schreibt oder veraendert Code.
- Test: Eine kurze Verstaendnisfrage.
- 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.
localStoragefuer 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.