KI-Unterstützung: neuer Einstellungen-Tab (Anmeldung, Guthaben) und Button im Planungs-Tab, der Einheiten+Stunden als JSON an ein neues PHP-Backend (ai-backend/) sendet und die Antwort als prüfbare Vorschlagsliste zurückbringt. Provider-Aufruf, Guthabenverwaltung und Abrechnung nach echten Token-Kosten laufen serverseitig, der Desktop-Client sieht nie einen LLM-API-Key. Zentral abgesichert: eine von der KI zurückgegebene Stunden-Id, die zu keiner echten Lesson der Einheit passt, wird nie als Update übernommen, sondern immer als neue Stunde behandelt. Kompetenzkatalog-Import (8.1.2): JSON-Export/Import für Kompetenzkataloge.
180 lines
6.8 KiB
Markdown
180 lines
6.8 KiB
Markdown
# Kompetenzkatalog mit KI erstellen
|
||
|
||
Diese Datei erklärt das JSON-Format für Kompetenzkataloge in der LehrerApp
|
||
und enthält einen fertigen Prompt, den du in eine KI (z.B. Claude, ChatGPT)
|
||
einfügen kannst.
|
||
|
||
---
|
||
|
||
## JSON-Format
|
||
|
||
```json
|
||
{
|
||
"subject": "Chemie",
|
||
"gradeLevel": 10,
|
||
"domains": [
|
||
{
|
||
"name": "Erkenntnisgewinnung",
|
||
"code": "EG",
|
||
"competencies": [
|
||
{ "code": "EG1", "description": "Hypothesen zu chemischen Phänomenen formulieren und überprüfen" },
|
||
{ "code": "EG2", "description": "Experimente zielgerichtet planen und sicher durchführen" },
|
||
{ "code": "EG3", "description": "Messdaten systematisch erfassen, auswerten und interpretieren" }
|
||
]
|
||
},
|
||
{
|
||
"name": "Kommunikation",
|
||
"code": "K",
|
||
"competencies": [
|
||
{ "code": "K1", "description": "Sachverhalte unter Verwendung der Fachsprache beschreiben" },
|
||
{ "code": "K2", "description": "Ergebnisse adressatengerecht präsentieren" }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
### Feldübersicht
|
||
|
||
| Feld | Typ | Bedeutung |
|
||
|------|-----|-----------|
|
||
| `subject` | String | Name des Fachs – muss mit dem in der App angelegten Fach übereinstimmen |
|
||
| `gradeLevel` | Zahl | Klassenstufe (1–13) |
|
||
| `domains[].name` | String | Name des Kompetenzbereichs (z.B. „Erkenntnisgewinnung") |
|
||
| `domains[].code` | String | Kürzel für den Bereich (z.B. „EG") – wird in der App angezeigt |
|
||
| `competencies[].code` | String | Kürzel der einzelnen Kompetenz (z.B. „EG1") |
|
||
| `competencies[].description` | String | Beschreibung der Kompetenz als vollständiger Satz |
|
||
|
||
### Hinweise
|
||
- `code` darf leer sein (`""`), ist aber für die spätere Zuordnung hilfreich
|
||
- Die Reihenfolge der Bereiche und Kompetenzen im JSON wird beibehalten
|
||
- Vor dem Import zeigt die App neue, unveränderte und widersprüchliche Einträge an
|
||
- Standardmäßig wird der Katalog **zusammengeführt**; bei Konflikten bleibt zunächst die
|
||
vorhandene Fassung ausgewählt und kann einzeln durch die importierte Fassung ersetzt werden
|
||
- Das vollständige Ersetzen des Katalogs ist weiterhin möglich, muss aber ausdrücklich bestätigt werden
|
||
- Mehrere Klassenstufen = mehrere JSON-Dateien
|
||
|
||
---
|
||
|
||
## Fertiger KI-Prompt
|
||
|
||
Kopiere den folgenden Text in eine KI deiner Wahl und passe die
|
||
markierten Stellen an:
|
||
|
||
---
|
||
|
||
> **Prompt:**
|
||
>
|
||
> Erstelle einen Kompetenzkatalog für das Fach **[FACH]**, Klassenstufe **[STUFE]**,
|
||
> basierend auf dem Bildungsplan Baden-Württemberg (alternativ: Lehrplan [BUNDESLAND]).
|
||
>
|
||
> Gib das Ergebnis als valides JSON in genau diesem Format aus – kein Fließtext davor oder danach:
|
||
>
|
||
> ```json
|
||
> {
|
||
> "subject": "[FACH]",
|
||
> "gradeLevel": [STUFE],
|
||
> "domains": [
|
||
> {
|
||
> "name": "Bereichsname",
|
||
> "code": "XX",
|
||
> "competencies": [
|
||
> { "code": "XX1", "description": "Kompetenz als vollständiger Satz im Schüler-Infinitiv" }
|
||
> ]
|
||
> }
|
||
> ]
|
||
> }
|
||
> ```
|
||
>
|
||
> Anforderungen:
|
||
> - Verwende die prozessbezogenen Kompetenzbereiche des Bildungsplans als `domains`
|
||
> (z.B. für Naturwissenschaften: Erkenntnisgewinnung, Kommunikation, Bewertung,
|
||
> ggf. fachspezifische Inhaltsbereiche)
|
||
> - Pro Bereich 4–8 konkrete, beobachtbare Kompetenzen
|
||
> - Beschreibungen im Schüler-Infinitiv: „... formulieren", „... auswerten", „... beurteilen"
|
||
> - Codes: Bereichskürzel + laufende Nummer (EG1, EG2, K1, K2, ...)
|
||
> - Keine Duplikate, keine Leerzeilen im JSON, UTF-8
|
||
|
||
---
|
||
|
||
## Beispiele pro Fach
|
||
|
||
### Naturwissenschaften (Chemie, Physik, Biologie)
|
||
Typische Bereiche nach Bildungsplan BW:
|
||
- **EG** – Erkenntnisgewinnung
|
||
- **K** – Kommunikation
|
||
- **B** – Bewertung
|
||
- **FW** – Fachwissen (inhaltliche Kompetenzen, ggf. nach Themenfeld aufgeteilt)
|
||
|
||
### Mathematik
|
||
- **L** – Leitideen (Zahl, Messen, Raum & Form, Funktionaler Zusammenhang, Daten & Zufall)
|
||
- **PK** – Prozessbezogene Kompetenzen (Modellieren, Problemlösen, Argumentieren, ...)
|
||
|
||
### Sprachen (Deutsch, Englisch, ...)
|
||
- Kompetenzbereiche nach GER (A1–C2) oder nach Lehrplan:
|
||
Sprechen, Schreiben, Lesen, Hören, Sprachmittlung, Sprachbewusstsein
|
||
|
||
---
|
||
|
||
## Workflow
|
||
|
||
1. Fach in der App unter **Einstellungen → Fächer** anlegen (falls noch nicht vorhanden)
|
||
2. KI-Prompt mit Fach und Klassenstufe anpassen und ausführen
|
||
3. JSON aus der KI-Antwort kopieren und in eine `.json`-Datei speichern
|
||
4. In der App: **Einstellungen → Kompetenzkataloge** → Fach + Klassenstufe wählen → **Import JSON**
|
||
5. Vorschau und mögliche Konflikte prüfen; in der Regel **Zusammenführen (empfohlen)** wählen
|
||
6. Nach dem Import erscheinen die Bereiche und Kompetenzen sofort in der Übersicht
|
||
|
||
---
|
||
|
||
## Vollständiges Beispiel: Chemie Klasse 10
|
||
|
||
```json
|
||
{
|
||
"subject": "Chemie",
|
||
"gradeLevel": 10,
|
||
"domains": [
|
||
{
|
||
"name": "Erkenntnisgewinnung",
|
||
"code": "EG",
|
||
"competencies": [
|
||
{ "code": "EG1", "description": "Beobachtungen von Erklärungen unterscheiden und Hypothesen ableiten" },
|
||
{ "code": "EG2", "description": "Experimente unter Einhaltung der Sicherheitsvorschriften planen und durchführen" },
|
||
{ "code": "EG3", "description": "Messdaten tabellarisch erfassen und grafisch darstellen" },
|
||
{ "code": "EG4", "description": "Ergebnisse mit der Ausgangsfragestellung verknüpfen und Schlussfolgerungen formulieren" },
|
||
{ "code": "EG5", "description": "Modelle zur Erklärung chemischer Phänomene nutzen und deren Grenzen benennen" }
|
||
]
|
||
},
|
||
{
|
||
"name": "Kommunikation",
|
||
"code": "K",
|
||
"competencies": [
|
||
{ "code": "K1", "description": "Fachbegriffe situationsgerecht und korrekt verwenden" },
|
||
{ "code": "K2", "description": "Chemische Gleichungen lesen, beschreiben und erläutern" },
|
||
{ "code": "K3", "description": "Arbeitsergebnisse strukturiert und verständlich präsentieren" },
|
||
{ "code": "K4", "description": "Quellen fachgerecht zitieren und Informationen kritisch bewerten" }
|
||
]
|
||
},
|
||
{
|
||
"name": "Bewertung",
|
||
"code": "B",
|
||
"competencies": [
|
||
{ "code": "B1", "description": "Chancen und Risiken chemischer Produkte und Verfahren abwägen" },
|
||
{ "code": "B2", "description": "Eigene Urteile zu chemisch-gesellschaftlichen Fragen begründet vertreten" },
|
||
{ "code": "B3", "description": "Perspektivwechsel einnehmen und unterschiedliche Interessen berücksichtigen" }
|
||
]
|
||
},
|
||
{
|
||
"name": "Fachwissen",
|
||
"code": "FW",
|
||
"competencies": [
|
||
{ "code": "FW1", "description": "Säure-Base-Reaktionen mit dem Protonenübertragungskonzept erklären" },
|
||
{ "code": "FW2", "description": "Den pH-Wert berechnen und messtechnisch bestimmen" },
|
||
{ "code": "FW3", "description": "Redoxreaktionen als Elektronenübertragungsreaktionen beschreiben" },
|
||
{ "code": "FW4", "description": "Organische Verbindungen anhand funktioneller Gruppen einordnen" }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|