Modul: Software Engineering für Data Scientists
Dank Software-Engineering-Prinzipien wie Versionskontrolle, Coding-Prinzipien, Software-Testing, Logging, und Build-Systemen robusten, korrekten wiederverwendbaren und leicht verständlichen Code schreiben. Zudem lernen Sie, Ihre Applikationen als überwachter Service Dritten zur Verfügung zu stellen.
Eckdaten
- ECTS-Punkte
- 2,5
- Nächster Start
- 25. März 2023
- Dauer
- 3 Unterrichtstage
- Unterrichtstage
- Freitag & Samstag
- Unterrichtssprache
- Deutsch
- Ort
- FHNW Campus Brugg-Windisch
- Preis
- CHF 1'500.- (Ehemalige) / CHF 2'000.- (Externe)
In Data-Science-Projekten kommen häufig Jupyter-Notebooks zum Einsatz. Diese eignen sich sehr gut für das schnelle Prototyping und die Veranschaulichung der Analysen, werden aber mit wachsender Grösse auch schnell unübersichtlich. Zudem sind zentrale Elemente der Software-Entwicklung wie Testing, Versionskontrolle oder Wiederverwendung von Code nicht oder nur schwer damit realisierbar. Doch genau diese und weitere Software-Engineering-Konzepte sind auch im Kontext von Data Science von zentraler Bedeutung, um nachhaltigen und korrekten Code zu schreiben und innerhalb der Firma wiederzuverwenden.
Modulübersicht
In diesem Modul erlernen Sie die Software-Engineering Grundlagen in Python mit Fokus auf Data-Science-Projekte, damit Sie in der Lage sind, robusten, wiederverwendbaren und leicht verständlichen Code schreiben. Sie werden die wichtigsten Elemente des Software-Engineerings wie Versionskontrolle, Code-Reviews, Refactorings, Coding-Prinzipien (z.B. DRY), Software-Testing, Logging, Coding-Guidelines und Build-Systeme kennenlernen und umsetzen. Auch wenn es sich um viele klassische Elemente aus der Software-Entwicklung handelt, wird der Fokus auf Data-Science-Projekte gelegt. Versionierung beinhaltet nicht nur Code-Versionierung, sondern auch die Versionierung von Modellen und Daten, damit Experimente reproduzierbar sind. Zudem erlernen Sie verschiedene Möglichkeiten, wie Sie Ihr Programm als Service zur Verfügung stellen und die Zugriffe darauf wie auch der Zustand Ihres Programms überwachen.
Sie profitieren von Best-Practices-Tipps und sehen auch, welche Unterstützungen Entwicklungsumgebungen im ganzen Software-Entwicklungsprozess bieten.