Maßnahme Bühne
Zum Projekt

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

Bitte nennen Sie bis zu fünf Stichwörter, die den Inhalt Ihrer Maßnahme aussagekräftig beschreiben.
Open-Source-Code
Lizenzfreie Software
Große Beispiel-Bibliotheken
Fertige Softwarelösungen
Zielgruppe(n)
Wissenschaftliche Mitarbeiter:innen/LfBA
Professor:innen
Mitarbeiter:innen aus Service, Verwaltung & Wissenschaftsmanagement
Akteur:innen außerhalb der Hochschule
Studierende
Handlungsfeld & Aktivität(en)
Technisch-räumliche Infrastruktur
Softwarelösungen & technische Ausstattung entwickeln
Lehr-/Lernumgebungen entwickeln
Lehr-/Studienangebote
Lehr-/Lernmaterialien entwickeln
Supportangebote
Angebote für Austausch und Kollaboration entwickeln

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

Methoden
Objektorientierte Programmierung
Formate
Programmiersprache: Python
Technische Tools
Entwicklungsumgebung „Visual Studio Code“

Nicht empfohlen

Methoden
Kommerzielle Programmiersprachen

Kontakt

Bearbeiter:innen und Beteiligte
Keine Kontaktdaten vorhanden

Das könnte Sie auch interessieren

Projekt 101437
Projekt

Pedagotchi: App-basiertes Blended Learning für Training klinischer Entscheidungsfindung in der Allgemeinpädiatrie

Kompetenzen für die Behandlung von Kindern und Jugendlichen werden universitär regelhaft anhand komplexer Patient:innen vermittelt. Wege von ersten Beschwerden zur Diagnose und Therapie sind vielfältig und erfordern frühzeitiges Training. Ein Training klinischer Entscheidungsfindung für (allgemein-) pädiatrische Krankheitsbilder und Prävention findet selten statt. Ziel des Projektes Pedagotchi 3.0 ist die Einführung einer pädiatrischen Lern-App, mit der Lernende überall fallbasiert die klinische Entscheidungsfindung trainieren und ihr Wissen erweitern können. Eine Fallbibliothek fordert mit Patient:innen aus der Allgemeinpädiatrie und eingeflochtenen seltenen Erkrankungen (Awareness) heraus. Das als Wahlfach erfolgreich pilotierte Konzept wird sowohl inhaltlich (Fokus Allgemeinpädiatrie) als auch methodisch auf größere Zielgruppen skaliert. Hierdurch wird der distanzunabhängige, individualisierte Kompetenzerwerb für die ganzheitliche Versorgung von Kindern und Jugendlichen ebenso erleichtert wie eine interdisziplinär übertragbare professionelle Identitätsbildung durch Kenntnisse der ambulanten und stationären Patient:innenversorgung.

Projekt anzeigen
Maßnahme 100053
Maßnahme

Tool zur Erstellung themenbezogener Lernräume

Lehrinhalte werden häufig im Kontext eines bestimmten Seminars oder Moduls erstellt und sind somit an die Teilnahme an diesem Seminar/Mpdul gebunden. Das Workspacetool soll die Zusammenstellung von Inhalten ermöglichen, die für Studierende unabhängig eines bestimmten Lehrangebots interessant sind. Dadurch kann Wissen gebündelt und für viele Personen ohne eine zeitliche Begrenzung zugänglich gemacht werden.

Maßnahme anzeigen
Publikation 100013

Einbindung von Studierenden in Lehr-Lernnetzwerke an Hochschulen

[Kurzbeschreibung folgt (Anm. StIL)]

Publikation anzeigen