verstehen grundlegende Konzepte, Prozesse und Werkzeuge der Softwareentwicklung
können Softwareprojekte systematisch planen, leiten, umsetzen und testen
wenden moderne Entwicklungswerkzeuge (z. B. Git, CMake, GoogleTest, Doxygen) sicher an
entwickeln Teamarbeits- und Kommunikationskompetenz
reflektieren Codequalität und dokumentieren Software verständlich
können einen professionellen Test Harness einsetzen (u.a. Mocks, Stubs)
nutzen Test Coverage (Line, Branch) als Feedback zu den definierten Testfällen
programmieren eigenständig in allen Phasen des Projekts (individuelle Programmiernachweise)
nutzen LLM-basierte Werkzeuge (z. B. Code-Assistenten) im Kontext von Software Engineering sinnvoll und verantwortungsvoll – etwa zur Ideenfindung, für Code-Verbesserungen, Testvorschläge oder Dokumentation, ohne eigenes Verständnis und eigene Prüfungen zu ersetzen
setzen statische Codeanalyse ein, z.B. Lint
kennen die test-driven development Philosophie vs. code first
kennen den Nutzen von Coding Guidelines
lernen, wie man sich in einer grösseren/komplexeren bereits bestehenden Code Base zurechtfindet
Kurse in diesem Modul
Software Engineering Fundamentals:
Einführung in den Softwareentwicklungsprozess (V-Modell, iteratives Vorgehen, Konfigurationsmanagement, Pull-Request Workflow)