Refine
Document Type
- Bachelor Thesis (5)
- Master's Thesis (2)
Language
- German (7)
Has Fulltext
- yes (7)
Is part of the Bibliography
- no (7)
Keywords
- Clean Architecture (2)
- Prolog (2)
- XML (2)
- Android (1)
- Android <Systemplattform> (1)
- Android App Entwicklungsumgebung (1)
- App <Programm> (1)
- Benutzerfreundlichkeit (1)
- Container (1)
- Desktop-Computer (1)
Institute
Der Autobewerter Graja, der in der Lehre zum Bewerten studentischer Java-Programme verwendet wird, stellt ein komplexes Softwaresystem dar. Aufgrund einer kaum vorhandenen Testabdeckung durch Modul- und Integrationstests, ist die Gewährleistung der fehlerfreien Funktionalität in Hinsicht auf die Weiterentwicklung nicht garantiert. Da sich Graja auf das ProFormA-Aufgabenformat stützt, stellt sich die Frage, inwiefern sich die im ProFormA-Aufgabenformat vorausgesetzten Musterlösungen, für einen automatisierten Regressionstestmechanismus eignen.
Das Ziel dieser Forschung ist es ein Konzept, für einen solchen Regressionstestmechanismus zu erstellen und mithilfe einer Referenzimplementierung als Graja-Erweiterung in die Praxis umzusetzen. Der daraus entstandene Mechanismus operiert durch Verhaltensaufzeichnung und Verhaltensabgleich und konvertiert so das in Graja beobachtete Bewertungsverhalten einer Musterlösung in einen Testfall. In der Testphase findet anschließend ein Abgleich des Soll-Verhaltens eines Testfalls und des beobachteten Ist-Verhaltens einer Musterlösung statt. Die Differenzen dieses Abgleichs sind als potenzielle Regressionen zu behandeln, da diese eine semantische Änderung des Bewertungsergebnisses darstellen.
Um diesen Verhaltensabgleich robust und mit möglichst wenigen Fehlalarme zu realisieren, wurden die in Graja verwendeten Datenmodelle auf Eignung bezüglich einer Verhaltensaufzeichnung untersucht. Außerdem fand eine Datenaufzeichnung mit einer Teilmenge der Musterlösungen statt. Nachfolgend wurde eine Analyse dieser Rohdaten, mit dem Ziel potenzielles Rauschen innerhalb der Aufzeichnungen zu detektieren, durchgeführt. So konnte letztendlich eine Strategie für eine Rauschunterdrückung innerhalb der Verhaltensaufzeichnung entwickelt werden.
Abschließend wurde ein Datenmodell entwickelt, das erlaubt, die durch den Verhaltensabgleich detektierten Regressionen verständlich und lokalisierbar darzustellen. Der durch diese Arbeit entstandene automatisierte Regressionstestmechanismus stellt somit eine Grundlage für die Gewährleistung der korrekten Bewertungsfunktionalität innerhalb des Graja-Entwicklungsprozesses dar. Durch das Detektieren von Regressionen mithilfe der Musterlösungen, lassen sich nun Änderungen an Graja gewissenhaft in eine Produktionsumgebung übernehmen.
Diese Arbeit beschäftigt sich mit der Konzeption und Umsetzung einer Entwicklungsumgebung als Android-App für den Einsatz im Schulunterricht. Die Anwendung ist mit der natürlichen Sprache zu bedienen und stellt eine Entwicklungsumgebung für das logische Programmierparadigma zur Verfügung. Die entstandene Software wird in einem Feldversuch mit Kindern der 4. Klassenstufe an einer Grundschule erprobt. Da Änderungen und neue Erkenntnisse möglichst effizient in die Software einfließen sollen, wurde die App nach der Clean Architecture umgesetzt. Die Ergebnisse aus der Feldforschung zeigen, dass die Schülerinnen und Schüler mit hoher Motivation an einem fachlichen Thema gearbeitet haben. Sie erlernten die Konzepte der Fakten, Regeln und der Wissensbasis und vertieften damit ihr Wissen zu geometrischen Formen in der Mathematik. Der Architekturansatz der App stellt dessen Vorteile deutlich an Fallbeispielen dar. Die Arbeit zeigt das spannende Feld der angewandten Wissenschaft, das die beiden Disziplinen Informatik und Didaktik verknüpft.
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.
Diese Bachelorarbeit befasst sich mit der Entwicklung eines generischen XML-Editors für das ProFormA-Aufgabenformat. ProFormA ermöglicht einen Aufgabenaustausch zwischen Hochschulen, Lernmanagementsystemen und Gradern. Aufgaben werden von Lehrkräften genutzt und für ihren individuellen Lehrkontext angepasst. Weil das manuelle Editieren von ProFormA-Aufgaben durch XML, Erweiterbarkeit und Komplexität des Formats erschwert wird, muss ein XML-Editor entwickelt werden, der generische Mechanismen implementiert, die das Anzeigen, Editieren, Hinzufügen und Entfernen von ProFormA- und Fremdformatelementen ermöglichen.
Fortgeschrittene Konzepte der logischen Programmierung - für Kinder einfach zugänglich via NLP
(2019)
In dieser Arbeit wurde an der über Google Dialogflow gesteuerten Entwicklungsumgebung für logische Programmierung "Speech and Logic IDE" (SLIDE) geforscht. Die Anwendung wurde von Dialogflow zu der Bibliothek Snips NLU überführt, damit ohne Internetanbindung gearbeitet werden kann.
Als Hauptteil der Arbeit wurden die logischen Konzepte Variablen, Rekursion und Listen in die Anwendung implementiert. Es wurde eine Benennungsvorschrift eingeführt, die die Anwendung von starren Strukturen löst und es durch rekursive Verarbeitung erlaubt, beliebig komplexe Strukturen zu modellieren. Die Anwendung wurde anschließend im Rahmen der Sekundarstufe I betrachtet. Die behandelten Fragen waren:
"Kann SLIDE genutzt werden, um SuS der Sekundarstufe I Wissen zu vermitteln?", "Kann SLIDE genutzt werden, um SuS der Sekundarstufe I die Konzepte Fakten und Regeln zu vermitteln?", "Kann SLIDE genutzt werden, um SuS der Sekundarstufe I die Konzepte Variablen, Rekursion und Listen zu vermitteln?", "Kann SLIDE genutzt werden, um SuS der Sekundarstufe I Wissen außerhalb der mathematischen Domäne zu vermitteln?"
Dazu wurden zwei Unterrichtsbeispiele konzipiert, die sich im Deutschunterricht mit Grammatik und Lyrik auseinandersetzen, zwei Themen des niedersächsischen Kerncurriculums aus der Sekundarstufe I. Bei der Unterrichtsgestaltung wurde besonderes Augenmerk auf die neu eingeführten Konzepte gesetzt. Das zweite Unterrichtsbeispiel wurde im Rahmen einer Zusammenarbeit mit dem Projekthaus Zukunft MINT der Hochschule Hannover zweimalig mit unterschiedlichen 10. Klassen (IGS und Gymnasium) durchgeführt. Die theoretischen Ergebnisse der Arbeit zeigen, dass alle Fragen mit "Ja" beantwortet werden können. In der neuen Version von SLIDE ist es möglich die neuen Konzepte zu modellieren und es ist möglich Unterrichtsbeispiele zu konzipieren, die dieses Wissen vermitteln und sich auf Inhalte des Kerncurriculums beziehen. Die Ergebnisse der Feldexperimente in Form von Fragebögen fallen weniger aussagekräftig aus, da sich die SuS bereits am Ende der Sekundarstufe I befanden und die konzipierten Inhalte somit eine Wiederholung darstellten. Weiter muss anerkannt werden, dass viele Faktoren bei der Befragung nicht berücksichtigt werden konnten. Deswegen können aus den praktischen Versuchen keine umfassenden Schlüsse gezogen werden, eine optimistische Betrachtung zeigt ein generelles Interesse der Anwendung seitens der SuS. Die Erfahrungen legen nahe die Unterrichtsinhalte auf mehrere Unterrichtseinheiten aufzuteilen, damit die Teilnehmer mit Vorwissen an die neuen Konzepte herantreten und sich auf sie konzentrieren können.
In dieser Bachelorarbeit werden zwei Ziele verfolgt. Ein Ziel ist es anhand einer Karriere-Seite mit einem Bewerbungsformular einzuordnen, ob die Gestaltung dieser mit der mobile-first Philosophie einen Einfluss auf die Usability und bezüglich der Benutzbarkeit von Interaktionselementen im Desktop-Kontext hat. Ein weiteres Ziel ist, bedingt durch die COVID-19 Pandemie, eine prototypische Software-Lösung zu entwickeln, welche den kompletten Lösungsversuch im Rahmen eines Usability-Tests einer Versuchsperson inklusive der Blickpositionen, ohne den Einsatz spezieller Hardware, aufnimmt und diese Aufnahme für eine Auswertung auch wieder abspielen kann.
Die Arbeit setzt sich dabei aus zwei praktischen Teilen zusammen. Der erste Teil umfasst die Konzeption und Entwicklung der Karriere-Seite unter Einsatz der mobile-first Philosophie für das betreuende Unternehmen, frobese GmbH. Im zweiten Teil der Arbeit wird die Auswirkung der mobile-first Philosophie auf die Usability im Desktop-Kontext empirisch untersucht. Dies geschieht im Rahmen eines remote Usability-Tests mithilfe der dafür entwickelten Software-Lösung. Diese nimmt die Lösungsversuche mitsamt der Blickpositionen der Versuchspersonen auf und fordert sie anschließend auf, einen Fragebogen auszufüllen. Abschließend werden die Ergebnisse, der Versuchsaufbau und die Ergebnisse kritisch gewürdigt.
Der remote Usability-Test im zweiten Teil der Arbeit wurde mit insgesamt 30 Versuchspersonen durchgeführt. Sie wurden dabei in zwei Gruppen aufgeteilt, eine mobile Gruppe und eine Desktop Gruppe. Im Rahmen des Usability-Tests mussten sie eine Aufgabe auf der prototypischen Karriere-Seite vom ersten praktischen Teil dieser Arbeit erledigen. Die entwickelte remote Lösung erlaubte auch unter Pandemiebedingungen eine einfache Rekrutierung der Versuchspersonen und Durchführung der Versuche. Mithilfe eines Auswertungs-Clients konnten die Versuchsaufnahmen im Nachhinein wieder abgespielt werden und in Form von Heatmaps visualisiert werden. Die Auswertung zeigte, dass mithilfe der mobile-first Philosophie eine exzellente Usability im mobilen Kontext erreicht werden konnte, die sich auch auf den Desktop übertragen hat. Es konnte aber auch ein signifikanter Unterschied in den Bearbeitungszeiten zwischen beiden Gruppen festgestellt werden. Hier konnten die Versuchsaufnahmen Indizien auf die Ursachen dieser Diskrepanz geben.