Nutzen Sie Kriterien, die Verständnis statt bloßer Reproduktion erfassen: begründete Trade-offs, nachvollziehbare Modellierungsentscheidungen, korrekte Abstraktionen, präzise Tests, sowie konsistente Namensgebung. Verknüpfen Sie diese mit erklärenden Kommentaren und kurzen Design-Notes. So wird sichtbar, ob Studierende Konzepte tragen, anpassen und transferieren können, nicht nur Beispiele nachbilden.
Versionsverläufe, Branch-Strategien, Commit-Texte und Prompt-Historien erzählen, wie Verständnis wächst. Bewerten Sie nicht die schiere Menge, sondern die Qualität der Schritte: sinnvolle Inkremente, Reparaturen mit Begründung, Experimente mit Hypothesen. Kombinieren Sie diese Spuren mit Check-ins, um Trends, Sackgassen und Wendepunkte sichtbar zu machen.
Kurze, fokussierte Reflexionen nach Schlüsselmomenten zeigen, welche Annahmen, Fehldeutungen und Einsichten den Code geformt haben. Bitten Sie um Begründungen für Prompt-Entscheidungen und Beschreibungen verworfener Alternativen. Diese Metakognition offenbart Eigenleistung, unterstützt die Bewertung von Transfer und hilft, übermäßige Abhängigkeit von generierten Vorschlägen zu erkennen.
Komplexität, Abhängigkeitsgraphen, Taktzeiten der CI und Code-Smells liefern Signale, jedoch ohne Kontext oft irreführend. Legen Sie Toleranzfenster fest, dokumentieren Sie Ausnahmen, und koppeln Sie Metriken an architektonische Ziele. So spiegeln Zahlen Lernfortschritte wider, statt nur Durchschnittswerte zu homogenisieren oder kreative Lösungen zu bestrafen.
Zeigen Sie Qualität über das Verhalten: Abdeckung ist nützlich, doch erst sprechende Assertions, aussagekräftige Fixtures und zielgerichtete Mutationstests entlarven Lücken. Verknüpfen Sie Nutzerszenarien, Grenzfälle und Nichtfunktionen. Belohnen Sie präzise Fehlermeldungen und minimal reproduzierbare Beispiele, die kollaboratives Debugging erleichtern und regressionssichere Weiterentwicklung ermöglichen.