Refine
Document Type
- Bachelor Thesis (2)
- Book (1)
Language
- German (3)
Has Fulltext
- yes (3)
Is part of the Bibliography
- no (3)
Keywords
- Container (1)
- Grader (1)
- Grappa (1)
- IT-Sicherheit (1)
- Instanziierungsservice (1)
- ProFormA (1)
- Sandbox (1)
- XML (1)
- abgesicherte Ausführungsumgebung (1)
- variable Programmieraufgabe (1)
Zu einer Vielzahl von Vorlesungen gibt es Übungsaufgaben, anhand derer das theoretisch erlernte Wissen noch weiter vertieft, gefestigt oder praktisch angewandt werden kann. Klassischerweise erhalten alle Studierende hierfür dieselbe Aufgabe. Allerdings gibt es gute Gründe, für alle eine jeweils individualisierte Variante zu erstellen. Da es für eine einzelne Lehrperson unmöglich ist, für alle Studierenden individuelle Aufgaben zu konzipieren, wurden in anderen Arbeiten bereits Möglichkeiten entwickelt, variable Aufgaben zu formulieren, aus denen viele unterschiedliche Varianten generiert werden können. Diese Bachelorarbeit befasst sich mit dem Entwurf und der Implementierung eines Services, der diese Generierung automatisiert durchführen kann. Er soll unabhängig von einem konkreten Frontend sein und mit beliebigen Gradern zusammenarbeiten können.
In der Lehre kommen seit einiger Zeit Autobewerter zum Einsatz, um automatisiert oder teilautomatisiert Lösungen von Lernenden zu Programmieraufgaben zu bewerten. Aus Sicht eines Betreibers von Autobewerter-Systemen erfordert letzteres meist die Ausführung von fremdem Programmcode in der eigenen Server-Umgebung. Hierbei ist Vorsicht geboten, da fehlerhafter oder angriffslustiger Programmcode verbotene Aktionen ausführen könnte.
An der Hochschule Hannover können Studierende Lösungen zu Programmieraufgaben verschiedener Programmiersprachen über das Lernmanagementsystem "moodle" einreichen. Die angeschlossene Middleware Grappa nimmt Lösungen anschließend entgegen und leitet diese an einen Autobewerter der zugehörigen Programmiersprache weiter.
Diese Arbeit befasst sich damit, Sicherheitsrisiken bei der Ausführung von fremdem Programmcode durch Autobewerter zu identifizieren und zu vermeiden. Hierzu gilt es, mögliche Angriffe herauszustellen und aktuelle, angemessene Technologien zu finden, um diese zu verhindern. Anschließend findet mit einer Technologie die Entwicklung einer abgesicherten Ausführungsumgebung für beliebige an die Middleware Grappa angebundene Autobewerter statt. Die exemplarische Einbettung der beiden Autobewerter Graja und Praktomat in die entwickelte Ausführungsumgebung soll unter Beweis stellen, dass es sich um eine generische Lösung mit wenig Overhead handelt.
Praktische Übungen anhand von Programmieraufgaben sind ein gängiger und zentraler Bestandteil der Programmierausbildung in der Informatik und verwandten Fächern. Die manuelle Korrektur von Lösungen zu Programmieraufgaben ist jedoch zeitaufwändig und nicht immer einfach. Gerade in Szenarien, die auf sogenanntes „formatives Assessment“ setzen, ist jedoch ein zeitnahes Feedback zumindest zu den wesentlichen Aspekten einer Lösung sehr wünschenswert. In diesem – aber auch in weiteren Szenarien – kann eine automatisierte Bewertung der Lösungen von Programmieraufgaben einen wertvollen Beitrag zur Verbesserung der Lehre leisten. Darüber hinaus ermöglichen geeignete Systeme eine Darstellung des Lernfortschritts, halten Lernende durch regelmäßig bewertete Übungsaufgaben zur kontinuierlichen Mitarbeit an und unterstützen Lehrende durch einen Überblick über Lernfortschritte und Lernhürden einzelner Studierender und der gesamten Gruppe bei der Planung und Ausrichtung ihrer Lehre.
Dieses Buch richtet sich an Lehrende an Hochschulen, Schulen und anderen Ausbildungseinrichtungen, an Hochschuldidaktiker mit Bezug zur Programmierausbildung und an Informatiker, die mit der Entwicklung oder Integration von Systemen zur automatischen Programmbewertung beschäftigt sind. Die Ziele dieses Buches sind zum einen, Lehrenden die praktische Relevanz und Tauglichkeit automatisierter Programmbewertung aufzuzeigen und damit den Einsatz automatischer Programmbewertung durch die Darstellung erfolgreicher Ansätze zu fördern. Zum anderen soll dem Thema der automatisierten Programmbewertung ein größerer Bekanntheitsgrad in der Fachöffentlichkeit verschafft und Arbeitsergebnisse aus Forschungs- und Praxisprojekten einem größeren Anwenderkreis präsentiert werden.