
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

Co³Learn - Innovative digitale Kooperation für das Lehren und Lernen
Das Projekt Co³Learn (Communication, Cooperation, Collaboration) der TU Braunschweig, Universität Hannover und Universität Göttingen entwickelt Lösungen zur Förderung der Kooperation der Studierenden in digitalen Lehr-Lernsettings. Im Mittelpunkt steht die Unterstützung von Lernerfahrungen, die die Potentiale heterogener Studierendengruppen nutzbar machen, indem sie die Bildung kooperativer Lerngruppen, die Qualität der Zusammenarbeit und das soziale Erleben im digitalen Raum fördern. Kooperation wird auf drei Ebenen mit steigendem Anspruch an soziale Interaktion und Technologie definiert: (1) Den gegenseitigen Austausch, (2) die arbeitsteilige Kooperation und (3) die kollaborative Konstruktion von Inhalt. Ziel des Projekts ist die digitale Förderung kooperativer Prozesse auf diesen Ebenen und entsprechender digitaler Kompetenzen von Studierenden und Lehrenden. Dafür sollen zusammen mit Stakeholder*innen Bedarfe für formelle und informelle Lehr-Lern-Settings gesucht und Lösungen in Form von digitalen Tools und Konzepten für die Zusammenarbeit erprobt, evaluiert und in Fächern verankert werden. Ergebnis des Projekts ist der breite Einsatz einer Toolbox für kooperatives, digitales Lehren und Lernen, die zum Transfer angeboten wird.
Projekt anzeigen
Förderung fachspezifischen Problemlösens (Physik)
Fast die Hälfte der Studierenden bricht das Physikstudium im Laufe der ersten vier Semester ab. Einer der Gründe ist die hohe Komplexität und Abstraktheit der Inhalte. Mit den Maßnahmen können die Studierenden das benötigte Fachwissen abhängig vom Vorwissen erlernen und so erfolgreicher Studieren. Die Materialien führen sie strukturiert durch den Erwerb fachspezifischer Problemlösefähigkeiten.
Maßnahme anzeigen
Kuratieren digital denken – Impulse für das digitale Sammeln, Zeigen und Vermitteln
Kuratieren bedeutet Inhalte und Werte recherchieren, aufarbeiten und dafür Sorge zu tragen, dass dieses Wissen nicht nur für eine kleine Bubble zugänglich gemacht wird. Alles in allem: ein wichtiger Bereich der Wissensgenerierung und des -transfers! Immer mehr Gedächtniseinrichtungen greifen für diesen Arbeitsbereich auf digitale Möglichkeiten zurück, z.B. weil keine analoge Ausstellungsfläche vorhanden ist, das Material vielfältig oder geografisch breit gestreut. Wie man sich einem digital-kuratierten Projekt annähern kann – von der Ideenfindung, über Zielgruppenansprachen bis zum finalen Produkt – stellt dir der Lernleitfaden „Kuratieren digital denken – Impulse für das digitale Sammeln, Zeigen und Vermitteln“ vor.
Publikation anzeigen