3 research outputs found

    Spezifikation von Variabilität in automatisch bewerteten Programmieraufgaben

    Get PDF
    Wir beschreiben eine Möglichkeit, Variationspunkte und deren Varianten in automatisiert bewerteten Programmieraufgaben zu spezifizieren. Solche Variationspunkte kommen bei individualisierbaren Programmieraufgaben zum Einsatz, bei denen jede Studentin und jeder Student eine eigene Variante einer Programmieraufgabe erhält. Die Varianten werden automatisch gebildet, indem an definierten Variationspunkten immer wieder andere, konkrete Werte eingesetzt werden. Schon bei sehr einfachen Aufgaben bestehen Abhängigkeiten zwischen den einzelnen Variationspunkten, die bei der Wahl der konkreten Werte zu berücksichtigen sind. Zudem kann die Menge der gültigen Werte auch bei einfachen Aufgaben so groß werden, dass die vollständige Auflistung aller Wertkombinationen an Ressourcengrenzen scheitert. Die vorgestellte Spezifikation verwendet eine kompakte und für Aufgabenautoren verständliche Sprache, die eine automatische Auswahl von korrekten, den Abhängigkeiten gehorchenden Wertekombinationen ermöglicht. Die Sprache ist unabhängig von den Erfordernissen eines bestimmten Autobewerters und versetzt Frontend- und Backendsysteme in verschiedenen technischen Ökosystemen in die Lage, ausgewählte Werte einer sehr großen Wertemenge zu generieren, deren Abhängigkeiten zu prüfen, sowie ggf. bestimmte Wertbelegungen in einem benutzerfreundlichen Dialog auszuwählen. Wir unterstützen Variationspunkte mit endlichen Mengen vorzugebender diskreter Werte sowie kontinuierliche Wertebereiche, die durch eine vorzugebende Anzahl von Samples diskretisiert werden. Wir beschäftigen uns insbesondere mit der Frage, wie lange Auflistungen gültiger Wertkombinationen durch die Angabe von Ableitungsvorschriften ersetzt werden können. Ein besonderes Augenmerk legen wir auf eine redundanzfreie Beschreibung der Variantenmenge. Die Notation setzt auf XML und Javascript in der Annahme, dass diese Technologien in allen beteiligten Systemen zur Verfügung stehen können

    Bewertungsaspekte und Tests in Java-Programmieraufgaben für Graja im ProFormA-Aufgabenformat

    Get PDF
    Das ProFormA-Aufgabenformat wurde eingeführt, um den Austausch von Programmieraufgaben zwischen beliebigen Autobewertern (Grader) zu ermöglichen. Ein Autobewerter führt im ProFormA-Aufgabenformat spezifizierte „Tests“ sequentiell aus, um ein vom Studierenden eingereichtes Programm zu prüfen. Für die Strukturierung und Darstellung der Testergebnisse existiert derzeit kein graderübergreifender Standard. Wir schlagen eine Erweiterung des ProFormA-Aufgabenformats um eine Hierarchie von Bewertungsaspekten vor, die nach didaktischen Aspekten gruppiert ist und entsprechende Testausführungen referenziert. Die Erweiterung wurde in Graja umgesetzt, einem Autobewerter für Java-Programme. Je nach gewünschter Detaillierung der Bewertungsaspekte sind Testausführungen in Teilausführungen aufzubrechen. Wir illustrieren unseren Vorschlag mit den Testwerkzeugen Compiler, dynamischer Softwaretest, statische Analyse sowie unter Einsatz menschlicher Bewerter

    Bewertungsaspekte und Tests in Java-Programmieraufgaben für Graja im ProFormA-Aufgabenformat

    Get PDF
    Ein Autobewerter für von Studierenden eingereichte Programme führt die im ProFormA-Aufgabenformat sequentiell spezifizierten "Tests" aus, um die Einreichung zu prüfen. Bzgl. der Interpretation und Darstellung der Testausführungsergebnisse gibt es derzeit keinen graderübergreifenden Standard. Wir beschreiben eine Erweiterung des ProFormA-Aufgabenformats um eine Hierarchie von Bewertungsaspekten, die nach didaktischen Aspekten gruppiert ist und Referenzen auf die Testausführungen besitzt. Die Erweiterung wurde in Graja umgesetzt, einem Autobewerter für Java-Programme. Je nach gewünschter Detailaufschlüsselung der Bewertungsaspekte müssen in der Konsequenz Testausführungen in Teilausführungen aufgebrochen werden. Wir illustrieren unseren Vorschlag unter Einsatz der Testwerkzeuge Compiler, dynamischer Softwaretest, statische Analyse sowie unter Einsatz menschlicher Bewerter
    corecore