WI-Projekt “Open Source Projekt”

Inhalte

In der Softwareentwicklung gewinnen Open-Source-Entwicklungsumgebungen und Open-Source Workflows an Bedeutung und werden zunehmen von größeren Technologieunternehmen aufgegriffen. Dabei ist git von zentraler Bedeutung. Der Marktanteil des dezentralen und kollaborativen Versionskontrollsystems ist nach der Veröffentlichung im Jahr 2005 auf ca. 90% gestiegen. In diesem Zuge haben git-basierte Plattformen wie Github und Gitlab Alternativen wie Sourceforge (Subversion) weitgehend verdrängt und auch Großprojekte wie die Entwicklung des Windows-Betriebssystems wurden auf git migriert. Im Ergebnis ist git heute ein integraler Bestandteil für die Skalierung umfangreicher und stark-verteilter Softwareentwicklungsprojekte.

Vor diesem Hintergrund ist das Ziel des WI-Projekts, git-basierte Open-Source Workflows und Entwicklungsumgebungen (z.B. Pull-Requests, Forks und Continuous Integration) zu verstehen und zu verwenden. Dabei sollen im Rahmen eines bestehenden Open-Source-Projekts ausgewählte Funktionalitäten in kleinen Teams entwickelt und eingebracht werden. Die Teilprojekte werden in der ersten Einheit der Veranstaltung vorgestellt und Themenpräferenzen werden bei der Gruppenbildung berücksichtigt.

Zu Beginn des Projekts sind drei Blockveranstaltungen geplant: (1) Überblick über das Open-Source-Projekt und die Teilprojekte mit anschließender Themenvergabe, (2) Einführung in git, sowie (3) Einführung in Python. Die anschließende Arbeitsphase wird durch gezielte Code-Marker zur Orientierung im Projekt und durch das Angebot von Hacking-Sessions in Gruppen begleitet. Die Abschlusspräsentationen werden in den letzten Vorlesungswochen stattfinden. Dabei soll dann über ein abgeschlossenes Teilprojekt berichtet werden, dessen Ergebnisse in das übergreifende Open-Source-Projekt eingeflossen sind (merged oder fortgeschrittener Pull-Request).

Die genauen Termine werden auf der Webseite der Professur veröffentlicht. Die Anmeldung erfolgt vor Semesterbeginn über Flexnow. Die Veranstaltung hat einen Umfang von 180 Stunden Arbeitsaufwand und wird mit 6 ECTS bewertet, die im Rahmen einer Hausarbeit und eines Kolloquiums erworben werden können.

Lernziele/Kompetenzen

Ziel des Kurses ist es, die folgenden Kenntnisse und Fähigkeiten zu vermitteln:

- Die Fähigkeit, git-basierte Workflows zur Softwareentwicklung zu verstehen und im Team zu nutzen

- Die Fähigkeit, ausgewählte Programmieraufgaben mit Python zu lösen

- Die Fähigkeit, Codebeiträge in ein größeres Projekt einzubringen

Empfohlene Vorkenntnisse:

Generell kann das Projekt ab dem 3. Semester belegt werden. Folgende Kurse sollten vorher belegt worden sein:

  • DSG-EiAPS-B Einführung in Algorithmen, Programmierung und Software (Pflichtbereich: A2)

  • DSG-JaP-B Java Programmierung (Pflichtbereich: Modulgruppe A2)

Zielgruppe:

  • Bachelor Wirtschaftsinformatik, International Information Systems Management und Angewandte Informatik
  • Eine Teilnahme für Studiengänge wie Software Systems Science, oder Computing in the Humanities (Master) ist möglich (nach vorheriger Absprache mit dem Prüfungsausschuss, bzw. Einbringung per Schein)

Anmeldung

  • Kommen Sie bei Interesse gerne zur Einführungsveranstaltung. Details zur Anmeldung und Themenvergabe werden an diesem Termin bekannt gegeben.

Termine (Sommersemester 2024)

Die Termine und Räume finden Sie hier.

Literatur

  • Hogbin Westby, E. J. (2015). Git for teams: a user-centered approach to creating efficient workflows in Git. O'Reilly Media.

  • Luciano, R. (2015). Fluent Python: Clear, Concise, and Effective Programming. O'Reilly Media.

Weitere Ressourcen werden in den Blockveranstaltungen zur Verfügung gestellt.