Skip to content

Releases: thomas-enzlein/cTestEvaluation

Version 1.10

Choose a tag to compare

@github-actions github-actions released this 04 Oct 16:39

Elternbrief: Klassenauswahl. Im Tab Elternbrief wird jetzt gewählt, für wen die Briefe
entstehen: eine einzelne Klasse, ein ganzer Jahrgang oder alle geladenen Klassen. Voreingestellt
ist die höchste geladene Klasse (bei 5a und 6a also 6a, bei 5a, 5b und 5c die 5a). Alle Briefe
einer Auswahl stehen in einer Word-Datei und sind darin nach Klasse und Name sortiert.

Ergebnistabelle als echte Word-Tabelle. Die Seite Ergebnisse des Elternbriefes enthielt
bisher ein Bild (table.png): Der Text war nicht markierbar. Die Tabelle ist jetzt eine normale
Word-Tabelle aus ergebnisse.xlsx. Vorlage dafür ist das Blatt Tabelle2 – Zeilen, Überschriften
und verbundene Zellen kommen von dort (12 Zeilen, Kategorie, Bedeutung, Handlungsempfehlung;
gleiche Empfehlungen einmal über mehrere Zeilen verbunden). Fehlt das Blatt, wie in den bisherigen
persönlichen Kopien, wird dieselbe Tabelle aus dem ersten Blatt abgeleitet: ohne die Zeile „0",
ohne die Sternchen-Doppelzeilen und mit verbundenen Empfehlungstexten. Schriftgröße 7 pt und
Zellentrenner (waagerecht und senkrecht), damit jede Zeile eindeutig zu ihrer Kategorie gehört –
so bleibt der Brief auf zwei Seiten.

QR-Code und Linktext. Der QR-Code war im Brief 25 % breiter als hoch (1,25 × 1,00 Zoll bei
quadratischem Bild) und dadurch sichtbar verzerrt; er wird jetzt quadratisch und mit 1 Zoll
eingefügt. Zwischen Sie möchten Ihr Kind unterstützen? und Dann schauen Sie hier in unsere Sammlung: steht ein echter Zeilenumbruch, die Zeile bricht also nicht mehr an beliebiger Stelle
um; vor dem Linktext steht jetzt ein Abstand zur Tabelle.

Infobrief: Klassenauswahl und optionale Grußformel. Der Tab Infobrief hat dieselbe
Auswahl wie der Elternbrief, und sie richtet sich nach der Briefart: beim Stand je Klasse sind es
die Klassen (alle, ein Jahrgang, eine Klasse), beim Entwicklungsbrief die Kohorten mit dem
Paar aus der Stufenauswahl (c: 5c → 6c; fehlt ein Jahr, steht c (nur 5c)). Vorausgewählt ist
jeweils die höchste geladene Klasse bzw. ihre Kohorte. Beim Stand-Brief bestimmt die Auswahl die
Seiten im Dokument, beim Entwicklungsbrief die Kohorte – alle Zahlen im Brief beziehen sich dann
auf die Auswahl. Der Absender ist optional: bleibt das Feld leer, endet der Brief ohne
Grußformel (der Infobrief geht ans Kollegium).

Kategorie-Spalte wieder farbig. Die Spalte Kat. der Übersichtstabelle war seit 1.7 nicht
mehr eingefärbt: die Prüfung „hat die Tabelle eine Kategorie-Spalte?" fragte das DT-Objekt statt
seiner Daten, dessen Spaltennamen leer sind. Jetzt gilt wieder die gewohnte Farbzuordnung
(grün/gelb/orange/rot wie in Excel und in den Briefen).

Rechtschreibung. Im Elternbrief heißt es jetzt richtig bei allen Schülerinnen und Schülern der 5. Klasse (Dativ), ein doppeltes Leerzeichen ist entfernt.

Vorlagen an einer Stelle. Beide Briefe nutzen dieselbe Word-Vorlage; die zweite, identische
Kopie im Infobrief-Ordner ist entfallen. Die mitgelieferten anpassbaren Dateien liegen zentral in
vorlagen\ (Word-Vorlage, ergebnisse.xlsx), die persönliche Kopie weiterhin unter
Dokumente\C-Test Auswertung\vorlagen – sie überlebt ein Update unverändert. Im Tab
Elternbrief steht jetzt unter den Knöpfen, welche Vorlage gerade gilt (Pfad und
Änderungsdatum).

Vergleichswerte der Schule (Innenansicht). Ergebnisse lassen sich jetzt zusätzlich innerhalb
der eigenen Schule einordnen (5c liegt im Mittelfeld der 5. Klassen dieser Schule, das Kind liegt im 6. Jahrgang im oberen Viertel). Das ist ausdrücklich keine Norm: Referenzwert,
Normbereich und Kat. bleiben unverändert, die Innenansicht ist eine Zusatzinformation für das
Kollegium. Die Zahlen stehen in Vergleichswerte_C-Test.xlsx im Vorlagenordner (Blätter Info,
Kinder, Klassen, Entwicklung) und enthalten keine Namen und keine Einzelwerte – nur n
und die Schnittpunkte p10/p25/p50/p75/p90, getrennt nach Klassenstufe (5, 6, 5 → 6), Kennzahl
(R/F, WE) und Bezugsebene (Kinder, Klassenmittel, Klassenmedian). Erzeugt wird die Datei einmalig
aus den vorhandenen tsv-Dateien (werkzeuge/vergleich_erzeugen.R, Aufruf mit Datenordner und
Schulart); die App rechnet sie nie selbst aus, sondern liest sie nur.

Angezeigt wird mit dem Schalter Vergleichswerte der Schule anzeigen (Vorgabe: aus):
im Statistik-Tab der Vergleich der geladenen Klassen bei Mittelwert und Median (5c (n = 27): R/F-Median 62,0 % → Mittelfeld (Rang 20–35 %) · Bezug: 5. Klassen dieser Schule (n = 18)), in der
Übersichtstabelle zwei zusätzliche Spalten Vergleich R/F und Vergleich WE je Kind (nur in
der Ansicht, nicht in Export und Briefen) und im Lehrkräfte-Infobrief ein Satz je Klasse bzw.
Kohorte. Nicht im Elternbrief.

Die Bänder sind absichtlich weit, damit eine Schwankung um den Mittelwert nicht überinterpretiert
wird: Kinder untere 10 % / im Jahrgangsbereich / obere 10 %, Klassen unteres Viertel /
Mittelfeld / oberes Viertel (jeweils p10/p90 bzw. p25/p75). Liegen keine Dezile vor, gelten
auch für Kinder Viertel-Bänder. Dazu zeigt die App ein Rangintervall
(obere 10 % (Rang 3–12 %)): Ein einzelner C-Test-Wert trägt rund ±17 Prozentpunkte Messfehler,
ein Klassenmedian dagegen nur rund ±3–4; deshalb gibt es für einzelne Kinder keine
Viertel-Aussage. Unter 30 Kindern, unter 8 Klassengruppen oder bei Klassen unter 10 Kindern wird
nichts verglichen, und ein oberes Band wird nicht behauptet, wenn der oberste Schnittpunkt am
Maximum liegt (WE = 100 %).

Entwicklung 5 → 6 wird an der Erwartung gemessen. Die Veränderung allein ist irreführend: In
unseren Daten legen die Kinder im Mittel +8 Prozentpunkte zu – aber nur, weil die schwächeren zwei
Drittel viel aufholen; Kinder ab dem Referenzwert stagnieren oder verlieren (Start 71–85: +0,7;
ab 85: −3,3). Der Grund ist die Decke und die Regression zur Mitte. Deshalb steht im Blatt
Entwicklung der Referenzdatei je Kennzahl eine Erwartungsgerade
erwartete Entwicklung = Erwartung_a + Erwartung_b · Startniveau (Startniveau = Mittel der
5. Klasse der Kohorte, gedeckelt auf den verbleibenden Raum bis 100 %). Bewertet wird die
Abweichung davon; das Band ist die Streuung der Kohortenabweichungen dieser Schule (±1
Kohorten_SD), das Rangintervall (± Rest_SD/√n) entscheidet über die Wortwahl:

  • Statistik-Tab je Kasten eine Zeile: Mittlere Entwicklung R/F (5 → 6): +7,5 (erwartet +7,9) – im üblichen Bereich; mit ausgeschalteter Gesamtübersicht je Kohorte
    (+6,3 (erwartet +7,8; 5a→6a), …). Die Zeile erscheint nur, wenn der Schalter an ist, die
    Datei die Erwartung enthält und zwei Jahrgänge zugeordnet sind.
  • Entwicklungsbrief je Kohorte ein Satz: Die Kohorte startete bei 63,8 % (R/F) und erreichte einen mittleren Zuwachs von +20,2 Punkten – üblich für dieses Niveau sind etwa +6,8; die Entwicklung liegt deutlich über dem Üblichen. Je Kennzahl steht ein eigener Absatz,
    Wortschatz zuerst ((WE) vor (R/F)).
  • Die Wortwahl ist im üblichen Bereich / leicht über bzw. unter dem Üblichen / deutlich über bzw. unter dem Üblichen. Einzelkinder bekommen keine Entwicklungs-Aussage (eine
    Veränderung aus zwei Messungen trägt rund ±12 Prozentpunkte Messfehler). Ältere Referenzdateien
    ohne Erwartung funktionieren weiter – dann fehlt nur die Entwicklungszeile.

Entwicklungsbrief ohne Hinweisblock. Die Seite Hinweise (neue Kinder, fehlende Partner,
nicht bestätigte Zuordnungen, Klassenwechsel, nicht teilgenommen) und der abschließende
Hinweissatz entfallen. Der Brief endet nach den Kohorten-Abschnitten mit der Grußformel; danach
folgt nur noch der Anhang: Vergleich je Kind – ein Seitenumbruch weniger als bisher. Welche
Kinder nicht zugeordnet sind, steht weiterhin im Tab Statistik in der Tabelle
Vergleich je Kind (zwei Stufen) (Spalte Hinweis).

Aenderungen im Detail (Commits)
  • release 1.10: Klassenauswahl für beide Briefe, Ergebnistabelle als Word-Tabelle, Vergleichswerte der Schule (Innenansicht) und Entwicklung gegen die Erwartung (7518c57)
  • 1.10 (20b4060)

Vergleich: v1.9...v1.10

Version 1.9

Choose a tag to compare

@github-actions github-actions released this 21 Sep 07:08

Sortierung in Word und Excel. Die beim Speichern erzeugten Dateien sind jetzt erst nach Klasse,
dann nach Namen sortiert. Die tsv behält die Eingabereihenfolge, das Vergleichsblatt war schon
alphabetisch.

Aenderungen im Detail (Commits)
  • release 1.9: sort Word/Excel export by class, then name (80d9e23)
  • sort Word/Excel export by class, then name (8ca535d)
    • Kleine Änderungen am Aufbau der Briefe (4207d62)

Vergleich: v1.8...v1.9

Version 1.8

Choose a tag to compare

@github-actions github-actions released this 17 Sep 12:41

Stand-Brief je Klasse. Im Tab Infobrief gibt es jetzt die Briefart-Wahl: Stand je Klasse
(neu, Voreinstellung) oder Entwicklung (zwei Jahrgänge) (wie bisher). Der Stand-Brief braucht
keine zwei Jahrgänge – er funktioniert nach dem Ersttest in der 5 genauso wie nach dem Re-Test
in der 6. Er liefert eine Word-Datei Infobrief_Stand_<Klassen>.docx mit einer Seite je
geladener Klasse: Kennzahlen (n (mit Werten), Mittel ± SD, Median), vier Gruppen mit Anzahl,
Prozent und den zugehörigen Kategorien, Kinder unter dem unteren Normbereich (ganze Zeile fett),
die höchsten Werte und ein Anhang mit allen Kindern. Kategorien sind farbig wie in Excel und
Word, Plots gibt es nicht, Klassen ohne Werte werden übersprungen und gemeldet.

Anrede automatisch. Das Feld Klassenleitung ist entfallen: Die Anrede kommt aus den Klassen
des Briefes (Liebe Klassenleitung der 5c, / Liebe Klassenleitungen der 6b und 6c,). Die alte
Zeile info_klassenleitung fällt beim nächsten Speichern aus einstellungen.txt.

Kleinigkeiten. Mehr Abstand um die Tabellen, README aufgeräumt (deutsch nur noch im Kopf).

Aenderungen im Detail (Commits)
  • add stand report per class, automatic greeting (1.8) (44d410b)

Vergleich: v1.7...v1.8

Version 1.7

Choose a tag to compare

@github-actions github-actions released this 17 Sep 10:33

Robustes Laden von Ergebnissen. Eine tsv-Datei muss nicht mehr exakt aufgebaut sein: Die
App erkennt die Spalten auch bei anderer Schreibweise (WE %, we_percent, Kategorie,
Schüler …), ergänzt fehlende Spalten, berechnet Kategorie und Empfehlung aus den
Prozentwerten und meldet in der Oberfläche, was sie vorgefunden und ergänzt hat. Fehlt die
Spalte Name, gibt es eine klare Fehlermeldung und die App läuft weiter – vorher brach das
Laden mit einem Fehler ab. Damit lassen sich auch ältere Exporte (z. B. von 2023) wieder
auswerten.

Itemzahl in der tsv. Beim Speichern wird je Kind die Anzahl der Test-Items
mitgeschrieben. Sie steht nur in der tsv (nicht in der Übersichtstabelle und nicht in den
Word- und Excel-Berichten) und macht fehlende Werte nachrechenbar: Fehlt ein Prozentwert
oder – bei bekannten Prozentwerten – der Rohwert, ergänzt die App ihn und weist darauf hin.
Bei älteren Dateien ohne diese Spalte ermittelt die App die Itemzahl aus Wert und
Prozentwert, sodass einmal Laden und Speichern die Datei ins neue Format überführt.

Plausibilitätsprüfung. Die App meldet Auffälligkeiten, statt damit zu rechnen:
Prozentwerte außerhalb 0 bis 100 % (die Spalte wird nicht übernommen und, wenn möglich,
korrekt nachgerechnet), WE kleiner als R/F, Werte oberhalb der Itemzahl, Prozentwerte,
die nicht zu Wert und Itemzahl passen, sowie eine Kategorie-Spalte, die nicht zu den Werten
gehört.

Fortschrittsanzeige. Elternbriefe und Infobrief laufen nicht mehr unsichtbar: Ein
Fortschrittsbalken nennt „Brief 3 von 24: Mustermann, Anna" und beim Infobrief den
jeweiligen Schritt. Auch das Speichern zeigt einen Fortschritt.

Spaltenzuordnung. Die Zuordnung arbeitet mit Merkmalen statt mit einer festen
Namensliste und deckt damit auch englische Schreibweisen ab (vocabulary_percentage,
spelling %). Mehrdeutige und nicht verwendete Spalten werden genannt.

Keine Datenverluste mehr beim Briefversand. „speichern" ist ein eigener Knopf – wer
Werte eintippt und nur die Briefe erstellt, verlor den Datensatz bisher: Er existierte
danach nur noch als Word-Datei, ohne Itemzahl und ohne Vorjahresvergleich. Jetzt sichert die
App den Datenstand automatisch als tsv, bevor Elternbriefe oder Infobrief gerendert werden.
Die Sicherung schreibt nur die tsv (keine Berichte), überschreibt nichts, fragt nicht nach
und wird übersprungen, wenn der Stand bereits als Datei vorliegt. Ein Fehler beim Sichern
wird gemeldet, blockiert die Briefe aber nicht.

Übungslink und QR-Code im Elternbrief. Mit eingetragenem Link entstand bisher kein
einziger Brief: Das QR-Bild wurde im Temp-Verzeichnis erzeugt, und das Einbetten rechnet
absolute Pfade relativ zum Ausgabeordner um – Word fand das Bild nicht mehr („src must be a
string starting with 'rId' or an existing image filename"). Das Bild entsteht jetzt neben dem
Dokument und wird mit relativem Pfad eingebettet; der Link zur Übungssammlung steht wieder
als Text und als QR-Code im Brief. Dieser Pfad ist ab jetzt durch einen Test abgedeckt.

Vorlagen anpassen. Im Tab Elternbrief öffnet ein Knopf die Word-Vorlage, ein zweiter den
Vorlagenordner. Angepasst wird eine persönliche Kopie unter
Dokumente\C-Test Auswertung\vorlagen, die ein Update der App übersteht und beim Erstellen
der Briefe die mitgelieferte Vorlage ersetzt. Sie gilt für Elternbrief und Infobrief
(beide nutzen dieselbe Vorlage) und steuert Briefkopf, Logo, Schrift und Seitenränder.
Zusätzlich anpassbar sind die Ergebnistabelle (table.png) und die Kategorie-Texte
(ergebnisse.xlsx); eine unlesbare Tabelle wird nicht übernommen, damit ein misslungener
Bearbeitungsversuch die Briefe nicht unbrauchbar macht.

Einstellungen, die bleiben. Name, Signatur, Link zur Übungssammlung, Absender,
Klassenleitung, Anzahl der Test-Items und die Ansicht im Statistik-Tab werden automatisch in
Dokumente\C-Test Auswertung\einstellungen.txt gespeichert und beim nächsten Start wieder in
die Felder eingesetzt – einmal eintragen genügt. Ein Knopf im Tab Elternbrief öffnet die
Datei. Unbekannte Schlüssel und Handeinträge in der Datei bleiben erhalten.

Zwei R/F-Marken einstellbar. In derselben Datei stehen rf_referenz (Standard 71,3,
Referenzwert für Gesamtschulen) und rf_norm_unten (Standard 65, unterer Normbereich). Beide
betreffen den R/F-Wert, haben noch kein Feld in der Oberfläche und wirken ab dem nächsten
Start auf die Diagrammlinien, die Färbung im Entwicklungsdiagramm und die Markierungen im
Infobrief. Unbrauchbare Angaben – Text, Werte außerhalb 0 bis 100 oder ein unterer
Normbereich über dem Referenzwert – werden beim Start ignoriert und gemeldet, dann gelten die
Standardwerte.

Differenzzeile in der Klassentabelle. Die Kennzahlen-Tabelle im Infobrief (eine Zeile je
Klasse und Jahrgang) endet jetzt mit einer Zeile Differenz: der Veränderung der Mittelwerte
zwischen den beiden Jahrgängen, farbig wie bei einzelnen Kindern (grün = Verbesserung, rot =
Rückgang, ab 20 Prozentpunkten fett).

Der Anhang „Vergleich je Kind“ ist vollständig. Bisher enthielt er nur Kinder, die in
beiden Jahrgängen zugeordnet waren, und ersetzte einen Wert durch einen Strich, sobald die
andere Seite fehlte – vorhandene Werte gingen dadurch verloren (wer in der 5. Klasse 62,5 %
erreicht hatte und in der 6. fehlte, stand mit vier Strichen da). Jetzt stehen alle Kinder
aus beiden Jahrgängen in der Liste, jeweils mit den vorhandenen Werten (62,5 → -, - → 85,0);
ein Vergleichswert Δ erscheint nur, wenn beide Seiten vorliegen, und eine Spalte Hinweis
nennt den Grund (kein Vorjahreswert, neu in der Klasse, nicht teilgenommen (6. Klasse),
Vorschlag (bitte prüfen) …). Dieselbe vollständige Liste zeigen auch die Vergleichstabelle im
Tab Statistik und das Blatt Vergleich im Excel; in den Word-Ausgaben fehlt die Spalte
Hinweis, damit die Tabelle auf die Seitenbreite passt. Die Auswertung selbst bleibt
unverändert:
Mittelwerte, Ranglisten, „unter dem Normbereich" und der Text des Infobriefs
rechnen weiter nur mit Kindern, die in beiden Jahrgängen zugeordnet sind.

Kleinigkeiten und Fehlerbehebungen. Ist die Zieldatei noch geöffnet – etwa der Infobrief
in Word –, meldet die App das vor dem Rendern im Klartext („Die Datei … ist gerade
geöffnet oder schreibgeschützt … Bitte schließen und erneut starten.") statt nach Minuten mit
„Permission denied" abzubrechen; das gilt für Infobrief, Elternbriefe und das Speichern. In
Meldungen und beim Öffnen von Ordnern stehen die
Pfade jetzt einheitlich in Windows-Schreibweise (C:\Users\…\Documents\… statt gemischt mit
Schrägstrichen). In Tabellen wird ein fehlender Einzelwert als - gezeigt statt als NA –
sichtbar zum Beispiel bei der Standardabweichung einer Gruppe, in der nur ein Kind Werte hat
(vorher „85,0 ±NA", jetzt „85,0 ±-"). Die Vergleichstabelle im gespeicherten Word-Dokument
zeigt Veränderungen mit Vorzeichen (+10,0) wie der Anhang des Infobriefs.

Aenderungen im Detail (Commits)
  • fix (defda64)
  • release 1.7: robust loading, persistent settings, editable templates (1a7b76f)
  • add changelog for the release notes (0339624)

Vergleich: v1.6...v1.7

Release v1.6

Choose a tag to compare

@github-actions github-actions released this 16 Sep 16:41

Neu: Infobrief für das Kollegium. Vergleicht zwei Jahrgänge (z. B. 5 → 6),
ordnet die Kinder automatisch über den Namen zu und erzeugt ein Word-Dokument je
Klasse – mit Kennzahlen, Kindern unter dem Normbereich samt Vorjahresvergleich,
den größten Verbesserungen, der schwächsten Entwicklung, einer Seite „Hinweise"
und dem Anhang „Vergleich je Kind".

Zuordnung prüfen und merken. Ähnliche Namen werden als Vorschlag angezeigt;
bestätigen oder trennen per Klick. Die Entscheidungen werden gespeichert
(zuordnung_5c-6c.tsv) und beim nächsten Lauf automatisch wieder angewendet.

Statistik erweitert. Neue Diagrammtypen „Entwicklung (5 → 6)" und
„Verlauf (5 → 6)" sowie die Tabelle „Vergleich je Kind (zwei Stufen)". Die
Differenz-Ansicht beim WE-Wert zeigt jetzt korrekt „erkannt, aber falsch
geschrieben" (WE minus R/F).

Installation ohne Adminrechte. R, Chrome und pandoc sind im Setup enthalten –
auf dem Schulrechner muss nichts installiert werden. Die App startet in einem
eigenen Fenster und rührt das persönliche Browserprofil nicht an.

Robuster. Ohne Internet scheitert kein Brief mehr (Kurzlink/QR-Code), und
wenn der Auswertungsordner nicht beschreibbar ist, weicht die App auf die eigenen
Dokumente aus und nennt den Ordner in der Meldung.

Fehlerbehebungen. Die Kategorie „0" (nicht teilgenommen) ging beim Laden einer
tsv-Datei verloren; der Excel-Export enthält jetzt ein Blatt „Vergleich"; das
Speichern und die Brief-Erzeugung melden Schreibfehler sichtbar statt still
abzubrechen.

Aenderungen im Detail (Commits)
  • fix ci: keep the factory path free of ".." (e53db93)
  • fix ci: pass the inno setup paths without inner quotes (e23bdea)
  • fix ci: install all app packages before running the test suite (f4528d7)
  • add github action for the windows build and release (020dce6)
  • add windows build pipeline with portable R, portable chrome and pandoc (e2508f5)
  • add infobrief (two-year comparison), robustness fixes and test suite (6b17b07)
  • stable version before new features (2562646)
  • remove carbonate package for url shortening (328b188)
    • clean up code for plotting functions - adjust color and size of plots (094fbde)
    • fix manual - fix plot theme - add fuzzyjoin to requirements (32afbe9)
    • add match names fuzzy for comparison plot (aba507d)
    • tidy up folder structure - add new plot type to visualize development of single pupils if data form different classes is present (ba5bebf)
    • add plots for multiple classes (0a52f34)

Vergleich: v1.5...v1.6

v1.5

Choose a tag to compare

@thomas-enzlein thomas-enzlein released this 07 Oct 11:09
  • Added funtion to automatically generate letters to parents based on results.
  • Reworked UI

v1.3

Choose a tag to compare

@thomas-enzlein thomas-enzlein released this 29 Oct 11:49

adds a function to create letters

v1.2

Choose a tag to compare

@thomas-enzlein thomas-enzlein released this 10 Nov 09:25

Installer build following this template using Inno Setup.
Bundeled with Chrome protable and R protable.
All dependancies should be included so that the app works out of the box.