@techreport{Garmann2018, author = {Garmann, Robert}, title = {Spezifikation von Variabilit{\"a}t in automatisch bewerteten Programmieraufgaben}, doi = {10.25968/opus-1189}, url = {https://nbn-resolving.org/urn:nbn:de:bsz:960-opus4-11893}, year = {2018}, abstract = {Wir beschreiben eine M{\"o}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{\"a}lt. Die Varianten werden automatisch gebildet, indem an definierten Variationspunkten immer wieder andere, konkrete Werte eingesetzt werden. Schon bei sehr einfachen Aufgaben bestehen Abh{\"a}ngigkeiten zwischen den einzelnen Variationspunkten, die bei der Wahl der konkreten Werte zu ber{\"u}cksichtigen sind. Zudem kann die Menge der g{\"u}ltigen Werte auch bei einfachen Aufgaben so groß werden, dass die vollst{\"a}ndige Auflistung aller Wertkombinationen an Ressourcengrenzen scheitert. Die vorgestellte Spezifikation verwendet eine kompakte und f{\"u}r Aufgabenautoren verst{\"a}ndliche Sprache, die eine automatische Auswahl von korrekten, den Abh{\"a}ngigkeiten gehorchenden Wertekombinationen erm{\"o}glicht. Die Sprache ist unabh{\"a}ngig von den Erfordernissen eines bestimmten Autobewerters und versetzt Frontend- und Backendsysteme in verschiedenen technischen {\"O}kosystemen in die Lage, ausgew{\"a}hlte Werte einer sehr großen Wertemenge zu generieren, deren Abh{\"a}ngigkeiten zu pr{\"u}fen, sowie ggf. bestimmte Wertbelegungen in einem benutzerfreundlichen Dialog auszuw{\"a}hlen. Wir unterst{\"u}tzen Variationspunkte mit endlichen Mengen vorzugebender diskreter Werte sowie kontinuierliche Wertebereiche, die durch eine vorzugebende Anzahl von Samples diskretisiert werden. Wir besch{\"a}ftigen uns insbesondere mit der Frage, wie lange Auflistungen g{\"u}ltiger Wertkombinationen durch die Angabe von Ableitungsvorschriften ersetzt werden k{\"o}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{\"u}gung stehen k{\"o}nnen.}, subject = {Programmierung}, language = {de} } @techreport{Garmann2016, author = {Garmann, Robert}, title = {Graja - Autobewerter f{\"u}r Java-Programme}, doi = {10.25968/opus-941}, url = {https://nbn-resolving.org/urn:nbn:de:bsz:960-opus4-9418}, pages = {20}, year = {2016}, abstract = {In diesem Bericht wird der Autobewerter Graja f{\"u}r Java-Programme vorgestellt. Wir geben einen {\"U}berblick {\"u}ber die unterst{\"u}tzten Bewertungsmethoden sowie die beteiligten Nutzerrollen. Wir gehen auf technische Einzelheiten und Randbedingungen der in Graja eingesetzten Bewertungsmethoden ein und zeigen die Einbindung von Graja in eine technische Gesamtarchitektur. An einem durchgehenden Beispiel stellen wir die Struktur einer Programmieraufgabe sowie die von Graja unterst{\"u}tzten Feedback-M{\"o}glichkeiten dar. Informationen zum bisherigen Einsatz des Graders runden den Bericht ab.}, subject = {Programmierung}, language = {de} } @techreport{Garmann2018, author = {Garmann, Robert}, title = {Eine Java-Bibliothek zur Spezifikation von Variabilit{\"a}t in automatisch bewerteten Programmieraufgaben}, doi = {10.25968/opus-1187}, url = {https://nbn-resolving.org/urn:nbn:de:bsz:960-opus4-11874}, year = {2018}, abstract = {Wir f{\"u}hren schrittweise in den Einsatz einer Java-Bibliothek ein, um Variationspunkte und deren Wertemengen in automatisiert bewerteten Programmieraufgaben zu spezifizieren und als XML-Datei zu exportieren. Solche Variationspunkte kommen bei individualisierbaren Programmieraufgaben zum Einsatz, bei denen jede Studentin und jeder Student eine eigene Variante einer Programmieraufgabe erh{\"a}lt.}, subject = {Programmierung}, language = {de} } @inproceedings{Garmann2018, author = {Garmann, Robert}, title = {Ein Schnittstellen-Datenmodell der Variabilit{\"a}t in automatisch bewerteten Programmieraufgaben}, series = {Combined Proceedings of the Workshops of the German Software Engineering Conference 2018 (SE 2018), Ulm, Germany, March 06, 2018}, booktitle = {Combined Proceedings of the Workshops of the German Software Engineering Conference 2018 (SE 2018), Ulm, Germany, March 06, 2018}, editor = {Krusche, Stephan}, issn = {1613-0073}, doi = {10.25968/opus-1561}, url = {https://nbn-resolving.org/urn:nbn:de:bsz:960-opus4-15612}, pages = {52 -- 56}, year = {2018}, abstract = {Automatisch bewertete, variable Programmieraufgaben stellen besondere Schnittstellenanforderungen an Autobewerter (Grader) und Lernmanagementsysteme (LMS). Um Wiederverwendung von Aufgaben {\"u}ber Systemgrenzen hinweg zu beg{\"u}nstigen, schlagen wir vor, Aufgabenschablonen durch eine von allen beteiligten Systemen genutzte Middleware zu instanziieren und dabei Variabilit{\"a}tsinformationen in einem Schnittstellen-Datenmodell zu transportieren. Wir stellen ein solches Datenmodell vor, welches f{\"u}r die Grader-unabh{\"a}ngige Kommunikation mit LMS ausgelegt ist und beispielhaft im Autobewerter Graja implementiert wurde. Zudem wird eine Dialogkomponente f{\"u}r die manuelle Werteauswahl vorgestellt, die auch bei großen Wertemengen effizient und Grader-unabh{\"a}ngig einsetzbar ist. Die Eignung des Dialogs und des Datenmodells wird anhand eines typischen Bewertungsszenarios diskutiert.}, subject = {Programmierung}, language = {de} } @inproceedings{Garmann2019, author = {Garmann, Robert}, title = {Ein Format f{\"u}r Bewertungsvorschriften in automatisiert bewertbaren Programmieraufgaben}, series = {Lecture Notes in Informatics}, booktitle = {Lecture Notes in Informatics}, number = {P297}, publisher = {Gesellschaft f{\"u}r Informatik e.V.}, address = {Bonn}, isbn = {978-3-88579-691-6}, issn = {1617-5468}, doi = {10.25968/opus-1891}, url = {https://nbn-resolving.org/urn:nbn:de:bsz:960-opus4-18917}, pages = {103 -- 114}, year = {2019}, abstract = {Automatisiert bewertbare Programmieraufgaben definieren Tests, die auf Einreichungen angewendet werden. Da Testergebnisse nicht mit Bewertungsergebnissen gleichzusetzen sind, schlagen wir ein Beschreibungsformat vor, das Testergebnisse auf Bewertungsergebnisse abbildet. Lehrkr{\"a}fte k{\"o}nnen die Abbildungsvorschrift an ihren Lehrkontext anpassen. Der Vorschlag ist unabh{\"a}ngig von den beteiligten Autobewertern, von den eingesetzten Benutzungsschnittstellen und von der zu lernenden Programmiersprache einsetzbar. Das Format basiert auf verschachtelten Bewertungskategorien, welche um ein Nullifikationen-Konzept erg{\"a}nzt werden.}, subject = {Programmierung}, language = {de} } @techreport{Garmann2019, author = {Garmann, Robert}, title = {Ein Format f{\"u}r Bewertungsvorschriften in automatisiert bewertbaren Programmieraufgaben}, doi = {10.25968/opus-1343}, url = {https://nbn-resolving.org/urn:nbn:de:bsz:960-opus4-13432}, year = {2019}, abstract = {Automatisiert bewertbare Programmieraufgaben definieren Tests, die auf Einreichungen angewendet werden. Da Testergebnisse nicht mit Bewertungsergebnissen gleichzusetzen sind, schlagen wir ein Beschreibungsformat vor, das Testergebnisse auf Bewertungsergebnisse abbildet. Lehrkr{\"a}fte k{\"o}nnen die Abbildungsvorschrift an ihren Lehrkontext anpassen. Der Vorschlag ist unabh{\"a}ngig von den beteiligten Autobewertern, von den eingesetzten Benutzungsschnittstellen und von der zu lernenden Programmiersprache einsetzbar. Das Format basiert auf verschachtelten Bewertungskategorien, welche um ein Nullifikationen-Konzept erg{\"a}nzt werden. Letzteres sucht einen Ausgleich im Spannungsfeld zwischen einem f{\"u}r Studierende einfach verst{\"a}ndlichen Bewertungsergebnis und den Eigenarten der eigentlich nicht f{\"u}r Bewertungszwecke erfundenen, nichtsdestotrotz regelm{\"a}ßig und sinnvollerweise f{\"u}r Bewertungszwecke eingesetzten Softwarewerkzeuge.}, subject = {Programmierung}, language = {de} } @techreport{Garmann2016, author = {Garmann, Robert}, title = {Bewertungsaspekte und Tests in Java-Programmieraufgaben f{\"u}r Graja im ProFormA-Aufgabenformat}, doi = {10.25968/opus-834}, url = {https://nbn-resolving.org/urn:nbn:de:bsz:960-opus4-8344}, pages = {27}, year = {2016}, abstract = {Ein Autobewerter f{\"u}r von Studierenden eingereichte Programme f{\"u}hrt die im ProFormA-Aufgabenformat sequentiell spezifizierten "Tests" aus, um die Einreichung zu pr{\"u}fen. Bzgl. der Interpretation und Darstellung der Testausf{\"u}hrungsergebnisse gibt es derzeit keinen grader{\"u}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{\"u}hrungen besitzt. Die Erweiterung wurde in Graja umgesetzt, einem Autobewerter f{\"u}r Java-Programme. Je nach gew{\"u}nschter Detailaufschl{\"u}sselung der Bewertungsaspekte m{\"u}ssen in der Konsequenz Testausf{\"u}hrungen in Teilausf{\"u}hrungen aufgebrochen werden. Wir illustrieren unseren Vorschlag unter Einsatz der Testwerkzeuge Compiler, dynamischer Softwaretest, statische Analyse sowie unter Einsatz menschlicher Bewerter.}, subject = {Programmierung}, language = {de} }