Refine
Document Type
- Bachelor Thesis (6)
- Master's Thesis (3)
Has Fulltext
- yes (9)
Is part of the Bibliography
- no (9)
Keywords
- Lernsoftware (5)
- E-Learning (2)
- LON-CAPA (2)
- Moodle (2)
- Softwareentwicklung (2)
- Softwaretest (2)
- Aufgabenüberprüfung (1)
- Autobewerter (1)
- Automatenlehre (1)
- Automatentheorie (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.
An der Hochschule Hannover soll die Lernplattform LON-CAPA von Moodle-STACK abgelöst werden. Dazu werden Aufgaben von LON-CAPA nach Moodle-STACK konvertiert. Durch die Entwicklung eines Konverters kann ein großer Teil dieser Arbeit automatisiert erfolgen. Aufgrund der potentiellen Komplexität von LON-CAPA-Aufgaben ist nicht jede Aufgabe in vollem Umfang zu übersetzen und eine manuelle Nacharbeit notwendig.
In dieser Arbeit werden die LON-CAPA-Antworttypen numerical, formula und math response analysiert. Es wird untersucht, wie LON-CAPA-Aufgabenelemente einzeln umgewandelt werden können und welche Parameter im Moodle-STACK-Format gesetzt werden müssen, um eine äquivalente Aufgabe in Moodle-STACK zu erhalten.
Die technische Umsetzung erfolgt in Java. Der modulare Aufbau sieht Wartbarkeit und Weiterentwicklung vor. Auf GitHub steht die Implementierung unter der GPL (GNU General Public License) zur Verfügung: https://github.com/kiliandangendorf/lc2mdl
Bisher wurde die automatisierte Bewertung von Übungsaufgaben in LON-CAPA angeboten und mit mehreren Werkzeugen umgesetzt, darunter der JFLAP-Wrapper, der die Grundlage dieser Arbeit bildet. Daraus soll ein vollständiges eigenstehendes Programm erarbeitet werden, dass auch an andere Lernmanagementsysteme angebunden werden kann. Dabei erhält es den neuen Namen GraFLAP. Dazu wurden die Bewertungsprozesse im JFLAP-Wrapper zusammen gelegt und eine neue Schnittstelle nach ProFormA-2.1-Standard ergänzt. Außerdem sollte die Wartbarkeit verbessert werden, sodass zukünftige weiterführende Arbeiten erleichtert werden. Dazu wurden neue Datenstrukturen und Prozesse integriert, unter anderem ein einheitlicher Build-Prozess mit Maven und automatisierte Tests mit JUnit. GraFLAP bietet nun eine standardisierte Schnittstelle, übernimmt alle Bewertungsprozesse und ist so nun vollständig unabhängig von Lernmanagementsystemen.
Die Arbeit hat das Ziel, Volumendaten effizient zu visualisieren, ohne diese in ein alternatives Repräsentationsformat wie Polygonnetze zu überführen. Dafür werden Voxel sowie ein Raycasting-Ansatz verwendet. Die Elemente des Volumens werden als Voxel (=volumetrische Pixel), das Volumen nachfolgend als ein dreidimensionales Array aus Voxel bezeichnet. Für jeden Pixel wird ein Strahl erzeugt, der das Array iterativ traversiert, wobei in jeder Iteration geprüft wird, ob das gegebene Volumenelement ein Datum hält oder nicht. Maßgeblich hierfür ist der von (Amanatides, Woo et al., 1987) vorgestellte Ansatz, den Strahl in solche Segmente zu zerlegen, die immer jeweils so lang wie der momentan zu untersuchende Voxel groß ist: In einer Iteration wird also immer genau ein Voxel untersucht. Die Arbeit wird diese Idee verfolgen, praktisch aber anders umsetzen und sie um eine zusätzliche Beschleunigungsstruktur ergänzen. Im Idealfall soll dieser Ansatz es erlauben, mindestens 512^3 Voxel in Echtzeit zu rendern. Der beschriebene Ansatz hat zusätzlich den Vorteil, dass Änderungen direkt sichtbar werden, weil für das anschließende Rendering, auf die modifizierten Daten zurückgegriffen wird.
An der Hochschule Hannover wird das Lern-Management-System Moodle eingesetzt. Für die dort verfügbare Quizfunktion wurde der neue Fragetyp MooPT (Moodle Programming Task) von der Abteilung Informatik der Fakultät IV entwickelt. Einem solchen Quiz muss immer ein Frageverhalten zugewiesen werden. Die Frageverhalten, welche Moodle standardmäßig anbietet, sind nicht mit dem MooPT-Fragetypen kompatibel. Aus diesem Grund müssen diese angepasst werden. Dies wurde bereits für zwei der acht Standard-Frageverhalten von der Abteilung Informatik durchgeführt.
Diese Arbeit beschäftigt sich mit der Entwicklung der restlichen Verhalten für den MooPT-Fragetypen. Dabei wird die Moodle-Quiz-Komponente und der MooPT-Fragetyp mit seinen Frageverhalten analysiert. Anschließen wird auf Basis dieser Analyse die Entwicklung der restlichen Frageverhalten erläutert.
Der Quellcode der Moodle-Plattform ist in PHP geschrieben und somit auch der des MooPT-Fragetypen und der der Frageverhalten. Auf GitHub stehen die Implementierungen der entwickelten Frageverhalten unter der GPL-Lizenz zur Verfügung:
https://github.com/LennartRolfes/moodle-qbehaviour_adaptivemoopt
https://github.com/LennartRolfes/moodle-qbehaviour_adaptivemooptnopenalty
https://github.com/LennartRolfes/moodle-qbehaviour_deferredmooptcbm
https://github.com/LennartRolfes/moodle-qbehaviour_immediatemooptcbm
https://github.com/LennartRolfes/moodle-qbehaviour_interactivemoopt
Bedingt durch die zunehmende Digitalisierung der wissenschaftlichen Ausbildung entstanden verschiedenste Lehrplattformen, mit denen die Verwaltung von Lehrveranstaltungen und Lehrmitteln möglich geworden ist. Die Plattform LON-CAPA ist eine davon.
Neben der Verwaltung von Lehrveranstaltungen konnten innerhalb der Plattform über eine Programmierschnittstelle auch Übungsaufgaben definiert werden, die durch das Hinterlegen der korrekten Antwort oder bei der Definition von Multiple-Choice Aufgaben einem Studierenden automatisch Feedback über dessen Lösung geben können. Komplexere Aufgaben mussten dagegen häufig manuell durch Menschen korrigiert werden.
Für die formalen Sprachen und die Automatenlehre der theoretischen Informatik wurde daher die in Java geschriebene Bibliothek JFLAP modifiziert, um als Bewertungsinstrument Aufgaben aus diesem Themengebiet automatisch auf Korrektheit bewerten zu können. Ein genereller Interfaceansatz ermöglich zusätzliche eine zugängliche Definition weiterer Aufgaben für die untersuchten Themengebiete.
In der Arbeit wird untersucht, wie der Einstieg in die WebGL-Programmierung erleichtert werden kann. Dafür wurde eine bestehende Entwicklungsumgebung um möglichst hilfreiche Fehlermeldungen erweitert. Außerdem gibt das System Rückmeldungen, wenn eine gegebene Übungsaufgabe nicht richtig oder unvollständig gelöst wurde. Hierzu werden neben dem Vergleich von bestehenden Hilfen für den Einstieg in WebGL, auch verschiedene Fehlerszenarien definiert und näher untersucht. Auf dieser Grundlage werden Anforderungen an die Anwendung gestellt und daraufhin umgesetzt.
Bluetooth ist ein weit verbreitetes drahtloses Übertragungsprotokoll, das in vielen mobilen Geräten wie bspw. Tablets, Kopfhörer oder Smartwatches verwendet wird. Bluetooth-fähige Geräte senden mehrmals pro Minute öffentliche Advertisements, die u.a. die einzigartige MAC-Adresse des Gerätes beinhalten. Das Mitschneiden dieser Advertisements mittels Bluetooth-Logger ermöglicht es, Bewegungen der Geräte zu analysieren und lassen somit Rückschlüsse auf die Bewegungen der Besitzenden zu.
Zum Schutz der Privatsphäre werden seit 2014 zufällig erzeugte MAC-Adressen in Advertisements verwendet. Eine sog. randomisierte MAC-Adresse bleibt durchschnittlich 15 Minuten lang gültig und wird dann durch eine neue zufällige Adresse ersetzt. Der Aufenthalt eines Geräts zu einem späteren Zeitpunkt kann nicht bestimmt werden. Dennoch kann der Wechsel eines Geräts von einem Bluetooth-Logger zu einem anderen innerhalb dieser 15 Minuten erkannt und somit eine Bewegung des Gerätes abgeleitet werden.
Durch Apps der Kontaktpersonennachverfolgung wie die Corona-Warn-App (CWA) senden auch vermeintlich inaktive Smartphones Bluetooth-Advertisements. Mit etwa einem Viertel der Aufzeichnungen unterstützt die CWA die Auswertungen dieser experimentellen Arbeit.
Um die praktische Anwendbarkeit zu demonstrieren, wurde der Erlebniszoo Hannover als Testgelände genutzt. Die Auswertung der über sieben Wochen gesammelten Daten ermöglichte die Analyse von Stoßzeiten, stark besuchten Orten und Besucherströmen.
Pathologists need to identify abnormal changes in tissue. With the developing digitalization, the used tissue slides are stored digitally. This enables pathologists to annotate the region of interest with the support of software tools. PathoLearn is a web-based learning platform explicitly developed for the teacher-student scenario, where the goal is that students learn to identify potential abnormal changes. Artificial intelligence (AI) and machine learning (ML) have become very important in medicine. Many health sectors already utilize AI and ML. This will only increase in the future, also in the field of pathology. Therefore, it is important to teach students the fundamentals and concepts of AI and ML early in their studies. Additionally, creating and training AI generally requires knowledge of programming and technical details. This thesis evaluates how this boundary can be overcome by comparing existing end-to-end AI platforms and teaching tools for AI. It was shown that a visual programming editor offers a fitting abstraction for creating neural networks without programming. This was extended with real-time collaboration to enable students to work in groups. Additionally, an automatic training feature was implemented, removing the necessity to know technical details about training neural networks.