Hi, I'm Niels – a freelancing IT professional based in Hamburg (Germany).
I like to keep Linux servers happy and healthy, while rigorously automating DevOps tasks so that development and deployment stay easy and reliable. Much of my current work revolves around Moodle and its whole ecosystem. This includes managing large-scale Moodle deployments, developing and maintaining open-source Moodle plugins, and developing custom software and administration solutions for individual organizations.
My open-source projects put a strong emphasis on solving problems around digital assessments and student lifecycles in the field of higher education. Beyond Moodle, I still take on specialized software projects, often with a scientific background, ranging from DIN/ISO-compliant laboratory software to firmware for low-power embedded devices.
Since 2015, I have worked with a variety of clients, including:
Below is a selection of the open source projects I'm currently working on
You can find more on my
GitHub account (@ngandrass)
Automatically manages the full lifecycle of user accounts using freely configurable and easily extensible multistep workflows.
Archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle.
Renders Moodle user content inside a headless webbrowser and exports it as PDF/HTML files, including MathJax formulas and other complex elements that require JS processing.
Display a configurable list of math input syntax examples alongside their rendered MathJax equivalents to help students with math input.
Monitors disk I/O and forces HDD spindown after a given idle period. Resistant to S.M.A.R.T. reads.
Advanced asset management system. Manages handheld radios, VoIP phones, call boxes, pagers, and other telecommunication devices.
Blocking lists of IP addresses from blocklists / blacklists (e.g. blocklist.de, spamhaus.org) via ipset and ufw.
Creates full backups of GitLab groups, including subgroups and all projects, via the GitLab API.
Fully-custom ESP32-S3 based PCB badge for Eurofurence 28. Open-source hardware design (OSHW) and firmware files available.
Digitale Prüfungen bieten neue Prüfungsmöglichkeiten, die für Studierende und auch für die Lehrenden vorteilhaft sein können. In unserem Beitrag möchten wir unsere erprobten Prüfungsszenarien in der Mathematik, die wir als Präsenzprüfung in unseren PC-Pools durchführen, vorstellen. Wir haben
Digitale Prüfungen bieten neue Prüfungsmöglichkeiten, die für Studierende und auch für die Lehrenden vorteilhaft sein können. In unserem Beitrag möchten wir unsere erprobten Prüfungsszenarien in der Mathematik, die wir als Präsenzprüfung in unseren PC-Pools durchführen, vorstellen. Wir haben dafür zwei Szenarien ausgewählt: 1. eine digitale Abschlussprüfung am Ende des Semesters, die zur Vorbereitung mit vorlesungsbegleitenden digitalen Übungsaufgaben und kurzen digitalen Tests zur Erreichung der Prüfungsvorleistung in den Übungen während des Semesters arbeitet und 2. eine semesterbegleitende Prüfung mit drei Teilkomponenten. Wir stellen das Konzept und den Ablauf der digitalen Prüfung sowie den Aufbau der Prüfung mit Beispielaufgaben vor. Außerdem möchten wir unsere Erfahrungen mit den digitalen Prüfungen erläutern sowie Aussagen von Studierenden einbinden.
Das Kapitel 1 beschreibt den Ablauf einer digitalen Prüfung, von der Erstellung der Prüfungsaccounts, der Durchführung der Prüfung an abgesicherten Rechnern im PC-Pool, der Korrektur bis hin zur Archivierung der Prüfung. In Kapitel 2 möchten wir den Aufbau der Prüfung und die verwendeten digitalen Aufgaben vorstellen. Wir möchten dabei auf die digitalen Aufgaben für die Überprüfung verschiedener Kompetenzen, die automatische Korrektur und die Bewertung eingehen. Wir möchten die Herausforderungen bei der Entwicklung der Prüfungsaufgaben thematisieren. Welche Aufgaben benötigen wir für Prüfungen, damit die Studierenden die in der Vorlesung erlernten Themen, Fähigkeiten und Kompetenzen zeigen können? Wie gehen wir mit Eingabefehlern um? In Kapitel 3 möchten wir die oben beschriebenen Prüfungsszenarien vorstellen und mit ihren Vor- und Nachteilen gegenüberstellen. Wir möchten das Feedback der Studierenden zu digitalen Übungsaufgaben und digitalen Prüfungen der verschiedenen Szenarien vorstellen. Außerdem werden wir von unseren Erfahrungen berichten und einen Ausblick auf mögliche digitale Prüfungsszenarien geben, was zukünftig möglich sein könnte.
@Misc{Landenfeld2026DigitalePruefungen,
author = {Karin Landenfeld and Jonas Priebe and Niels Gandra{\ss}},
howpublished = {Vortrag auf der MINT digital 2026},
month = sep,
title = {{Einsatz Digitaler Prüfungen in der Mathematik}},
url = {https://www.hsbi.de/ium/mint-digital-2026},
year = {2026},
abstract = {Digitale Prüfungen bieten neue Prüfungsmöglichkeiten, die für Studierende und auch für die Lehrenden vorteilhaft sein können. In unserem Beitrag möchten wir unsere erprobten Prüfungsszenarien in der Mathematik, die wir als Präsenzprüfung in unseren PC-Pools durchführen, vorstellen. Wir haben dafür zwei Szenarien ausgewählt: 1. eine digitale Abschlussprüfung am Ende des Semesters, die zur Vorbereitung mit vorlesungsbegleitenden digitalen Übungsaufgaben und kurzen digitalen Tests zur Erreichung der Prüfungsvorleistung in den Übungen während des Semesters arbeitet und 2. eine semesterbegleitende Prüfung mit drei Teilkomponenten. Wir stellen das Konzept und den Ablauf der digitalen Prüfung sowie den Aufbau der Prüfung mit Beispielaufgaben vor. Außerdem möchten wir unsere Erfahrungen mit den digitalen Prüfungen erläutern sowie Aussagen von Studierenden einbinden.
Das Kapitel 1 beschreibt den Ablauf einer digitalen Prüfung, von der Erstellung der Prüfungsaccounts, der Durchführung der Prüfung an abgesicherten Rechnern im PC-Pool, der Korrektur bis hin zur Archivierung der Prüfung. In Kapitel 2 möchten wir den Aufbau der Prüfung und die verwendeten digitalen Aufgaben vorstellen. Wir möchten dabei auf die digitalen Aufgaben für die Überprüfung verschiedener Kompetenzen, die automatische Korrektur und die Bewertung eingehen. Wir möchten die Herausforderungen bei der Entwicklung der Prüfungsaufgaben thematisieren. Welche Aufgaben benötigen wir für Prüfungen, damit die Studierenden die in der Vorlesung erlernten Themen, Fähigkeiten und Kompetenzen zeigen können? Wie gehen wir mit Eingabefehlern um? In Kapitel 3 möchten wir die oben beschriebenen Prüfungsszenarien vorstellen und mit ihren Vor- und Nachteilen gegenüberstellen. Wir möchten das Feedback der Studierenden zu digitalen Übungsaufgaben und digitalen Prüfungen der verschiedenen Szenarien vorstellen. Außerdem werden wir von unseren Erfahrungen berichten und einen Ausblick auf mögliche digitale Prüfungsszenarien geben, was zukünftig möglich sein könnte.},
keywords = {education,electronic assessments,online assessments,blended learning,higher education,STEM education},
publisher = {HSBI},
series = {MINT digital 2026},
}
The deletion of inactive user accounts is not only a legal requirement under GDPR but also a technical and organizational necessity. Beyond compliance, removing obsolete user data offers various significant practical benefits. Various Moodle plugins already exist for this use case. Those,
The deletion of inactive user accounts is not only a legal requirement under GDPR but also a technical and organizational necessity. Beyond compliance, removing obsolete user data offers various significant practical benefits. Various Moodle plugins already exist for this use case. Those, however, were often tied to a pre-defined logic flow and lacked various degrees of freedom that complex Moodle sites require.
With this talk, we present the novel Automatic User Lifecycle Management plugin for Moodle. It allows administrators to model distinct user lifecycles with user-defined workflows. Accounts are routed through these multi-step workflows comprising composable filter criteria and flexible user actions. While a variety of filters and actions come out-of-the-box, both can easily be extended by institution-specific requirements using the lightweight sub-plugin architecture. GDPR-compliant deletion, a dry-run mode, an audit log, and dynamic variables in email templates complete the plugin's feature set.
Besides showcasing the Moodle plugin itself, we also depict and discuss different user lifecycle scenarios, ranging from straightforward university Moodles with a unified SSO-based authentication to more complex platforms with multiple authentication methods and account types.
@Misc{Gandrass2026UserLifecyclePlugin,
author = {Niels Gandra{\ss}},
howpublished = {Talk at the Moodle Moot DACH 2026 at the Swiss Federal Institute of Technology Zurich},
month = jul,
title = {{Workflow-based User Lifecycle Management for Moodle}},
year = {2026},
abstract = {The deletion of inactive user accounts is not only a legal requirement under GDPR but also a technical and organizational necessity. Beyond compliance, removing obsolete user data offers various significant practical benefits. Various Moodle plugins already exist for this use case. Those, however, were often tied to a pre-defined logic flow and lacked various degrees of freedom that complex Moodle sites require.
With this talk, we present the novel Automatic User Lifecycle Management plugin for Moodle. It allows administrators to model distinct user lifecycles with user-defined workflows. Accounts are routed through these multi-step workflows comprising composable filter criteria and flexible user actions. While a variety of filters and actions come out-of-the-box, both can easily be extended by institution-specific requirements using the lightweight sub-plugin architecture. GDPR-compliant deletion, a dry-run mode, an audit log, and dynamic variables in email templates complete the plugin's feature set.
Besides showcasing the Moodle plugin itself, we also depict and discuss different user lifecycle scenarios, ranging from straightforward university Moodles with a unified SSO-based authentication to more complex platforms with multiple authentication methods and account types.},
keywords = {Moodle LMS,Moodle plugins,GDPR,user life cycle,automation,user management,user deletion},
}
The Quiz Archiver Moodle plugin was released back in 2023 and has since emerged as one of the most complete solutions for archiving Moodle quiz attempts. In 2025 we then started work on a comprehensive archiving subsystem for Moodle that will fully integrate the quiz archiver while being largely
The Quiz Archiver Moodle plugin was released back in 2023 and has since emerged as one of the most complete solutions for archiving Moodle quiz attempts. In 2025 we then started work on a comprehensive archiving subsystem for Moodle that will fully integrate the quiz archiver while being largely extendable. This allows archiving of other activities, e.g., assignments, and automatically transferring archived data to external storage and campus management systems.
In this talk we present the current state of the Moodle archiving landscape and showcase the various features of the Quiz Archiver during a live demo. We discuss our current development roadmap and give a preview of upcoming features as well as the integration of the Quiz Archiver into the broader Archiving Subsystem. This is followed by an open Q&A session.
@Misc{Gandrass2026QuizArchiver,
author = {Niels Gandra{\ss} and Björn Dittmann},
howpublished = {Online Talk},
month = mar,
title = {{Moodle Quiz Archiver: Plugin Showcase and Development Status Report}},
year = {2026},
abstract = {The Quiz Archiver Moodle plugin was released back in 2023 and has since emerged as one of the most complete solutions for archiving Moodle quiz attempts. In 2025 we then started work on a comprehensive archiving subsystem for Moodle that will fully integrate the quiz archiver while being largely extendable. This allows archiving of other activities, e.g., assignments, and automatically transferring archived data to external storage and campus management systems.
In this talk we present the current state of the Moodle archiving landscape and showcase the various features of the Quiz Archiver during a live demo. We discuss our current development roadmap and give a preview of upcoming features as well as the integration of the Quiz Archiver into the broader Archiving Subsystem. This is followed by an open Q&A session.},
keywords = {data archiving,digital exams,e-assessment,education,Moodle LMS,Moodle plugins},
}
The deletion of inactive user accounts is not only a legal requirement under GDPR but also a technical and organizational necessity. Beyond compliance, removing obsolete user data offers various significant practical benefits.In this talk we present the Automatic User Deletion Moodle plugin,
The deletion of inactive user accounts is not only a legal requirement under GDPR but also a technical and organizational necessity. Beyond compliance, removing obsolete user data offers various significant practical benefits.
In this talk we present the Automatic User Deletion Moodle plugin, which implements the identification and removal of inactive user accounts while ensuring GDPR-compliant deletion. The plugin supports flexible user selection criteria, including last access time, authentication method, role assignments, and account suspension status. Users can receive warning emails before deletion, and administrators can test configurations using a dry-run mode. We showcase different user lifecycle scenarios, from straightforward university Moodles with a unified SSO-based authentication to more complex platforms with multiple authentication methods and account types. Looking ahead, an upcoming major update of the plugin will introduce a flexible workflow-based architecture with extensible sub-plugins for filters and actions. This allows institutions to define custom multi-stage workflows tailored to their specific requirements, including support for external system integration and institution-specific checks.
@Misc{Gandrass2026UserLifeCycle,
author = {Niels Gandra{\ss}},
howpublished = {Talk at the Moodle University Conference 2026},
month = mar,
title = {{User Lifecycle Management — Automatic User Deletion for Moodle}},
year = {2026},
abstract = {The deletion of inactive user accounts is not only a legal requirement under GDPR but also a technical and organizational necessity. Beyond compliance, removing obsolete user data offers various significant practical benefits.
In this talk we present the Automatic User Deletion Moodle plugin, which implements the identification and removal of inactive user accounts while ensuring GDPR-compliant deletion. The plugin supports flexible user selection criteria, including last access time, authentication method, role assignments, and account suspension status. Users can receive warning emails before deletion, and administrators can test configurations using a dry-run mode. We showcase different user lifecycle scenarios, from straightforward university Moodles with a unified SSO-based authentication to more complex platforms with multiple authentication methods and account types. Looking ahead, an upcoming major update of the plugin will introduce a flexible workflow-based architecture with extensible sub-plugins for filters and actions. This allows institutions to define custom multi-stage workflows tailored to their specific requirements, including support for external system integration and institution-specific checks.},
keywords = {Moodle LMS,Moodle plugins,GDPR,user life cycle,automation,user management,user deletion},
}
Managing multiple Moodle platforms across development, staging, and production environments in a flexible yet reliable way presents various operational challenges. Traditional manual deployment approaches demand substantial administrative effort and tend to be more prone to errors.In this talk
Managing multiple Moodle platforms across development, staging, and production environments in a flexible yet reliable way presents various operational challenges. Traditional manual deployment approaches demand substantial administrative effort and tend to be more prone to errors.
In this talk we discuss how we transformed our Moodle deployments from a classic manual approach to a fully containerized application stack step by step. We showcase a comprehensive container architecture that reaches from Moodle itself to specific worker services, such as GoeMaxima for the STACK question type. Software and plugin versions are pinned within environment-specific configuration files that are versioned within a Git repository and ultimately feed into an automated GitLab CI build pipeline that produces deployment-ready containers. Our implementation demonstrates how containerization and automation dramatically reduce maintenance burden, minimize deployment errors, and enable agile Moodle platform management with upgrade downtimes of less than 60 seconds.
@Misc{Gandrass2026MoodleDocker,
author = {Niels Gandra{\ss}},
howpublished = {Talk at the Moodle University Conference 2026},
month = mar,
title = {{Agile Moodle Updates with Docker and GitLab CI}},
year = {2026},
abstract = {Managing multiple Moodle platforms across development, staging, and production environments in a flexible yet reliable way presents various operational challenges. Traditional manual deployment approaches demand substantial administrative effort and tend to be more prone to errors.
In this talk we discuss how we transformed our Moodle deployments from a classic manual approach to a fully containerized application stack step by step. We showcase a comprehensive container architecture that reaches from Moodle itself to specific worker services, such as GoeMaxima for the STACK question type. Software and plugin versions are pinned within environment-specific configuration files that are versioned within a Git repository and ultimately feed into an automated GitLab CI build pipeline that produces deployment-ready containers. Our implementation demonstrates how containerization and automation dramatically reduce maintenance burden, minimize deployment errors, and enable agile Moodle platform management with upgrade downtimes of less than 60 seconds.},
keywords = {Moodle LMS,Docker,GitLab,automation,continuous integration,release management},
}
In diesem leichtgewichtigen Kurzworkshop wird auf die verschiedenen Aspekte sicherer Passwörter und die Nutzung von Passwort-Managern eingegangen. Im Fokus steht die Arbeitserleichterung durch die Nutzung des Passwort-Managers KeePassXC bei gleichzeitiger Verbesserung der IT-Sicherheit im Umgang
In diesem leichtgewichtigen Kurzworkshop wird auf die verschiedenen Aspekte sicherer Passwörter und die Nutzung von Passwort-Managern eingegangen. Im Fokus steht die Arbeitserleichterung durch die Nutzung des Passwort-Managers KeePassXC bei gleichzeitiger Verbesserung der IT-Sicherheit im Umgang mit Passwörtern. In diesem Zusammenhang werden die unterschiedlichen Möglichkeiten zur Multi-Faktor-Authentisierung diskutiert und Empfehlungen für unterschiedliche Anwendungsfälle ausgesprochen.
Anschließend werden anhand zahlreicher Beispiele generelle Sicherheitstipps bei der Nutzung von Webseiten und verschiedene Möglichkeiten zur Verbesserung der eigenen digitalen Sicherheit im Webbrowser gegeben. Abschließend werden Empfehlungen für das Verhalten bei IT-Sicherheitsvorfällen oder dem generellen Verdacht der Kompromittierung oder eines Datenabflusses dargestellt.
Der Kurzworkshop richtet sich an IT-affine Menschen ohne konkretes IT-Security Vorwissen.
@Misc{2026GandrassPasswordmanagerITSecurity,
author = {Niels Gandra{\ss}},
howpublished = {Presentation at Zentrum für Lehren und Lernen at the Hamburg University of Applied Sciences},
month = jan,
title = {{Kurzworkshop: Passwortmanager und Generelle IT-Security-Tipps}},
url = {https://gandrass.de/assets/publications/2026_Gandrass_Kurzworkshop_Passwortmanager_Genrelle_IT-Security-Tipps/presentation-zll-password-managers.pdf},
urldate = {2026-01-13},
year = {2026},
abstract = {In diesem leichtgewichtigen Kurzworkshop wird auf die verschiedenen Aspekte sicherer Passwörter und die Nutzung von Passwort-Managern eingegangen. Im Fokus steht die Arbeitserleichterung durch die Nutzung des Passwort-Managers KeePassXC bei gleichzeitiger Verbesserung der IT-Sicherheit im Umgang mit Passwörtern. In diesem Zusammenhang werden die unterschiedlichen Möglichkeiten zur Multi-Faktor-Authentisierung diskutiert und Empfehlungen für unterschiedliche Anwendungsfälle ausgesprochen.
Anschließend werden anhand zahlreicher Beispiele generelle Sicherheitstipps bei der Nutzung von Webseiten und verschiedene Möglichkeiten zur Verbesserung der eigenen digitalen Sicherheit im Webbrowser gegeben. Abschließend werden Empfehlungen für das Verhalten bei IT-Sicherheitsvorfällen oder dem generellen Verdacht der Kompromittierung oder eines Datenabflusses dargestellt.
Der Kurzworkshop richtet sich an IT-affine Menschen ohne konkretes IT-Security Vorwissen.},
keywords = {IT security,password security,browser security,multi-factor authentication,password manager},
}
In diesem Beitrag werden digitale Übungsaufgaben und digitale Prüfungen als ein zukunftsorientiertes Lehr-Lernszenario vorgestellt. Die Möglichkeiten digitaler Übungsaufgaben generell und im Speziellen mit STACK (Sangwin, 2013) werden aufgezeigt und diskutiert. Insbesondere werden das Konzept
In diesem Beitrag werden digitale Übungsaufgaben und digitale Prüfungen als ein zukunftsorientiertes Lehr-Lernszenario vorgestellt. Die Möglichkeiten digitaler Übungsaufgaben generell und im Speziellen mit STACK (Sangwin, 2013) werden aufgezeigt und diskutiert. Insbesondere werden das Konzept und die Durchführung einer digitalen semesterbegleitenden Prüfung für die Ingenieur-Mathematik mit drei Komponenten im Sommersemester 2024 vorgestellt. Die Ergebnisse sowie eine Befragung der Studierenden zu dieser Prüfungsform werden dargestellt und analysiert.
@InProceedings{Landenfeld2025DigitaleAufgaben,
author = {Karin Landenfeld and Jonas Priebe and Niels Gandra{\ss}},
booktitle = {{Tagungsband zum 6. Symposium zur Hochschullehre in den MINT-Fächern}},
title = {{Semesterbegleitendes Lernen und Prüfen mit Digitalen Aufgaben in der Mathematik}},
year = {2025},
editor = {Dr. Susanne Kürsten and Marianne Hunger and Jana Bay and Anila Sahitaj},
month = sep,
organization = {Technische Hochschule Nürnberg},
pages = {237-245},
publisher = {BayZiel – Bayerisches Zentrum für Innovative Lehre},
volume = {6},
abstract = {In diesem Beitrag werden digitale Übungsaufgaben und digitale Prüfungen als ein zukunftsorientiertes Lehr-Lernszenario vorgestellt. Die Möglichkeiten digitaler Übungsaufgaben generell und im Speziellen mit STACK (Sangwin, 2013) werden aufgezeigt und diskutiert. Insbesondere werden das Konzept und die Durchführung einer digitalen semesterbegleitenden Prüfung für die Ingenieur-Mathematik mit drei Komponenten im Sommersemester 2024 vorgestellt. Die Ergebnisse sowie eine Befragung der Studierenden zu dieser Prüfungsform werden dargestellt und analysiert.},
issn = {1612-4537},
keywords = {Digitale Aufgaben,Digitale Prüfungen,E-Assessment,Mathematik,Moodle,STACK},
url = {https://bayziel.de/wp-content/uploads/Tagungsband_MINTSymposium_2025.pdf},
}
Moodle is a popular free and open-source learning management system written in PHP. It is widely used by schools and universities across the globe. Like with many web applications, Moodle can easily be installed and get started with, but securing the application itself as well as the web server
Moodle is a popular free and open-source learning management system written in PHP. It is widely used by schools and universities across the globe. Like with many web applications, Moodle can easily be installed and get started with, but securing the application itself as well as the web server can be challenging. Our goal is to raise awareness for typical security problems and provide valuable resources to improve the overall security of Moodle installations.
In this talk we outline the different aspects to consider when securing a productive Moodle instance. For both the application itself and the underlying web server, we highlight easy as well as advanced measures and techniques to secure existing deployments. We provide resources and tutorials for each aspect and point out how to stay informed about current security risks. Lastly, the results of a scan of public Moodle instances within various countries are shown and discussed.
@Misc{Gandrass2025SecuringMoodle,
author = {{Niels Gandra\ss} and {Philipp Kropp} and {Alexander Bias}},
howpublished = {Talk at the MoodleMoot DACH 2025 at TH Lübeck},
month = sep,
title = {{Securing Moodle — A brief introduction to web application security and low-hanging fruits anyone should harvest}},
url = {https://gandrass.de/assets/publications/2025_Gandrass_Kropp_Bias_Securing_Moodle_MoodleMootDACH25.pdf},
urldate = {2025-09-04},
year = {2025},
abstract = {Moodle is a popular free and open-source learning management system written in PHP. It is widely used by schools and universities across the globe. Like with many web applications, Moodle can easily be installed and get started with, but securing the application itself as well as the web server can be challenging. Our goal is to raise awareness for typical security problems and provide valuable resources to improve the overall security of Moodle installations.
In this talk we outline the different aspects to consider when securing a productive Moodle instance. For both the application itself and the underlying web server, we highlight easy as well as advanced measures and techniques to secure existing deployments. We provide resources and tutorials for each aspect and point out how to stay informed about current security risks. Lastly, the results of a scan of public Moodle instances within various countries are shown and discussed.},
keywords = {Linux, Moodle LMS, privacy, security, web applications},
}
During the Moodle university conference in March 2025, we presented our conceptual foundation for a comprehensive archiving subsystem for Moodle. It is based upon a wide-reaching requirements engineering phase with a significant amount of community contribution. The aspired archiving subsystem
During the Moodle university conference in March 2025, we presented our conceptual foundation for a comprehensive archiving subsystem for Moodle. It is based upon a wide-reaching requirements engineering phase with a significant amount of community contribution. The aspired archiving subsystem aims to supersede and extend the functionality of the existing Quiz Archiver Moodle plugin we released back in 2023.
Together with this talk, we release the first public prototype of the new archiving subsystem for Moodle that is paired with an extensive online documentation for users and developers. The plugin brings an easily extendable sub-plugin architecture, allowing it to be adapted for various Moodle activities, storage backends, and campus management systems. We showcase its various components and give a live demo of already existing functionality. This is followed by a comparison to the already existing Quiz Archiver. With this talk, we furthermore open the project for community contributions and start a public Matrix chat group for anyone that wants to follow along. Lastly, our current roadmap is presented.
@Misc{Gandrass2025ArchivingSubsystem,
author = {{Niels Gandra\ss} and {Alexander Bias} and {Mirco Schindler} and {Claudia Ballerstedt}},
howpublished = {Talk at the MoodleMoot DACH 2025 at TH Lübeck},
month = sep,
title = {{Archiving Subsystem for Moodle — Public Prototype Release}},
url = {https://gandrass.de/assets/publications/2025_Gandrass_Bias_Ballerstedt_Schindler_Archiving_Subsystem_for_Moodle_MoodleMoot_DACH_2025.pdf},
urldate = {2025-09-04},
year = {2025},
abstract = {During the Moodle university conference in March 2025, we presented our conceptual foundation for a comprehensive archiving subsystem for Moodle. It is based upon a wide-reaching requirements engineering phase with a significant amount of community contribution. The aspired archiving subsystem aims to supersede and extend the functionality of the existing Quiz Archiver Moodle plugin we released back in 2023.
Together with this talk, we release the first public prototype of the new archiving subsystem for Moodle that is paired with an extensive online documentation for users and developers. The plugin brings an easily extendable sub-plugin architecture, allowing it to be adapted for various Moodle activities, storage backends, and campus management systems. We showcase its various components and give a live demo of already existing functionality. This is followed by a comparison to the already existing Quiz Archiver. With this talk, we furthermore open the project for community contributions and start a public Matrix chat group for anyone that wants to follow along. Lastly, our current roadmap is presented.}
keywords = {data archiving,digital exams,e-assessment,education,Moodle LMS,Moodle plugins},
}
Digital exercises support learning and understanding in addition to the lectures. They provide students with individualised learning opportunities and thus meet the heterogeneous needs of students. A major advantage of digital exercises is the possibility of receiving immediate, detailed and
Digital exercises support learning and understanding in addition to the lectures. They provide students with individualised learning opportunities and thus meet the heterogeneous needs of students. A major advantage of digital exercises is the possibility of receiving immediate, detailed and automated feedback, so that learning is possible at any time and any place. The use of digital exercises implies the use of digital examinations in accordance with constructive alignment.
There are various formats for digital examinations that can be used to suit the desired teaching/learning scenario. At our university, we have trialled various digital face-to-face examination formats as part of the mathematics degree programmes:
@Misc{Landenfeld2025MathsDigitally,
author = {Karin Landenfeld and Jonas Priebe and Niels Gandra{\ss}},
howpublished = {Talk at the 53rd Annual Conference of the European Society For Engineering Education (SEFI) within the 22nd SEFI Special Interest Group in Mathematics Seminar},
month = jun,
title = {{Maths — Practise Digitally — Examine Digitally}},
url = {https://gandrass.de/assets/publications/2025_Landenfeld_Priebe_Gandrass_Maths_Practise_Digitally_Examine_Digitally.pdf},
urldate = {2025-06-27},
year = {2025},
abstract = {Digital exercises support learning and understanding in addition to the lectures. They provide students with individualised learning opportunities and thus meet the heterogeneous needs of students. A major advantage of digital exercises is the possibility of receiving immediate, detailed and automated feedback, so that learning is possible at any time and any place. The use of digital exercises implies the use of digital examinations in accordance with constructive alignment.
There are various formats for digital examinations that can be used to suit the desired teaching/learning scenario. At our university, we have trialled various digital face-to-face examination formats as part of the mathematics degree programmes:
- digital interim tests,
- final examinations at the end of the semester in purely digital or hybrid form combined with handwritten assignments and
- digital portfolio examinations during the semester.
For all examination formats, we use a Moodle learning environment with the STACK task type and the associated graphical input via JSXGraph. The digital examinations are conducted in presence in a secure examination environment in the university's PC pools.
We present the digital portfolio examination that we designed and conducted in the summer semester 2024 in more detail. It is a portfolio examination consisting of three digital examination components, which took place evenly distributed throughout the semester. Each examination component was carried out in presence in our secure examination environment of the PC pools. They consisted of several tasks, all of which were entered digitally using the familiar input options. The tasks tested various knowledge, competences and skills and were assessed automatically, but checked again in a manual post-correction. At the beginning of the semester, students were given the option of taking the portfolio examination or a final examination at the end of the semester.
We discuss the requirements for a digital face-to-face examination as well as the advantages and disadvantages. We also present the evaluation results and student feedback. Out of 24 students, 23 students chose the portfolio examination. All students were very satisfied and would be happy to take a portfolio examination in maths again. The students cite two main advantages of a portfolio examination: 1. the time freed up for other examinations in the examination phase and 2. the necessary learning during the lecture, so that the maths content can already be used productively in other subjects during the semester.},
keywords = {e-assessment,Moodle LMS,e-learning,digital exams,STACK,JSXGraph,portfolio examination},
}
With the Quiz Archiver Moodle plugin, we have already solved the issue of exporting Moodle quiz attempts into archivable PDF files. While this solves many of the current challenges, it still lacks support for other widely used question types, interfaces to external storage solutions (e.g., WORM
With the Quiz Archiver Moodle plugin, we have already solved the issue of exporting Moodle quiz attempts into archivable PDF files. While this solves many of the current challenges, it still lacks support for other widely used question types, interfaces to external storage solutions (e.g., WORM storage), and proper integration into an automated e-assessment lifecycle at universities.
This talk gives insight into our recent work on an archiving ecosystem for the Moodle LMS. We discuss findings of an extensive stakeholder workshop we conducted together with 46 German-speaking universities that resulted in 106 user stories and 31 base requirements for a comprehensive archiving solution. Based on these, a draft for a technical Moodle plugin architecture and future steps are discussed. All requirements and technical details are publicly available within the accompanying specification document.
@Misc{Gandrass2025MAT,
author = {{Niels Gandra\ss} and {Mirco Schindler} and {Claudia Ballerstedt}},
howpublished = {Talk at the Moodle University Conference 2025},
month = mar,
title = {{Moodle Archiving Taskforce — Tackling Activities Beyond Moodle Quizzes and Integrating Campus Management Systems}},
url = {https://gandrass.de/assets/publications/2025_Gandrass_Schindler_Ballerstedt_Moodle_Archiving_Taskforce.pdf},
urldate = {2024-07-02},
year = {2024},
abstract = {With the Quiz Archiver Moodle plugin, we have already solved the issue of exporting Moodle quiz attempts into archivable PDF files. While this solves many of the current challenges, it still lacks support for other widely used question types, interfaces to external storage solutions (e.g., WORM storage), and proper integration into an automated e-assessment lifecycle at universities.
This talk gives insight into our recent work on an archiving ecosystem for the Moodle LMS. We discuss findings of an extensive stakeholder workshop we conducted together with 46 German-speaking universities that resulted in 106 user stories and 31 base requirements for a comprehensive archiving solution. Based on these, a draft for a technical Moodle plugin architecture and future steps are discussed. All requirements and technical details are publicly available within the accompanying specification document.},
keywords = {data archiving,digital exams,e-assessment,education,Moodle LMS,Moodle plugins},
}
Digitale Übungsaufgaben und Digitale Prüfungen gehören gemäß Constructive Alignment zusammen. Digitale Übungsaufgaben sind die wichtigste Komponente der Digitalen Prüfungen. Sie unterstützen das vorlesungsbegleitende Lernen und Verstehen durch verschiedene Aufgabentypen, ein detailliertes
Digitale Übungsaufgaben und Digitale Prüfungen gehören gemäß Constructive Alignment zusammen. Digitale Übungsaufgaben sind die wichtigste Komponente der Digitalen Prüfungen. Sie unterstützen das vorlesungsbegleitende Lernen und Verstehen durch verschiedene Aufgabentypen, ein detailliertes automatisiertes Feedback sowie insbesondere individuelle Lernmöglichkeiten. Mit passenden digitalen Prüfungsformaten kann das Erlernte sehr gut abgeprüft werden. In unserem Beitrag stellen wir verschiedene digitale Präsenz-Prüfungsformate vor, die wir an der HAW Hamburg in den letzten Semestern im Rahmen der Mathematik-Vorlesungen erprobt haben: Digitale Zwischentests, Abschlussprüfung in rein digitaler oder hybrider Form am Ende des Semesters und mehrere digitale Teilprüfungen während des Semesters. Wir verwenden dabei eine Moodle-Lernumgebung mit dem Aufgabentyp STACK und eine abgesicherte Prüfungsumgebung in unseren PC-Pools.
@InProceedings{Landenfeld2024DigitalePraesenzPruefungen,
author = {Karin Landenfeld and Jonas Priebe and Niels Gandra{\ss}},
title = {{Digitale Präsenz-Prüfungen – verschiedene Formate – ein Erfahrungsbericht}},
year = {2024},
address = {Munich, Germany},
month = nov,
pages = {25},
publisher = {e-Prüfungs-Symposium 2024, Technical University of Munich (TUM)},
abstract = {Digitale Übungsaufgaben und Digitale Prüfungen gehören gemäß Constructive Alignment zusammen. Digitale Übungsaufgaben sind die wichtigste Komponente der Digitalen Prüfungen. Sie unterstützen das vorlesungsbegleitende Lernen und Verstehen durch verschiedene Aufgabentypen, ein detailliertes automatisiertes Feedback sowie insbesondere individuelle Lernmöglichkeiten. Mit passenden digitalen Prüfungsformaten kann das Erlernte sehr gut abgeprüft werden. In unserem Beitrag stellen wir verschiedene digitale Präsenz-Prüfungsformate vor, die wir an der HAW Hamburg in den letzten Semestern im Rahmen der Mathematik-Vorlesungen erprobt haben: Digitale Zwischentests, Abschlussprüfung in rein digitaler oder hybrider Form am Ende des Semesters und mehrere digitale Teilprüfungen während des Semesters. Wir verwenden dabei eine Moodle-Lernumgebung mit dem Aufgabentyp STACK und eine abgesicherte Prüfungsumgebung in unseren PC-Pools.},
keywords = {Digitale Präsenzprüfungen,STACK,Moodle,E-Assessment,Abgesicherte Prüfungsumgebung},
url = {https://www.prolehre.tum.de/prolehre/e-pruefungs-symposium-2024/},
}
Quiz Archiver is a modern Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question and content types, including MathJax formulas, STACK plots, file submissions, and common dynamic JavaScript content. Generated
Quiz Archiver is a modern Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question and content types, including MathJax formulas, STACK plots, file submissions, and common dynamic JavaScript content. Generated archives include checksums and can be cryptographically signed using the Time-Stamp Protocol (RFC 3161) to attest their integrity and creation date. The fully asynchronous archive creation process reduces load on the Moodle server and complements the data-minimising and security driven design.
In this talk, we highlight the challenges and requirements that arise when archiving digital exams. We list existing solutions and outline their limitations. We showcase the quiz archiver Moodle plugin, depict its technical details, and talk about current development as well as next steps.
@Misc{Gandrass2024QuizArchiverMUA,
author = {{Niels Gandra\ss}},
howpublished = {Talk at the Moodle Users Association (MUA) Town Hall},
month = jul,
title = {{Moodle Quiz Archiver - A Modern Solution to Exam Archiving}},
url = {https://gandrass.de/assets/publications/2024_Gandrass_Moodle_Quiz_Archiver_-_A_Modern_Solution_to_Exam_Archiving.pdf},
urldate = {2024-07-02},
year = {2024},
abstract = {Quiz Archiver is a modern Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question and content types, including MathJax formulas, STACK plots, file submissions, and common dynamic JavaScript content. Generated archives include checksums and can be cryptographically signed using the Time-Stamp Protocol (RFC 3161) to attest their integrity and creation date. The fully asynchronous archive creation process reduces load on the Moodle server and complements the data-minimising and security-driven design.
In this talk, we highlight the challenges and requirements that arise when archiving digital exams. We list existing solutions and outline their limitations. We showcase the quiz archiver Moodle plugin, depict its technical details, and talk about current development as well as next steps.},
keywords = {data archiving,digital exams,e-assessment,education,Moodle LMS,Moodle plugins,software testing},
}
Quiz Archiver is a novel Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question- and content-types, including MathJax formulas, STACK plots, and other dynamic JavaScript content. Generated archives include
Quiz Archiver is a novel Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question- and content-types, including MathJax formulas, STACK plots, and other dynamic JavaScript content. Generated archives include checksums and can be cryptographically signed using the Time-Stamp Protocol (RFC 3161) to attest their integrity and creation date. The fully asynchronous archive creation process reduces load on the Moodle server and complements the data-minimising and security driven design.
In this talk, we highlight the challenges and requirements that arise when archiving digital exams. We list existing solutions and outline their limitations. We showcase the novel quiz archiver Moodle plugin, depict its technical details, and talk about current development as well as next steps.
@Misc{Gandrass2024QuizArchiver,
author = {{Niels Gandra\ss}},
howpublished = {Talk at the Moodle University Conference hosted by Moodle an Hochschulen e.V., 12. March 2024, Leipzig University},
month = mar,
title = {{Moodle Quiz Archiver - Future Proof Archiving of Exam Results}},
url = {https://gandrass.de/assets/publications/2024_Gandrass_Moodle_Quiz_Archiver_-_Future_Proof_Archiving_of_Exam_Results.pdf},
urldate = {2024-03.12},
year = {2024},
abstract = {Quiz Archiver is a novel Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question- and content-types, including MathJax formulas, STACK plots, and other dynamic JavaScript content. Generated archives include checksums and can be cryptographically signed using the Time-Stamp Protocol (RFC 3161) to attest their integrity and creation date. The fully asynchronous archive creation process reduces load on the Moodle server and complements the data-minimising and security driven design.
In this talk, we highlight the challenges and requirements that arise when archiving digital exams. We list existing solutions and outline their limitations. We showcase the novel quiz archiver Moodle plugin, depict its technical details, and talk about current development as well as next steps.},
keywords = {data archiving, digital exams, e-assessment, education, Moodle LMS, Moodle plugins, software testing},
}
Quiz Archiver is a novel Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question- and content-types, including MathJax formulas, STACK plots, and other dynamic JavaScript content. Generated archives include
Quiz Archiver is a novel Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question- and content-types, including MathJax formulas, STACK plots, and other dynamic JavaScript content. Generated archives include checksums and can be cryptographically signed using the Time-Stamp Protocol (RFC 3161) to attest their integrity and creation date. The fully asynchronous archive creation process reduces load on the Moodle server and complements the data-minimising and security driven design.
In this talk, we give a quick introduction to the quiz archiver plugin and discuss significant changes and new features between beta version v0.6.3 and the latest stable release v1.2.3. We highlight the added automated software tests and list known issues. Lastly, we sketch out a roadmap to initiate an open discussion about the future development of the plugin.
@Misc{Gandrass2024QuizArchiverUpdate,
author = {Niels Gandra{\ss}},
howpublished = {{online}},
month = feb,
title = {{Moodle Quiz Archiver - The road from v0.6.3 (BETA) to v1.2.3}},
url = {https://gandrass.de/assets/publications/2024_Gandrass_Moodle_Quiz_Archiver_-_The_road_from_v063_BETA_to_v123.pdf},
urldate = {2024-02-05},
year = {2024},
abstract = {Quiz Archiver is a novel Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question- and content-types, including MathJax formulas, STACK plots, and other dynamic JavaScript content. Generated archives include checksums and can be cryptographically signed using the Time-Stamp Protocol (RFC 3161) to attest their integrity and creation date. The fully asynchronous archive creation process reduces load on the Moodle server and complements the data-minimising and security driven design.
In this talk, we give a quick introduction to the quiz archiver plugin and discuss significant changes and new features between beta version v0.6.3 and the latest stable release v1.2.3. We highlight the added automated software tests and list known issues. Lastly, we sketch out a roadmap to initiate an open discussion about the future development of the plugin.},
keywords = {data archiving, digital exams, e-assessment, education, Moodle LMS, Moodle plugins, software testing},
}
Quiz Archiver is a novel Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question- and content-types, including MathJax formulas, STACK plots, and other dynamic JavaScript content. Generated archives include
Quiz Archiver is a novel Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question- and content-types, including MathJax formulas, STACK plots, and other dynamic JavaScript content. Generated archives include checksums and can be cryptographically signed using the Time-Stamp Protocol (RFC 3161) to attest their integrity and creation date. The fully asynchronous archive creation process reduces load on the Moodle server and complements the data-minimising and security driven design.
This talk gives a short introduction to the plugin, as well as its features and architecture. Examples and a live demonstration shall prelude an open discussion about the further development of this and other archiving solutions for Moodle quizzes.
@Misc{Gandrass2023QuizArchiver,
author = {Niels Gandra{\ss}},
howpublished = {{online}},
month = nov,
title = {{Moodle Quiz Archiver - A Quick Glance}},
url = {https://gandrass.de/assets/publications/2023_Gandrass_Moodle_Quiz_Archiver_-_A_Quick_Glance_Slides.pdf},
urldate = {2023-11-16},
year = {2023},
abstract = {Quiz Archiver is a novel Moodle plugin that archives quiz attempts as PDF and HTML files for long-term storage independent of Moodle. It supports complex question- and content-types, including MathJax formulas, STACK plots, and other dynamic JavaScript content. Generated archives include checksums and can be cryptographically signed using the Time-Stamp Protocol (RFC 3161) to attest their integrity and creation date. The fully asynchronous archive creation process reduces load on the Moodle server and complements the data-minimising and security driven design.
This talk gives a short introduction to the plugin, as well as its features and architecture. Examples and a live demonstration shall prelude an open discussion about the further development of this and other archiving solutions for Moodle quizzes.},
keywords = {data archiving, digital exams, e-assessment, education, Moodle LMS, Moodle plugins},
}
Digitale Prüfungen ermöglichen innovative Prüfungsformen, bieten einen großen Gestaltungsfreiraum und können die Qualität einer Lehrveranstaltung maßgeblich steigern. Die Nachfrage nach solchen wächst momentan sowohl unter Lehrenden als auch unter Studierenden. Der Ausbau digitaler
Digitale Prüfungen ermöglichen innovative Prüfungsformen, bieten einen großen Gestaltungsfreiraum und können die Qualität einer Lehrveranstaltung maßgeblich steigern. Die Nachfrage nach solchen wächst momentan sowohl unter Lehrenden als auch unter Studierenden. Der Ausbau digitaler Prüfungskapazitäten ist jedoch meist mit der Anschaffung neuer Hardware, der Anmietung weiterer Räumlichkeiten sowie hohem Personalaufwand verbunden. Aktuelle Prüfungskonzepte sehen oftmals separate Prüfungspools oder externe Testzentren vor. Die Nutzung bereits an den Hochschulen vorhandener PC-Poolräume stellt eine kosteneffiziente Alternative hierzu dar. Prüfungen können so direkt am Campus der Hochschule durchgeführt werden, was Studierende sowie Lehrende entlastet. Ergänzt durch eine hochschulzentrale Bereitstellung und Wartung von Prüfungssoftware, kann darüber hinaus die administrative Arbeitslast verringert werden.
An der HAW Hamburg wird seit mehreren Jahren im Rahmen der hochschulübergreifenden Initiative “MINTFIT E-Assessment” der Einsatz digitaler Aufgaben sowie die Durchführung digitaler Prüfungen erforscht und erprobt. Wir stellen unser Konzept zur Nutzung vorhandener PC-Poolräume für digitale Präsenzprüfungen vor und berichten vom Einsatz an unserer Hochschule. Dieser Beitrag diskutiert folgende Eckpunkte unseres Prüfungskonzepts:
@InProceedings{Gandrass2022ZentraleAbsicherungvon,
author = {Niels Gandra{\ss} and Felix Koch and Karin Landenfeld and Emira Zorgati},
booktitle = {e-Prüfungs-Symposium (ePS) 2022: Digitales Lehren, Lernen und Prüfen bei der Rückkehr zur Präsenzlehre},
title = {{Zentrale Absicherung von Prüfungsszenarien in verteilten PC-Poolräumen — Konzept und Verwendung}},
year = {2022},
address = {Technische Universität Hamburg, Germany},
month = nov,
abstract = {Digitale Prüfungen ermöglichen innovative Prüfungsformen, bieten einen großen Gestaltungsfreiraum und können die Qualität einer Lehrveranstaltung maßgeblich steigern. Die Nachfrage nach solchen wächst momentan sowohl unter Lehrenden als auch unter Studierenden. Der Ausbau digitaler Prüfungskapazitäten ist jedoch meist mit der Anschaffung neuer Hardware, der Anmietung weiterer Räumlichkeiten sowie hohem Personalaufwand verbunden. Aktuelle Prüfungskonzepte sehen oftmals separate Prüfungspools oder externe Testzentren vor. Die Nutzung bereits an den Hochschulen vorhandener PC-Poolräume stellt eine kosteneffiziente Alternative hierzu dar. Prüfungen können so direkt am Campus der Hochschule durchgeführt werden, was Studierende sowie Lehrende entlastet. Ergänzt durch eine hochschulzentrale Bereitstellung und Wartung von Prüfungssoftware, kann darüber hinaus die administrative Arbeitslast verringert werden.
An der HAW Hamburg wird seit mehreren Jahren im Rahmen der hochschulübergreifenden Initiative “MINTFIT E-Assessment” der Einsatz digitaler Aufgaben sowie die Durchführung digitaler Prüfungen erforscht und erprobt. Wir stellen unser Konzept zur Nutzung vorhandener PC-Poolräume für digitale Präsenzprüfungen vor und berichten vom Einsatz an unserer Hochschule. Dieser Beitrag diskutiert folgende Eckpunkte unseres Prüfungskonzepts:
1. Abgesicherte Prüfungsumgebung Examuntu und die dedizierte E-Assessment Prüfungsplattform, basierend auf einem Moodle LMS. 2. Zentrale Bereitstellung von Examuntu und der Prüfungsplattform. 3. Einsatz des Gesamtsystems für digitale Präsenzprüfungen in vorhandenen und stark heterogenen PC-Poolräumen der gesamten Hochschule.
Wir diskutieren die Anforderungen an digitale Prüfungen im Allgemeinen sowie an digitale Präsenzprüfungen im Besonderen. Wir stellen die entwickelte abgesicherte Prüfungsumgebung Examuntu vor und grenzen diese von dem an vielen Hochschulen eingesetzten Safe Exam Browser ab. Wir geben Einblick in die zentrale Bereitstellung unserer Prüfungssysteme und deren fakultätsübergreifende Nutzung in verteilten PC-Poolräumen mit bis zu 480 Plätzen. Beispiele automatisiert ausgewerteter MINT-Prüfungen und deren Durchführung illustrieren abschließend die vorgestellten Konzepte.},
keywords = {Digitale Prüfungen, E-Assessment, Moodle LMS, Prüfungsumgebung, Softwareverteilung},
url = {https://www.mat.tuhh.de/veranstaltungen/eps2022/Book_of_abstracts_final.pdf},
}
Timers are part of every microcontroller and influence numerous aspects of embedded applications. As the heterogeneous spectrum of timer peripherals continues to grow, embedded OSs increasingly struggle to expose novel timers and advanced features via their time-honoured APIs. The need for
Timers are part of every microcontroller and influence numerous aspects of embedded applications. As the heterogeneous spectrum of timer peripherals continues to grow, embedded OSs increasingly struggle to expose novel timers and advanced features via their time-honoured APIs. The need for comprehensive and future-proof hardware abstraction therefore arises.
This work provides detailed insight into modern timer peripherals. We conduct a survey of timer hardware across 43 device families from eight manufacturers, characterize typical timeouts within IoT applications, examine timer APIs of popular embedded OSs, identify deficiencies of current solutions, and discuss different approaches to hardware abstraction. This forms a solid base, on which a two-layered low-level timer API design is proposed and implemented for the RIOT OS. Its uniform interface allows transparently interchangeable use of all hardware timers. Generic and peripheral-specific features are exposed, yet application portability is preserved. On average, available timers and channels are tripled, and previously unexposed advanced timer types such as ultra-low power timers become usable. Current interfaces are streamlined to form a single API, fostering uniformity and maintainability of timer code throughout the whole RIOT ecosystem.
We develop platform-independent timer unit tests and benchmark suites that are executed using a HiL testbed with CI support. The performance of our novel uTimer API is assessed on 14 MCUs. It only adds between six and 21 CPU cycles of abstraction overhead compared to existing solutions. This corresponds to timeout errors of less than 0.05 % while numerous modern timer features are made available to user applications and high-level OS modules. For high-performance use, deliberate renunciation of timer-type transparency eliminates any performance differences between APIs at the cost of narrowing application portability. Automated execution of the contributed unit tests and benchmarks on nightly builds and pull requests moreover facilitates the development of sustainable implementations and permits their sound evaluation.
@Misc{Gandrass2022UniformTimerAPI,
author = {Niels Gandra{\ss}},
month = feb,
title = {{A Uniform API for Cross-Platform Timer Hardware Abstraction on Resource Constrained IoT Devices}},
year = {2022},
abstract = {Timers are part of every microcontroller and influence numerous aspects of embedded applications. As the heterogeneous spectrum of timer peripherals continues to grow, embedded OSs increasingly struggle to expose novel timers and advanced features via their time-honoured APIs. The need for comprehensive and future-proof hardware abstraction therefore arises.
This work provides detailed insight into modern timer peripherals. We conduct a survey of timer hardware across 43 device families from eight manufacturers, characterize typical timeouts within IoT applications, examine timer APIs of popular embedded OSs, identify deficiencies of current solutions, and discuss different approaches to hardware abstraction. This forms a solid base, on which a two-layered low-level timer API design is proposed and implemented for the RIOT OS. Its uniform interface allows transparently interchangeable use of all hardware timers. Generic and peripheral-specific features are exposed, yet application portability is preserved. On average, available timers and channels are tripled, and previously unexposed advanced timer types such as ultra-low power timers become usable. Current interfaces are streamlined to form a single API, fostering uniformity and maintainability of timer code throughout the whole RIOT ecosystem.
We develop platform-independent timer unit tests and benchmark suites that are executed using a HiL testbed with CI support. The performance of our novel uTimer API is assessed on 14 MCUs. It only adds between six and 21 CPU cycles of abstraction overhead compared to existing solutions. This corresponds to timeout errors of less than 0.05 % while numerous modern timer features are made available to user applications and high-level OS modules. For high-performance use, deliberate renunciation of timer-type transparency eliminates any performance differences between APIs at the cost of narrowing application portability. Automated execution of the contributed unit tests and benchmarks on nightly builds and pull requests moreover facilitates the development of sustainable implementations and permits their sound evaluation.},
keywords = {embedded systems, hardware abstraction, hardware timers, operating systems, resource constrained devices, software design},
}
Microcontrollers offer a large range of hardware timers. As peripherals grow in diversity, the complexity of supporting them increases for embedded operating systems. Well-established software interfaces struggle with covering the full feature set of novel timers. This raises the need for a
Microcontrollers offer a large range of hardware timers. As peripherals grow in diversity, the complexity of supporting them increases for embedded operating systems. Well-established software interfaces struggle with covering the full feature set of novel timers. This raises the need for a flexible hardware abstraction of timer peripherals.
In this paper, we first contribute an analysis of timer hardware that covers 43 device families from eight manufacturers and a survey of existing driver modules. We then derive uTimer, a uniform low-level timer API for the RIOT operating system. Its interface is independent of the timer type and allows for transparent use of all available peripherals. This fosters application portability across MCUs. We develop an automated benchmark suite that quantifies the abstraction overhead and compare the API performance to current solutions. Results show that uTimer introduces only six additional CPU cycles and preserves the timer performance.
@InProceedings{Gandrass2021uTimer,
author = {Niels Gandra{\ss} and Michel Rottleuthner and Thomas C. Schmidt},
booktitle = {2021 IEEE International Conferences on Internet of Things (iThings) and IEEE Green Computing Communications (GreenCom) and IEEE Cyber, Physical Social Computing (CPSCom) and IEEE Smart Data (SmartData) and IEEE Congress on Cybermatics (Cybermatics)},
title = {{uTimer: A Uniform Low-level Timer API for RIOT OS}},
year = {2021},
month = dec,
pages = {1--8},
publisher = {Institute of Electrical and Electronics Engineers (IEEE)},
abstract = {Microcontrollers offer a large range of hardware timers. As peripherals grow in diversity, the complexity of supporting them increases for embedded operating systems. Well-established software interfaces struggle with covering the full feature set of novel timers. This raises the need for a flexible hardware abstraction of timer peripherals.
In this paper, we first contribute an analysis of timer hardware that covers 43 device families from eight manufacturers and a survey of existing driver modules. We then derive uTimer, a uniform low-level timer API for the RIOT operating system. Its interface is independent of the timer type and allows for transparent use of all available peripherals. This fosters application portability across MCUs. We develop an automated benchmark suite that quantifies the abstraction overhead and compare the API performance to current solutions. Results show that uTimer introduces only six additional CPU cycles and preserves the timer performance.},
doi = {10.1109/iThings-GreenCom-CPSCom-SmartData-Cybermatics53846.2021.00016},
isbn = {978-1-6654-1762-4},
keywords = {embedded systems, hardware abstraction, hardware timers, operating systems, resource constrained devices},
url = {https://doi.org/10.1109/iThings-GreenCom-CPSCom-SmartData-Cybermatics53846.2021.00016},
}
We report on our ongoing development of an optimized low-level timer-API for the RIOT operating system. Starting with a survey of hardware timer peripherals from 43 MCU-families and 8 manufacturers, we identify common properties and differences of all available timer types. Based on this
We report on our ongoing development of an optimized low-level timer-API for the RIOT operating system. Starting with a survey of hardware timer peripherals from 43 MCU-families and 8 manufacturers, we identify common properties and differences of all available timer types. Based on this hardware analysis, we propose a lightweight yet powerful low-level timer-API design. It streamlines existing timer interfaces and relieves application developers from the error-prone task of repeatedly writing additional peripheral driver code.
@InProceedings{Gandrass2021TimerHardwareAnalysis,
author = {Niels Gandra{\ss} and Michel Rottleuthner and Thomas C. Schmidt},
booktitle = {Proceedings of the 2021 International Conference on Embedded Software},
title = {{Large-scale Timer Hardware Analysis for a Flexible Low-level Timer-API Design: Work-in-Progress}},
year = {2021},
address = {New York, NY, USA},
month = sep,
pages = {35--36},
publisher = {Association for Computing Machinery},
series = {EMSOFT '21},
abstract = {We report on our ongoing development of an optimized low-level timer-API for the RIOT operating system. Starting with a survey of hardware timer peripherals from 43 MCU-families and 8 manufacturers, we identify common properties and differences of all available timer types. Based on this hardware analysis, we propose a lightweight yet powerful low-level timer-API design. It streamlines existing timer interfaces and relieves application developers from the error-prone task of repeatedly writing additional peripheral driver code.},
day = {30},
doi = {10.1145/3477244.3477617},
isbn = {9781450387125},
keywords = {embedded systems, hardware abstraction, operating systems},
location = {Virtual Event},
pagetotal = {2},
url = {https://doi.org/10.1145/3477244.3477617},
}
As electronic assessments emerged into the academic landscape, specialized software solutions were developed along with them. Nowadays, many e-assessment systems that provide secure environments for digital examinations are available. However, they often lack portability or possess a complex
As electronic assessments emerged into the academic landscape, specialized software solutions were developed along with them. Nowadays, many e-assessment systems that provide secure environments for digital examinations are available. However, they often lack portability or possess a complex software architecture that is laborious to maintain. In order to address these issues, we developed the Examuntu operating system. It provides a robust and secure e-assessment environment, being both lightweight and easily deployable in a wide range of computer pools, while allowing a flexible adaptation to multiple types of e-assessments and their respective software application requirements.
With this paper, our contribution is twofold. First, we present the design of our novel e-assessment environment for computer pools. This includes the basic system architecture as well as individual aspects, such as web traffic filtering, browser security, and configuration management. Second, we report on our use of Examuntu in conjunction with a Moodle LMS during math lectures. Our setup features various question types and an optimized computer algebra system, allowing to parameterize exercises and generate differentiated feedback. We confirm that applied security measures did not negatively impact students by comparing their performance within digital to pen-and-paper examinations. Qualitative evaluations of three different e-assessment types show how students, assessment developers, and exam supervisors benefit from proposed Examuntu environment.
@InProceedings{Gandrass2021Examuntu,
author = {Niels Gandra{\ss} and Karin Landenfeld and Jonas Priebe},
booktitle = {{SEFI2021 49th Annual Conference Proceedings - Blended Learning in Engineering Education: challenging, enlightening – and lasting?}},
title = {{Examuntu: A Secure and Portable Linux-Distributionfor Summative E-Assessments at Universities}},
year = {2021},
address = {Technische Universität Berlin, Germany},
editor = {Hans-Ulrich Hei{\ss} and Hannu-Matti J{\"a}rvinen and Annette Mayer and Alexandra Schulz},
month = nov,
pages = {836--843},
publisher = {European Society for Engineering Education},
abstract = {As electronic assessments emerged into the academic landscape, specialized software solutions were developed along with them. Nowadays, many e-assessment systems that provide secure environments for digital examinations are available. However, they often lack portability or possess a complex software architecture that is laborious to maintain. In order to address these issues, we developed the Examuntu operating system. It provides a robust and secure e-assessment environment, being both lightweight and easily deployable in a wide range of computer pools, while allowing a flexible adaptation to multiple types of e-assessments and their respective software application requirements.
With this paper, our contribution is twofold. First, we present the design of our novel e-assessment environment for computer pools. This includes the basic system architecture as well as individual aspects, such as web traffic filtering, browser security, and configuration management. Second, we report on our use of Examuntu in conjunction with a Moodle LMS during math lectures. Our setup features various question types and an optimized computer algebra system, allowing to parameterize exercises and generate differentiated feedback. We confirm that applied security measures did not negatively impact students by comparing their performance within digital to pen-and-paper examinations. Qualitative evaluations of three different e-assessment types show how students, assessment developers, and exam supervisors benefit from proposed Examuntu environment.},
isbn = {978-2-87352-023-6},
keywords = {e-assessment, e-assessment security, Moodle LMS, question parameterization, web filtering},
url = {https://www.sefi.be/proceedings/},
}
Kaum ein Studiengang lässt sich heutzutage noch vollständig ohne digitale Komponenten denken. Insbesondere die Ausrichtung der Studieninhalte auf eine zunehmend digitale Arbeitswelt ist primärer Bestandteil aktueller Strategien zur Curriculumsentwicklung an Hochschulen. Dieses bedingt, dass
Kaum ein Studiengang lässt sich heutzutage noch vollständig ohne digitale Komponenten denken. Insbesondere die Ausrichtung der Studieninhalte auf eine zunehmend digitale Arbeitswelt ist primärer Bestandteil aktueller Strategien zur Curriculumsentwicklung an Hochschulen. Dieses bedingt, dass sowohl die Lehre und das Lernen als auch das Prüfen digital ausgerichtet werden müssen. Nur so können die neu zu erwerbenden Kompetenzen auch in geeigneter Form gelehrt und geprüft werden.
In diesem Beitrag stellen wir unsere Erfahrungen mit vorlesungsbegleitenden digitalen Übungsaufgaben zum individuellen Selbststudium vor und erläutern zwei verschiedene Szenarien zur Durchführung digitaler Prüfungen mit unterschiedlichen Randbedingungen.
@InProceedings{Landenfeld2021DAP,
author = {Karin Landenfeld and Jonas Priebe and Niels Gandra{\ss}},
booktitle = {Tagungsband Virtueller ASIM Workshop 2021 Simulation Technischer Systeme / Grundlagen und Methoden in Modellbildung und Simulation / Edukation und Simulation},
title = {{Digitale Aufgaben und Prüfungen in Mathematik – ein Erfahrungsbericht}},
year = {2021},
month = mar,
pages = {185--186},
publisher = {ARGESIM Publisher, Vienna},
series = {{ARGESIM} Report},
volume = {45},
abstract = {Kaum ein Studiengang lässt sich heutzutage noch vollständig ohne digitale Komponenten denken. Insbesondere die Ausrichtung der Studieninhalte auf eine zunehmend digitale Arbeitswelt ist primärer Bestandteil aktueller Strategien zur Curriculumsentwicklung an Hochschulen. Dieses bedingt, dass sowohl die Lehre und das Lernen als auch das Prüfen digital ausgerichtet werden müssen. Nur so können die neu zu erwerbenden Kompetenzen auch in geeigneter Form gelehrt und geprüft werden.
In diesem Beitrag stellen wir unsere Erfahrungen mit vorlesungsbegleitenden digitalen Übungsaufgaben zum individuellen Selbststudium vor und erläutern zwei verschiedene Szenarien zur Durchführung digitaler Prüfungen mit unterschiedlichen Randbedingungen.},
doi = {10.11128/arep.45},
isbn = {978-3-901608-69-8},
keywords = {automated grading, blended learning, education, electronic assessments, online assessments},
url = {https://www.cea-wismar.de/asim2021/tagungsband/},
}
Existing online programming platforms provide many opportunities for individuals to develop and improve their programming skills. Using descriptive assignments that address different skill levels these platforms target both beginners and experienced programmers. We used one such platform
Existing online programming platforms provide many opportunities for individuals to develop and improve their programming skills. Using descriptive assignments that address different skill levels these platforms target both beginners and experienced programmers. We used one such platform featuring advanced exercises in a project course during the fifth semester of our bachelor degrees in computer science and were surprised by its success and the high motivation of the participants. Nonetheless, we also observed deficits of the platform with regard to software engineering aspects. In this paper we identify requirements for an online programming platform that complements software engineering education and match existing platforms against these proposed requirements.
@InProceedings{Gandrass2020OPPSEE,
author = {Niels Gandra{\ss} and Torge Hinrichs and Axel Schmolitzky},
booktitle = {Tagungsband des 17. Workshops "Software Engineering im Unterricht der Hochschulen" 2020, Innsbruck, {\"{O}}sterreich, 26. - 27.02.2020},
title = {{Towards an Online Programming Platform Complementing Software Engineering Education}},
year = {2020},
editor = {Stephan Krusche and Stefan Wagner},
month = feb,
pages = {27--35},
publisher = {CEUR-WS.org},
series = {{CEUR} Workshop Proceedings},
volume = {2531},
abstract = {Existing online programming platforms provide many opportunities for individuals to develop and improve their programming skills. Using descriptive assignments that address different skill levels these platforms target both beginners and experienced programmers. We used one such platform featuring advanced exercises in a project course during the fifth semester of our bachelor degrees in computer science and were surprised by its success and the high motivation of the participants. Nonetheless, we also observed deficits of the platform with regard to software engineering aspects. In this paper we identify requirements for an online programming platform that complements software engineering education and match existing platforms against these proposed requirements.},
keywords = {education, online assessment, online programming platform, programming, software engineering education, team programming},
url = {http://ceur-ws.org/Vol-2531/},
}
Die Programmiersprache Java wird an zahlreichen Hochschulen gelehrt, um Studierende mit grundlegenden Programmierkonzepten vertraut zu machen. Zur Integration von Online-Java-Programmieraufgaben in ein Moodle LMS wurde ein Fragetyp entwickelt, welcher die parallele Ausführung sowie die
Die Programmiersprache Java wird an zahlreichen Hochschulen gelehrt, um Studierende mit grundlegenden Programmierkonzepten vertraut zu machen. Zur Integration von Online-Java-Programmieraufgaben in ein Moodle LMS wurde ein Fragetyp entwickelt, welcher die parallele Ausführung sowie die automatisierte Bewertung von Quellcode auf Basis von JUnit-Tests ermöglicht. Studierende erhalten hierbei ein sofortiges und individuelles Feedback, welches dynamisch schon während der Bearbeitung einer Aufgabe erzeugt wird. In diesem Beitrag werden sowohl die technischen Details des entwickelten Fragetyps als auch erste Erfahrungen mit seinem Einsatz in der Programmierlehre an der Hochschule für Angewandte Wissenschaften Hamburg thematisiert.
@InProceedings{Gandrass2019ABPJava,
author = {Niels Gandra{\ss} and Axel Schmolitzky},
booktitle = {Proceedings of the Fourth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2019), Essen, Germany, October 8-9, 2019.},
title = {{Automatisierte Bewertung von Java-Programmieraufgaben im Rahmen einer Moodle E-Learning Plattform}},
year = {2019},
month = oct,
pages = {3--10},
publisher = {Gesellschaft für Informatik e.V.},
abstract = {Die Programmiersprache Java wird an zahlreichen Hochschulen gelehrt, um Studierende mit grundlegenden Programmierkonzepten vertraut zu machen. Zur Integration von Online-Java-Programmieraufgaben in ein Moodle LMS wurde ein Fragetyp entwickelt, welcher die parallele Ausführung sowie die automatisierte Bewertung von Quellcode auf Basis von JUnit-Tests ermöglicht. Studierende erhalten hierbei ein sofortiges und individuelles Feedback, welches dynamisch schon während der Bearbeitung einer Aufgabe erzeugt wird. In diesem Beitrag werden sowohl die technischen Details des entwickelten Fragetyps als auch erste Erfahrungen mit seinem Einsatz in der Programmierlehre an der Hochschule für Angewandte Wissenschaften Hamburg thematisiert.},
crossref = {DBLP:conf/abp/2019},
doi = {10.18420/abp2019-1},
keywords = {automated code evaluation, feedback generation, grading, Java, Java class isolation, JUnit, learning management system, Moodle, signature validation, web service},
url = {https://doi.org/10.18420/abp2019-1},
}
In this bachelor thesis a method for unsupervised feature extraction from aerosol backscatter profiles is proposed. After a first data preprocessing step the LIDAR-ceilometer datasets are converted into an compressed representation using an convolutional autoencoder. These encoded
In this bachelor thesis a method for unsupervised feature extraction from aerosol backscatter profiles is proposed. After a first data preprocessing step the LIDAR-ceilometer datasets are converted into an compressed representation using an convolutional autoencoder. These encoded representations are then used for the computation of an initial cluster assignment which gets further optimized, trough minimizing the KL-divergence to an arbitrary target distribution, during consecutive training. Two experiments, the first based on the MNIST database of handwritten digits and the second based on real ceilometer aerosol backscatter data, were successfully executed. The proposed method has been successfully utilized, in order to group some meteorological phenomena into clusters which then labels were assigned to. In addition to the description of implementation details, multiple aspects of the ceilometer datasets are analyzed and a comprehensive outlook to further possible research in this field is given.
@Misc{Gandrass2019CeilometerML,
author = {Niels Gandra{\ss}},
month = apr,
title = {{Unsupervised Machine Learning: Feature Extraction for Classification of LIDAR-Ceilometer Aerosol-Backscatter Profiles}},
url = {http://edoc.sub.uni-hamburg.de/haw/volltexte/2019/4870/},
year = {2019},
abstract = {In this bachelor thesis a method for unsupervised feature extraction from aerosol backscatter profiles is proposed. After a first data preprocessing step the LIDAR-ceilometer datasets are converted into an compressed representation using an convolutional autoencoder. These encoded representations are then used for the computation of an initial cluster assignment which gets further optimized, trough minimizing the KL-divergence to an arbitrary target distribution, during consecutive training. Two experiments, the first based on the MNIST database of handwritten digits and the second based on real ceilometer aerosol backscatter data, were successfully executed. The proposed method has been successfully utilized, in order to group some meteorological phenomena into clusters which then labels were assigned to. In addition to the description of implementation details, multiple aspects of the ceilometer datasets are analyzed and a comprehensive outlook to further possible research in this field is given.},
keywords = {autoencoder, backscatter analysis, clustering, cluster optimization, CNN, dimensionality reduction, feature extraction, LIDAR-ceilometer, machine learning, multi-stage learning, signal filtering, sliding-window, soft-clustering, unsupervised learning},
}
Die Neue Schule Hamburg ist eine demokratische Schule, die konsequent die individuelle Freiheit ihrer Schülerinnen und Schüler in den Mittelpunkt stellt. Doch wie wird das gemeinschaftliche Zusammenleben an solch einer Schule gestaltet? Zum zehnjährigen Jubiläum erzählt die Neue Schule Hamburg
Die Neue Schule Hamburg ist eine demokratische Schule, die konsequent die individuelle Freiheit ihrer Schülerinnen und Schüler in den Mittelpunkt stellt. Doch wie wird das gemeinschaftliche Zusammenleben an solch einer Schule gestaltet? Zum zehnjährigen Jubiläum erzählt die Neue Schule Hamburg sich selbst: Schüler, Mitarbeiter, Eltern, Gründer geben Einblicke in ihre Praxis und die damit verbundene Philosophie.
@Book{Palm2017NSH,
author = {Philipp Palm and Nena Kerner and Sarah Alexi and Lilly Bekesch and Janina Bergerhoff and Simon Berthold and Corvin Busch and Jonathan Erl and Niels Gandra{\ss} and Peter Gray and Birgit Heidenreich and Charlotte Heidenreich and Shari Hesse and Sylvia Hesse and Gerald H{\"u}ther and Carola Keller and Anja Kern and Samuel Kerner and Markus Kr{\"o}ger and Greta Lummitsch and Luka Mahlau and Nick Meier and Vio Petram and Anne Romero-Fr{\"u}h and Mimsy Sadofsky and Christopher Wagner},
publisher = {NullPunkt \& Komma Verlag},
title = {{Werden? Ich bin doch schon!: Neue Schule Hamburg}},
year = {2017},
isbn = {978-3962780005},
month = nov,
abstract = {Die Neue Schule Hamburg ist eine demokratische Schule, die konsequent die individuelle Freiheit ihrer Schülerinnen und Schüler in den Mittelpunkt stellt. Doch wie wird das gemeinschaftliche Zusammenleben an solch einer Schule gestaltet? Zum zehnjährigen Jubiläum erzählt die Neue Schule Hamburg sich selbst: Schüler, Mitarbeiter, Eltern, Gründer geben Einblicke in ihre Praxis und die damit verbundene Philosophie.},
keywords = {education, pedagogics, alternative educational systems, sudbury school, social sciences, learning, motivation, democratic education},
}