
Umstrukturierung der Software-Architektur
"Durch die Umstrukturierung der Software-Architektur und den Wechsel der Programmiersprache von Matlab® auf den Open-Source-Code Python konnte eine Verringerung des Programmieraufwandes sowie eine Verbesserung der grafischen Oberfläche und der Bedienbarkeit erzielt werden."
Kategorien
Beschreibung
Herausforderung
Nach anfänglichen Programmierarbeiten in Matlab® zeigte sich, dass diese Art der Programmierung zu starre Strukturen aufweist und für neue Mitarbeitende aufwändig zu erlernen ist. Für die im Teilprojekt vorgesehene Aufgabenstellungen gab es nur wenig vergleichbare extern vorgefertigte Beispiele. Die Lizenz-Politik der Firma MathWorks erschwert zudem den langfristigen Einsatz der entwickelten Softwaretools. Zudem erwies es sich als schwierig geeignetes Personal mit Matlab-Erfahrung zu finden.
Herangehensweise
Der Wechsel der Programmiersprache Matlab® auf Python sowie die Umstrukturierung der Software-Architektur hin zu einer flexiblen Strukturierung erbrachten entscheidende Vorteile bezüglich der Einfachheit, Entwicklungsgeschwindigkeit sowie der späteren Wartung und Weiterentwicklung der Software.
Da zudem auf dem Arbeitsmarkt wesentlich mehr Python- als Matlab-Programmierer zur Verfügung stehen, erleichterte dies auch die Akquise der benötigten Mitarbeitenden.
Da Python als Open-Source-Anwendung eine sehr große Entwickler- und Nutzer-Community hat, existieren zahlreiche kostenfreie Beispiele, die sich an die eigenen Bedürfnisse anpassen lassen, was die Entwicklungsarbeiten immens erleichtert.
Der im Projekt entwickelte Programmcode ist auf Wunsch über GitHub oder per Mail erhältlich.
Zusammenhang
Diese Maßnahme wurde während der Entwicklung und Fertigung der Versuchsanlagen im Teilprojekt „Das virtuelle, ferngesteuerte Labor für Mikroalgen“ erprobt und hat sich in der Praxis bewährt.
Ziel war die Planung einer Laborlehrveranstaltung für den Bachelorstudiengang „Biotechnologie“. Hierzu wurde ein fernsteuerbarer Versuchsaufbau mit umfangreicher mess- und steuerungstechnischer Ausstattung entwickelt, wodurch das Algenwachstum aus der Ferne überwacht, gesteuert und optimiert werden kann.
Voraussetzung
Die Mitarbeitenden müssen über Programmierkenntnisse, vorzugsweise in Python, verfügen und zum interdisziplinären Arbeiten mit anderen Mitarbeitenden, z.B. aus der Biotechnologie, befähigt sein.
Eignung
Die entwickelte Software wurde mit mehreren Studierendengruppen erprobt und für sehr gut befunden.
Die Software läuft stabil und ist für zahlreiche neue Sensoren flexibel anpassbar.
Die Benutzeroberfläche sieht ansprechend aus und ist leicht zu bedienen.
Die Softwaretools lassen sich einfach an andere, ähnliche Anwendungen/Laborversuche anpassen.
Vorgehen/Schritte
Das Anforderungsprofil an die zu entwickelnde Software sollte detailliert festgelegt werden. Zu beachten sind dabei auch Randbedingungen, wie Verfügbarkeit, Lizenzgebühren, Verbreitung, Entwicklungsumgebung und vorgefertigte Beispiele, der vorgesehenen Programmiersprache. Weiterhin ist die Verfügbarkeit entsprechender Programmierer:innen auf dem Arbeitsmarkt zu berücksichtigen.
Hinweise
Effekte
Durch die enorme Erweiterung von zusätzlichen Python-Bibliotheken und Anwendungsbeispielen steigt die Erwartungshaltung an die technischen Aspekte des Projekts hinsichtlich der Adaption neuer Sensoren, der Datenbankverwaltung, der Reaktions- bzw. Rückmeldezeit der Datenbankabfrage sowie der Gestaltung der Benutzeroberfläche. Entsprechend sorgfältig sollte zuvor das Anforderungsprofil an die Software ausgelegt werden.
Learnings
Im Detail dauert die Programmierung spezifischer Komponenten doch länger als gedacht, auch wenn es dafür bereits klare Vorstellungen, Programmier-Konzepte und ähnliche Anwendungsbeispiele gab. („Der Teufel steckt oft im Detail“.)
Einmal eingeschlagene Programmier- und Vorgehensweisen sind nur schwer zu modifizieren. Häufig ist hier ein neues Konzept notwendig. Daher ist eine ausführliche Planung im Vorfeld mit allen möglichen Worst-Case-Szenarien unerlässlich.
Empfehlung
Nein, die Programmiersprache Python hat sich bestens bewährt.
Tipps
Ein ausführliches Pflichtenheft für die Erstellung der Software in all ihren Fassetten erstellen.
Methoden
Empfohlen
Nicht empfohlen
Kontakt
Das könnte Sie auch interessieren

Digital C@MPUS-le@rning: Implementierung und Transfer digital unterstützter Lehrformate für selbstgesteuertes, virtuell-räumliches und ko-kreativ-kollaboratives Lernen
Die Universität Hildesheim (UHi), ein kleinerer, insbesondere für die Lehramtsausbildung in Niedersachsen aber zentraler Standort, erbringt ungeachtet knapper Ressourcen kontinuierlich überproportionale Lehrleistungen. Die Digitalisierung der Lehre an der UHi war bis 2020 von innovativen Einzelprojekten geprägt. Digital C@MPUS-le@rning nutzt den Innovationsschub der pandemiebedingten Digitalsemester, um auf Basis studentischer Rückmeldungen und wissenschaftlich gestützter Empfehlungen systematisch einen digitalen Lehr- und Lerncampus aufzubauen. Ausgehend von konkreten, zukunftsweisenden und generalisierbaren Ansätzen mehrerer Fachdisziplinen werden Lehrformate für selbstgesteuertes, virtuell-räumliches und kokreativ-kollaboratives Lernen entwickelt und in weitere Bildungsbereiche transferiert. Projektergebnisse und -produkte inklusive Support werden anderen Fächern, Hochschulen (über das OER-Portal Niedersachsen) und Bildungseinrichtungen (z.B. 300 Partnerschulen) zugänglich gemacht. Daneben bauen wir zentrale Support- und Servicestrukturen nachhaltig auf. Die UHi wird die Alte Mensa als analoge Co-Working Area zu Austausch und Beratung für ein proaktives Handeln in der digitalen Lehre gestalten.
Projekt anzeigen
Online Lernplattform fürs externe Rechnungswesen
Studierende bringen aufgrund unterschiedlicher Bildungswege heterogene Vorkenntnisse mit, insbesondere in Grundlagenveranstaltungen wie Buchführung. Um diesen Herausforderungen zu begegnen, wurde eine Website entwickelt, die individuelle Lernpfade ermöglicht und durch interaktive Aufgaben das eigenständige Üben von Buchungssätzen fördert, da genau diese eine Herausforderung darstellen. Ziel ist es, das Verständnis der Studierenden durch direktes Feedback und praxisorientiertes Arbeiten zu verbessern.
Maßnahme anzeigen
Open-Source Intelligent Tutoring System for Programming Exercises in Engineering Education
Implementing control and machine learning algorithms in MATLAB and Simulink is a critical competency in advanced control engineering. While immediate feedback is essential for fostering intuitive understanding, it is traditionally constrained to scheduled exercise sessions or consultation hours. To bridge this gap, this project introduces an open-source intelligent tutoring platform that provides continuous, on-demand feedback. To accommodate diverse solution strategies, the platform employs a hybrid evaluation strategy combining result-based and code-based metrics. This ensures that valid alternative solutions that differ from predefined sample solutions are not misclassified. In case of incorrect solutions, a Large Language Model, contextualized with sample solutions and task classification results, offers auxiliary support for students struggling to initiate or complete tasks. Instructional scaffolding is adaptively adjusted to guide students toward independent problem-solving. We position this platform as a supplementary tool designed to enhance, rather than replace, valuable interactions between students and human tutors. Built on open-source tools, the system is architected for reusability, enabling lecturers across engineering subjects to adapt the framework to their teaching needs easily.
Publikation anzeigen