63 lines
2.3 KiB
Markdown
63 lines
2.3 KiB
Markdown
# 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.
|