Fördergruppen¶
Werkzeug für die Bildung von Förder- und Forder-Gruppen je Teilkompetenz: eine Heatmap zeigt das Profil der gesamten Lerngruppe auf einen Blick, vier Bucket-Karten gruppieren die Schüler:innen für eine ausgewählte Teilkompetenz und verlinken zu passendem Fördermaterial.
Genutzt von: Klassenleitung (Bereich „Weiterarbeit")
Verwandt: Fördergruppen nach Kompetenzstufen -- gröbere Sicht auf Kompetenzstufen je Domäne; im Page-Header über den Toggle „Teilkompetenzen ↔ Kompetenzstufen" erreichbar.
Hintergrund-Konzept: docs/weiterarbeit_konzept.md -- abgestimmte Entscheidungen zu Buckets, Schwellen und Persistenz.
Screenshots¶
Heatmap-Übersicht (Profile aller Schüler:innen, Spalten sortiert nach Klassen-Schwäche):

Detail-Ansicht mit den vier Förder-Buckets pro ausgewählter Teilkompetenz:

API-Aufrufe¶
Dieses Element benötigt zwei API-Aufrufe:
1. Lösungsquoten je Schüler:in und Teilkompetenz¶
Hauptdaten: pro Teilkompetenz das Array students[] mit descriptiveStatistics.mean (Lösungsquote 0--1).
2. Klassenmittelwerte mit Beschreibung und Domäne¶
Anreicherung: liefert pro Teilkompetenz die description (Klartext-Bezeichnung) und domain (Domänenname). Daraus baut die Seite die Dropdown-Beschriftungen und kann die Domäne unter dem Dropdown anzeigen.
Warum zwei Aufrufe?¶
Der erste Aufruf liefert nur Code (value: "1.4.3") und Lösungsquoten pro Schüler:in. Der zweite Aufruf gibt die menschenlesbare Beschreibung. Das deckt sich mit dem Muster im Schüler-Dashboard.
Beispiel-Response (per-Schüler)¶
[
{
"type": "competence",
"value": "1.4.3",
"students": [
{
"id": "berg.sonne.42",
"name": "berg.sonne.42",
"descriptiveStatistics": { "mean": 0.43 }
},
{
"id": "blatt.stuhl.66",
"name": "blatt.stuhl.66",
"descriptiveStatistics": { "mean": 0.49 }
}
]
}
]
Relevante Felder:
value-- Teilkompetenz-Code (z.B. „1.4.3")students[].id/students[].name-- Schülercodestudents[].descriptiveStatistics.mean-- Lösungsquote (0--1)
Bestandteile der Komponente¶
Das Rückmeldeelement ist in zwei Abschnitte gegliedert:
1. Heatmap-Übersicht¶
| Element | Bedeutung |
|---|---|
| Spalten | Teilkompetenzen, sortiert nach Klassen-Mittel aufsteigend (schwächste links) |
| Zeilen | Schüler:innen, sortiert nach mittlerer Lösungsquote aufsteigend (schwächste oben) |
| Zellfarbe | Bucket-Zugehörigkeit (rot/orange/grau/grün) |
| Diagonal-Streifen in einer Zelle | Schüler:in wurde manuell verschoben |
| Filter „< 60 %" | Blendet alle Teilkompetenzen aus, in denen die Klasse insgesamt gut ist |
| Klick auf Spaltenkopf | Wählt diese Teilkompetenz für die Detail-Ansicht unten |
So sieht eine Lehrkraft auf einen Blick, wo die Klasse Schwächen hat (vertikale Bänder) und wer ähnliche Profile hat (benachbarte Zeilen).
2. Detail-Ansicht: Förder-Buckets¶
Vier Karten, sortiert nach Lösungsquote der gewählten Teilkompetenz:
| Bucket | Schwelle | Farbe |
|---|---|---|
| Intensivförderung | Mean ≤ 25 % | rot |
| Förderung | 25--50 % | orange |
| Sicherung | 50--75 % | grau |
| Forderung | > 75 % | grün |
Jede Karte zeigt:
- die zugeordneten Schülercodes (Klick öffnet ein Verschiebe-Menü),
- pro Code die individuelle Lösungsquote,
- einen Button „Fördermaterial öffnen" (Linkziel aus der Konfig).
Manuelle Verschiebungen sind isoliert pro Teilkompetenz und gelten nur für die aktuelle Sitzung -- bewusst keine Backend-Persistenz.
Fördermaterial-Linkkonfiguration¶
Die Linkziele für die „Fördermaterial öffnen"-Buttons werden in einer JSON-Datei im Repo gepflegt:
Schema: Fach → Teilkompetenz-Code → Bucket-Name → URL
{
"Deutsch": {
"1.4.3": {
"Intensivförderung": "https://material.example.de/d/1-4-3/intensiv",
"Förderung": "https://material.example.de/d/1-4-3/foerderung",
"Sicherung": "https://material.example.de/d/1-4-3/sicherung",
"Forderung": "https://material.example.de/d/1-4-3/forderung"
}
}
}
Pflege: Berichtspfleger:innen ergänzen oder ändern Linkziele per Pull Request. Fehlt ein Eintrag, zeigt die Bucket-Karte den Hinweis „Noch kein Fördermaterial verlinkt" und der Button bleibt aus.
Aktuell sind alle URLs Dummies auf https://vera.edoop.de/... -- bei Klick öffnet sich die Materialsammlung in einem neuen Tab. Vor dem produktiven Einsatz die echten URL-Strukturen einsetzen.
Übernahme¶
Für dieses Element benötigen Sie:
- Hauptkomponente:
FoerdergruppenComponent(Selektor:app-foerdergruppen) - Service:
FoerdermaterialService(lädt die Linkkonfig aus/assets/foerdermaterial-links.json) - Inputs:
studentAggregations-- Response von/groups/{id}/aggregations?aggregation=competence&type=studentscompetenceMeta-- Optional: Map mitdescriptionunddomainpro Teilkompetenz-Codesubject-- Fach-Name (z.B. „Deutsch") -- muss zu den Schlüsseln in der Linkkonfig passen
<app-foerdergruppen
[studentAggregations]="perStudentAggregations"
[competenceMeta]="competenceDescriptions"
subject="Deutsch"
/>
Die Komponente ist self-contained: Heatmap und Bucket-Karten teilen sich den State; Spaltenklicks und Dropdown-Auswahl bleiben synchron.
Hinweise zur Sitzungs-Persistenz¶
Manuelle Bucket-Verschiebungen leben nur für die aktuelle Sitzung:
- Beim Wechsel der Teilkompetenz bleiben die Overrides für die anderen erhalten (Sitzungs-Cache).
- Beim Verlassen der Seite oder Reload werden alle Overrides verworfen.
- Eine Backend-Persistenz wurde bewusst weggelassen, weil sie Spec-Erweiterung, User-Konfliktlogik und Datenschutz-Fragen mit sich brächte. Bei konkretem Sharing-Bedarf wäre als nächster Schritt ein localStorage-Persist denkbar -- siehe Konzept-Dokument.