Bachelor

Master


Bachelor Veranstaltungen


Softwaretechnik

Modul: 10-201-2321 (Pflicht, 3. Semester Bachelor Informatik)

Nach der aktiven Teilnahme am Modul „Softwaretechnik“ sind Studierenden in der Lage, ihre Kenntnisse über Prinzipien, Methoden und Werkzeuge für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Softwaresystemen zu reproduzieren. Die Studierenden können Vorgehensweisen der Softwareentwicklung vergleichen und auf deren Anwendung darstellen.

Hilfreiche Links:
– Moodle-Kurse (LINK TBA): Materialien, Videos, Übungsaufgaben, Kontakt zu Lehrenden, Diskussionen, etc.
– AlmaWeb (LINK TBA): Anmeldung zur Prüfung

Softwaretechnik Praktikum

Modul: 10-201-2320 (Pflicht, 3. Semester Bachelor Informatik)

Nach der aktiven Teilnahme am Modul „Softwaretechnikpraktikum“ sind die Studierenden in der Lage die Aufgabenstellung eines größeres IT-Projekts im Team zu analysieren und deren Umsetzung gemeinsam zu organisieren; verschiedene Rollen innerhalb eines IT-Projekts selbst zu übernehmen; Kommunikationsmittel zur systematische Planung, Vorbereitung, Durchführung und Auswertung angemessen einzusetzen; und Fachkenntnisse zur Lösung der Probleme zu erwerben und anzuwenden.

Hilfreiche Links:
– Moodle-Kurse (LINK TBA): Materialien, Videos, Übungsaufgaben, Kontakt zu Lehrenden, Diskussionen, etc.

Genereller Ablauf:
Zum Beginn des Semesters findet eine (virtuelle) Auftaktveranstaltung statt bei dem das Konzept und der Ablauf besprochen wird. Zusätzlich werden die zu realisierenden Softwareprojekte und betreuende Tutoren vorgestellt. Falls mehrere Themen vorhanden sind, müssen Studierende sich für eines entscheiden. Die Teamaufteilung findet *zufällig* statt. Dies gewährleistet eine faire Aufteilung der Teams. Die Teamgröße ist liegt zwischen 6 – 8 Studierende.

Daraufhin beginnt die Phase des Requirements Engineering. Studierende müssen sich in das Thema einarbeiten und Anforderungen aufstellen. Die Anforderungen sollen in ein *Lastenheft* münden. Zeithorizont: Anfang November

Danach beginnt die Design-Phase. Hier soll die Architektur sowie das Klassendesign festgelegt werden. Zudem soll hier bereits auf Softwarequalitätseigenschaften wie Modularität, Testbarkeit, Kohäsion und Kopplung geachtet werden. Die Phase schließt mit dem *Pflichtenheft* ab, die alle Design-Entscheidungen dokumentiert. Zeithorizont: Mitte Dezember.

Danach startet die vorbereitende Implementierungsphase: Hier soll die Implementierung soweit vorbereitet werden, dass das Projekt in einem Repository gehostet und bei einem Push eine Continuous Integration und Delivery Pipeline angestoßen wird. Zeithorizont: Anfang Januar.

Wegen Corona nicht durchführbar: Die letzte Phase ist die Implementierungs- und Testphase. Sie soll als Blockveranstaltung im März stattfinden, wobei 3 Wochen á 8h von Mo-Fr hierfür eingesetzt sind. Hier wird nach agilen Softwaremethoden (Scrum, Canban, etc.) das System basierend auf zuvor festgelegten User Stories implementiert und getestet. Final finden Ende März eine Präsentation statt indem das Team die Software vorstellt.

Corona-Alternative (noch nicht final): Remote Software Engineering. Die Design- und Implementierungsphasen verschmelzen und es wird ein agiler Softwareansatz mit Prototypenentwicklung gewählt. Dabei wird zuerst ein Feature-Backlog basierend auf dem Lastenheft angelegt, welches dann vom Team von Ende November bis Anfang März implementiert wird. Hierfür sind festgelegt Remote-Veranstaltungen geplant, die den Fortschritt der Entwicklung prüfen und Feedback zur Entwicklungsmethodik geben.

Jede Phase hat einen Hauptverantwortlichen im Team, der je nach Phase diese entweder mit einer ca. 10-15min Präsentation abschließt (Aufgaben + Realisierung) oder ein entsprechendes Dokument (z.B. Lastenheft) einreicht, welches geprüft wird. Jeder im Team muss jedoch in jeder Phase mitarbeiten, so dass er/sie nach dem Vortrag dazu konkrete Fragen gestellt bekommen kann. Der Anteil eines jeden Teammitglieds muss ersichtlich sein. Darüber hinaus wird es *zwei* Teamverantwortliche / -organisatoren geben, die den zeitlichen Ablauf, die Teamorganisation und die Deliverables prüfen und sicherstellen.

Hinweise zur Durchführung: Durch Corona-Vorkehrungen kann das Praktikum nicht wie geplant durchgeführt werden. Es wird hauptsächlich Remote stattfinden. Hierfür werden technische Lösungen zurzeit evaluiert. Wichtig ist hierbei, dass im Vorfeld Studierende sich melden, die Hilfe bei der technischen Ausrüstung haben.

Hinweise zur Teamarbeit: TL;DR: Konflikte selbst lösen und kein Trittbrettfahren.
Sie werden vermutlich zum ersten Mal im Team mit fremden Personen zusammenarbeiten. Dies ist eine wichtige Erfahrung für ihr zukünftiges (berufliches) Leben, da auch dort Sie in ein neues Team anfangen werden. Konflikte mögen entstehen. Ein wichtiges Ziel ist hierbei zu lernen diese zu moderieren und selbstständig im Team zu lösen. Natürlich können auch die Tutoren und Betreuer hier unterstützen, falls es nicht klärbar ist und sie sollten sich melden falls es sich um prüfungsrelevante Vorgänge handelt (z.B. ein Teammitglied beteiligt sich nicht an der Entwicklung oder reißt ständig die Deadline). Beachten Sie, dass wir nicht zögern, einzelne, nicht kooperative und nicht leistungsfähige Teammitglieder nicht bestehen zu lassen, selbst wenn das Team insgesamt einen guten Job gemacht hat. Bei Verdacht verlangen wir explizite und detaillierte Fortschrittsberichte und Entwicklungsprotokolle.

Hinweise zu Projekten: TL;DR: Die fachliche Lösung wird einfacher, aber wie diese Lösung erreicht wird, wird umfangreicher und stärker kontrolliert.
In der Vergangenheit sind eine Vielzahl von unterschiedlichen und herausfordernden Projekten bearbeitet worden. Jedoch lag hierzu meist der Fokus auf das Endresultat und weniger auf die Methodik (d.h., die Kompetenzentwicklung in der Softwaretechnik). Daher werden weniger (oder gar nur ein) Projektthemen in der Zukunft bearbeitet, um gleiche Voraussetzungen für alle Studierende zu schaffen, die fachlichen Anforderungen zu kontrollieren und die Kompetenzgewinnung auf den Softwaretechnikteil zu konzentrieren.

Konfigurierbare Softwaresysteme

Modul: TBA (Wahlpflicht, ab 4. Semester Bachelor Informatik)

Nach der aktiven Teilnahme in diesem Modul sind Studierende in der Lage die Variabilität konfigurierbarer Softwaresysteme zu modellieren und in Konfigurationen zu repräsentieren. Weiterhin sind die Studierenden in der Lage Implementierungstechniken selbstständig anzuwenden, um Features und Funktionen in Softwaresystemen modular implementierbar, konfigurierbar, selektierbar und komponierbar zu machen.
Die Studierenden können moderne Programmierparadigmen (z.B. Aspekt-orientierte und Feature-orientierte Programmierung) gezielt anwenden, um Belange, Features und funktionelle Einheiten zu implementieren, zu monitoren und zu testen.
Sie kennen die Limitierungen von objekt-orientierter Programmierung (Tyrannei der dominanten Dekomposition) und können diese anhand von selbst gewählten Szenarien erklären. Uvm.

Hilfreiche Links:
– Moodle-Kurse (LINK TBA): Materialien, Videos, Übungsaufgaben, Kontakt zu Lehrenden, Diskussionen, etc.
– AlmaWeb (LINK TBA): Anmeldung zur Prüfung


Master Veranstaltungen


Software Engineering für KI-Systeme

Modul: TBA (Vertiefungsmodul ab 1. Semester Master Informatik, Wahlpficht Master Data Science, Ergänzungsbereich)

Nach erfolgreichem Abschluss des Moduls Software Engineering für KI-Systeme sollten Studierende in der Lage sein:

• Tradeoffs beim Entwerfen von Produktionssystemen mit KI-Komponenten zu analysieren, verschiedene Qualitätseigenschaften außer Genauigkeit, wie z.B. Operationskosten, Latenz, Updatebarkeit, Erklärbarkeit zu analysieren;

• Produktionssysteme, die robust gegenüber Fehlern von KI-Komponenten sind, zu implementieren;

• Fehlertolerante und skalierbare Daten-intensive Infrastrukturen zum Lermen, Ausliefern, Versionieren und Experimentieren von Modellen zu entwerfen;

• Qualität der gesamten Machine-Learning Pipeline durch Testautomatisierung und anderen Qualitätssichernden Techniken, einschließlich automatisierten Checks, Data Drifts, Feedback-Schleifen, sicher zu stellen;

• System zu bauen, die in Produktion getestet werden können und Deployment-Pipelines bauen, die vorsichtige Rollouts und Canary Testing ermöglichen;

• Privacy, Fairness, Ethik und Moral sowie Sicherheit beim Bauen von komplexen KI-basierten Systemen zu berücksichtigen;

• Effektiv im Team bestehend aus Softwaretechnikern und Data Analysten zu kommunizieren.

Weiterhin werden Studierende vertraut mit neuesten Infrastrukturwerkzeugen, einschließlich Stream Processing (beispielsweise, aber nicht zwingend: mit Apache Kafka, Deployment mit Docker und Kubernetes und Testautomatisierung mit Travis und Jenkins).

Hilfreiche Links:
– Moodle-Kurse (LINK TBA): Materialien, Videos, Übungsaufgaben, Kontakt zu Lehrenden, Diskussionen, etc.
– AlmaWeb (LINK TBA): Anmeldung zur Prüfung

Automated Software Engineering

Modul: TBA (Vertiefungsmodul ab 1. Semester Master Informatik, Wahlpficht Master Data Science, Ergänzungsbereich)

Nach der aktiven Teilnahme am Modul Automated Software Engineering sind die Studierenden in der Lage verschiedene Aktivitäten in der Softwareentwicklung zu automatisieren. So sind Studierende in der Lage Tests automatisiert zu generieren, optimale Softwarekonfigurationen automatisiert zu finden und kleine Funktionen und Code selbst zu synthetisieren.

Hinweis: Wir bieten ein Grundlagenmodul für 5LP und ein Vertiefungsmodul mit 10LP an, welches zusätzlich ein Seminar mit Praxisaufgaben im Themengebiet umfasst.

Wichtig: Für das 10LP gilt als Voraussetzung der erfolgreiche Abschluss des Moduls „Introduction to Machine Learning“, da im Seminarteil auch maschinelle Lernverfahren zur Automatisierung verwendet werden.

Hilfreiche Links:
– Moodle-Kurse (LINK TBA): Materialien, Videos, Übungsaufgaben, Kontakt zu Lehrenden, Diskussionen, etc.
– AlmaWeb (LINK TBA): Anmeldung zur Prüfung


Weitere Veranstaltungen


Bachelor- und Masterseminar

Modul: 10–201-2010, 10–202-2011 (Begleitend zu jeder Bachelor- und Masterarbeit in der Abteilung)

Selbständige Einarbeitung in ein wissenschaftliches Thema der InformatikVorbereitung auf die Bachelor- bzw. Masterarbeit. Präsentation selbst erarbeiteten Wissens.

Hilfreiche Links:
– Übersicht über unsere Themen: Abschlussarbeiten
– Moodle-Kurse (https://moodle2.uni-leipzig.de/course/view.php?id=26368): Materialien zum Ablauf und Bewertung, Video wie man Arbeiten / Paper schreibt, Video wie man Vorträge vorbereitet und hält, Kontakt zu Lehrenden, Diskussionen, etc.
– AlmaWeb zur Einschreibung

Externes Praktikum

Modul: 10-201-2336 (Wahlpficht Bachelor Informatik, 5. Semester)

Die Studierenden erhalten die Möglichkeit (i) sich durch ein Praktikum in einem Betrieb/einer Firma/einer internationalen Forschungseinrichtung eine individuelle Lernbiographie zuzulegen, die sie von anderen Bachelorabsolventen/innen abgrenzt; (i) ihre im Studium erlernten Kompetenzen anzuwenden und zu erweitern; (iii) eine erste Orientierung auf dem Arbeitsmarkt bzw. in forschenden Einrichtungen zu erwerben.

Voraussetzungen (siehe auch Modulkatalog):
– Ausgearbeitete Aufgabenstellung, die innerhalb des vorgegebenen Workloads bearbeitet werden soll.
– Die Aufgabenstellung muss zwingend mit den Kompetenzen und Interessen der Abteilung passen (siehe dazu Forschungsseite), aber kann auch in Abstimmung erarbeitet werden.
– Das betreuende Unternehmen muss einen Verantwortlichen benennen und sollte thematisch zum Lehrstuhl passen.


Projekte


Lehre trifft Praxis für Charity: Digitalisierung Ferienpass Weimar

Senior IT-Consultant Jonas Hecht wollte seine Kinder beim Ferienpass in Weimar anmelden, aber musste Schlange stehen. „Wieso kann der Prozess nicht digitalisiert werden?“, fragte er sich im Gespräch mit Prof. Dr. Norbert Siegmund (damals Professur für Intelligente Softwaresysteme an der Bauhaus-Universität Weimar).
Schnell war die Idee geboren, Studierende in einer praxisnahen Lehrveranstaltung an modernste Softwaretechnologien (Microservices, CI/CD, etc.) in einem echten Projekt in Kooperation mit echten Entwicklern heran zu führen. Das Ziel war die Digitalisierung des Anmeldeprozesses für Kinder der Stadt Weimar in Thüringen für Sommerferien-Aktivitäten im Rahmen des gemeinnützigen Ferienpass-Projektes.

Das Projekt wurde nach der Lehrveranstaltung noch mit tatkräftiger Unterstützung der Codecentric AG (insb. Jonas Hecht und Bertram Vogel) zu einem erfolgreichen Abschluss gebracht und wird heute produktiv eingesetzt. Rechtzeitig in der Corona-Zeit ist so eine für Eltern und Mitarbeiter sichere, digitale Anmeldung möglich.

Schönere Ferien dank Digitalisierung: Charity-Projekt mit Informatik-Studierenden der Bauhaus-Universität Weimar

„Die Fortschritte, die die Studierenden innerhalb kurzer Zeit vorweisen konnten – inklusive einer Live-Demo der aktuellen Software-Prototypen – waren sehr beeindruckend“, stellte Jonas nach einer Präsentation der Ergebnisse im Dezember 2017 fest.
Ziel sei es neben dem guten Zweck auch, den Studierenden einen Eindruck von der Praxis moderner Softwareentwicklung – jenseits des akademischen Umfelds – zu vermitteln. Daher werde im Projekt auch nach Möglichkeit mit Werkzeugen wie Slack, GitHub, Spring Boot, Vue.js, Amazon Web Services und einschlägigen Continuous-Integration-Tools gearbeitet.
Codecentric AG

Ferienpass startet Online-Anmeldung

Die Codecentric AG hat die Programmierung auf Basis einer Arbeit von Studierenden der Bauhausuniversität kostenfrei zur Verfügung gestellt.
Kulturstadt Weimar

Medieninformatik-Studierende entwickeln Online-Anmeldung für Weimarer Ferienpass

Seit Oktober 2017 beschäftigen sich die Bachelor-Studierenden aus dem fünften Semester der Medieninformatik gemeinsam mit Prof. Siegmund und Jonas Hecht mit Methoden und Techniken der modernen Softwareentwicklung. Durch die Anwendung am Beispiel des Ferienpass-Projekts haben sie eine Idee davon bekommen, wie die Zusammenarbeit mit Praxispartnern funktioniert. So mussten zunächst die Rahmenbedingungen des Ferienpass-Teams aufgenommen werden, die dann in die Softwarearchitektur einflossen. Außerdem waren umfangreiche Tests, die Erstellung eines sogenannten »MicroServices« sowie die Entwicklung der Benutzeroberfläche Kernaufgaben der Studierenden. Das Ergebnis soll für die Eltern eine zeitsparende Online-Anmeldung auf der Website des Ferienpasses bieten und für die Mitarbeitenden des Kinderbüros soll die Verwaltung der Anmeldung über eine Administrationsoberfläche einfacher werden.
Bauhaus-Universität Weimar

Lange Schlange im Kinderbüro war Auslöser

Seit vielen Jahren betreibt das Kinderbüro der Stadt Weimar erfolgreich den Weimarer Ferienpass – ein Ferienangebot mit Veranstaltungen für Kinder und Jugendliche. Um die Anmeldung für Eltern einfacher zu gestalten, haben Studenten der Medieninformatik in einem angewandten Praxisprojekt an der Professur für Intelligente Softwaresysteme der Bauhaus-Universität Weimar den gesamten Anmeldeprozess digitalisiert.
Thrüringer Allgemeine

Für Projektideen und Anregungen bitte direkt kontaktieren.


Preise


https://www.uni-weimar.de/de/universitaet/aktuell/jaehrliche-veranstaltungen/archiv/jaehrliche-veranstaltungen-2019/tag-der-lehre-2019/

Preis der Universität Magdeburg: „Lehre innovativ: Umgang mit Heterogenität“

Projekt: Exploratives und interaktives Lernen (Frau Janet Siegmund und Herr Norbert Siegmund)

– Heterogenität in Gruppenzusammensetzung wird zur Nutzung unterschiedlicher Kompetenzen als Gewinn gesehen; gilt als Anregung, überfachliche soziale Kompetenzen zu entwickeln und anzuwenden.
– Konzept arbeitet mit dem Einsatz von vielfältigen, bedarfsorientierenden Lehrverfahren.
– Kurskonzept beinhaltet Auflockerung zwischen den Formaten Vorlesung und Übung.
Jury: Claudia Wendt, Carlo Reifgerste, Johanna Starke
Otto-von-Guericke Universität

Lehrpreis Fakultät Medien

MODERNE SOFTWARE TECHNOLOGIEN (Seminar)
Prof. Dr.-Ing. Norbert Siegmund und Jonas Hecht

„In der Veranstaltung wurden einzelnen Personen / zweier Teams Themen zugeordnet, die heutzutage für die moderne Software-Entwicklung in der Industrie verwendet werden. Zu diesen Themen wurden Vorträge und Demos erarbeitet, die dann den Kommilitonen vorgestellt wurden. Ganz besonders hervorzuheben ist, dass im Rahmen dieser Veranstaltet ebenfalls ein Webformular mit Datenbank für den Ferienpass Weimar entwickelt wurde, um in Zukunft auch eine digitale Anmeldung zu ermöglichen. Dafür haben wir uns auch mehrmals mit den verantwortlichen des Ferienpass getroffen und über die Anforderungen gesprochen.“
Studierende
Bachelor Medieninformtik (Bauhaus-Universität Weimar)

https://www.fokuslehre.ovgu.de/Archiv/Aktivit%C3%A4ten+2012/Call+for+Concepts.html