Code & Context (B.Sc.)

Dokumente zur Re-Akkreditierung des Studiengangs (2024-2025)

Kurs »Application Design« (CS31)

Kursverantwortlich
Prof. Dr. Stefan Bente
Sprache
deutsch, englisch
Kreditpunkte
3 ECTS
Arbeitsaufwand
40h Kontaktzeit / 50h Selbstlernzeit
Kompetenzcluster
Agile Methoden / Software Development and Architecture
Gehört zum Modul
Coding Software 3
Teilmodulprüfung
Lernportfolio / Lernportfolio , Modulwoche (unbenotet - strukturiertes Feedback)

Angestrebte Lernergebnisse / Learning Outcomes

  • Als SW-Entwickler:in kann ich ein Softwaresystem für eine gegebene Aufgabenstellung iterativ konzipieren und mit gängigen Tools implementieren,
  • indem ich
    • passende Prinzipien, Patterns und Architekturstile für mein IT-System auswähle, wie etwa die SOLID-Prinzipien und die Regeln des Clean Code, und dann eine gängige Schichtenarchitektur auswähle
    • ein Rich Domain Model nach dem Ansatz des Domain-Driven-Design (DDD) in Building Blocks konzipiere und mit Hilfe von Spring JPA umsetze
    • meine Domäne(n) in Aggregates strukturiere
  • damit ich eine nachhaltig wartbare Software mit passender, langlebige und änderungsfähiger Architektur erstellt habe.

Inhalt

Application Design (AD) beschäftigt sich mit Patterns und Architekturstilen, um größere und verteilte Softwaresysteme bauen zu können. Besonderes Augenmerk liegt auf den Konzepten des Domain-Driven-Design (DDD). Damit wird eine nachhaltige Wartbarkeit sicher gestellt. Der Kurs wird im Block in Form von Workshops durchgeführt, bei denen wir inhaltlich diskutieren und Sie an einer durchgehenden Programmieraufgabe arbeiten. Jede:r Teilnehmer:in bekommt ein individuelles Repo, in dem die Aufgabenstellung beschrieben ist.

Lehr- und Lernformen

Der Kurs wird über ein personalisiertes und individuell für Sie generiertes Git-Repo durchgeführt. Jede:r Teilnehmer:in muss eine eigenständige Bearbeitung der Praktikumsaufgabe durchführen. Ich ermutige Sie ausdrücklich, Ihre Lösungen in Arbeitsgruppen zu diskutieren. Ein einfaches Copy-Paste von Lösungen (unter Anpassung der Personalisierung) werte ich aber als Täuschungsversuch. Studierende, bei denen ich dieses sehe (und wir haben automatisierte Möglichkeiten, dies zu sehen) werden ohne Vorwarnung vom Kurs ausgeschlossen. Das gilt sowohl für die Person, die kopiert hat, wie auch für die-/denjenigen, die/der die Lösung zur Verfügung gestellt hat.

Prüfungsform

Erfolgreich absolvierte Aufgaben im individuellen Git-Repo.

Materialien/ Ressourcen

Für diese Veranstaltung sind Lehrvideos auf Youtube verfügbar. Abonnieren Sie dafür am besten den Kanal ArchiLab. Für die Videos zu dieser Veranstaltung gibt es eine Playlist.

Außerdem gibt eine Vielzahl von aktuellen Lehrmaterialien auf meiner Laborseite https://www.archi-lab.io/.