Dieses Skript begleitet den Kurs “Software Engineering für Data Science” im Studiengang DAISY an der Hochschule Düsseldorf.
Es werden die Grundlagen der Programmierung in Python vorausgesetzt (Einführung Programmieren). Dort haben wir mit Python, einschließlich zahlreicher Python Bibliotheken gearbeitet, der Fokus lag dabei aber erstmal auf grundlegenden Programmierkonzepten und dem Umgang mit Python, und noch nicht so sehr auf Fragen der Robustheit, Effizienz, oder Skalierbarkeit der Code Lösungen.
In diesem Kurs soll es nun darum gehen ein Software-Projekt im Team umzusetzen. Das geht in den Anforderungen deutlich über das bisher gelernte hinaus, etwa wenn:
eine Datenanalyse auf verschiedenen Datensätzen, durch verschiedene Personen, oder zu verschiedenen Zeitpunkten erneut durchgeführt werden soll (Stichwort: “Reproduzierbarkeit”)
ein Produkt das Ziel des Projektes ist. Zum Beispiel ein Machine Learning Modell das später in einer bestimmten Software verwendet werden soll. Oder eine Web-App, ein Dashboard, eine Erkennungsmethode usw.
die Abläufe/Analysen in eine umfangreicher Software (oder auch ein umfangreicheren Workflow) eingefügt werden sollen.
weitere Optimierungsschritte nötig sind
Um auf diese Stufe zu kommen müssen wir uns mit einigen Aspekten aus dem Bereich Softwareentwicklung vertraut machen. Wichtige Ziele sind dabei:
Code schreiben der verlässlich ist (ausgibt was er soll).
Code schreiben der nachhaltig funktioniert (also nicht mehr: “auf meinem Rechner lief aber alles...”).
Code mit mehreren Leuten entwickeln.
Code optimieren.
Dazu werden im folgenden viele zentrale Konzepte und Techniken aus dem Bereich Software Engineering eingeführt und erlernt. Viel Erfolg dabei!