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 lernst du, deine Applikationen als überwachter Service Dritten zur Verfügung zu stellen.
Eckdaten
- ECTS-Punkte
- 2,5
- Nächster Start
- 28.9.2024
- Dauer
- 3 Unterrichtstage
- Unterrichtstage
- 28.9.2024 / 19.10.2024 / 26.10.2024
- Unterrichtssprache
- Deutsch
- Ort
- FHNW Campus Brugg-Windisch
- Preis
- CHF 1500.–
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 erlernst du die Software-Engineering-Grundlagen in Python mit Fokus auf Data-Science-Projekte, damit du in der Lage bist, robusten, wiederverwendbaren und leicht verständlichen Code zu schreiben. Du wirst 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 erlernst du verschiedene Möglichkeiten, wie du dein Programm als Service zur Verfügung stellst und die Zugriffe darauf wie auch den Zustand deines Programms überwachst.
Du profitierst von Best-Practices-Tipps und siehst auch, welche Unterstützungen Entwicklungsumgebungen im ganzen Software-Entwicklungsprozess bieten.