Modulbeschreibung

Software Engineering Fundamentals

ECTS-Credits:
3
Lernziele:

Die Studierenden sind in der Lage,

  • grundlegende Konzepte, Prozesse und Werkzeuge der Softwareentwicklung nachvollziehbar zu erklären und in einem praxisnahen Projektkontext einzuordnen.
  • sich systematisch in einer bestehenden Codebasis zurechtzufinden, deren Struktur zu analysieren und gezielte Erweiterungen vorzunehmen.
  • ein kleines Softwareprojekt strukturiert zu planen, eigenständig umzusetzen, zu integrieren, zu dokumentieren und kritisch zu reflektieren.
  • Software modular zu strukturieren, geeignete Schnittstellen zu entwerfen und dadurch Wartbarkeit, Wiederverwendbarkeit und Testbarkeit zu verbessern.
  • automatisierte Tests für zentrale Programmfunktionen zu entwickeln, kontrollierbare Testumgebungen einzusetzen und die Testqualität kritisch zu beurteilen.
  • Codequalität anhand vereinbarter Qualitätskriterien, Reviews und automatisierter Rückmeldungen zu bewerten und gezielt zu verbessern.
  • im Team technische Aufgaben zu koordinieren, Entscheidungen nachvollziehbar zu kommunizieren und KI-basierte Werkzeuge reflektiert einzusetzen.

Kurse in diesem Modul

Software Engineering Fundamentals:
  • Durchgehendes C++-Mini-Projekt
  • Softwareentwicklungsprozess, iteratives Vorgehen, einfache Projektplanung, Issues, Definition of Done und Pull-Request-Workflow
  • Git, Branches, Commits, Pull Requests, Code Reviews und Continuous Integration als Grundlage kollaborativer Softwareentwicklung
  • CMake und Dev-Container für Build, Tests und reproduzierbare Entwicklungsumgebungen
  • Code-Organisation, Modularisierung, Schnittstellen, Wiederverwendbarkeit und Refactoring
  • Unit Testing mit GoogleTest, Testkonzepte, test-driven development und einfache Test Doubles
  • Test Coverage, statische Codeanalyse, Coding Guidelines und Nutzung von CI-Rückmeldungen zur Qualitätsverbesserung
  • Dokumentation mit README und Doxygen sowie verständliche Kommunikation technischer Entscheidungen
  • Teamarbeit mit individuellem Codeanteil, Review-Kultur und reflektierter Nutzung von LLM-basierten Werkzeugen

 

(Änderungen vorbehalten)

Vorlesung mit 1 Lektionen pro Woche
Praktikum mit 2 Lektionen pro Woche
Disclaimer

Diese Beschreibung ist rechtlich nicht verbindlich! Weitere Informationen finden Sie in der detaillierten Modulbeschreibung.