Modulbeschreibung

Python für ML

Kurzzeichen:
M_PML
Unterrichtssprache:
Deutsch
ECTS-Credits:
4
Leitidee:

Dieses Modul vermittelt fortgeschrittene Python-Konzepte, die für die Entwicklung effizienter KI- und Datenverarbeitungsanwendungen relevant sind. Im Mittelpunkt steht, wie sich durch moderne Sprachfeatures und strukturierte Programmieransätze performante, wartbare und testbare Programme erstellen lassen.
Studierende mit grundlegenden Python-Kenntnissen vertiefen ihr Verständnis der Sprache und lernen, wie sie komplexe Aufgaben mit objektorientierten, funktionalen und datenorientierten Ansätzen effizient lösen können. 
Ein Schwerpunkt liegt darauf, Python so zu verstehen, dass spätere Themen wie Machine Learning, Deep Learning und generative KI nicht an der Programmierung scheitern – also die «AI-ready» Python-Grundlage zu schaffen, ohne bereits ML- oder DNN-Wissen vorauszusetzen.

Modulverantwortung:
Malacarne Selina Rea
Lehrpersonen:
Malacarne Selina Rea
Standort (angeboten):
Rapperswil-Jona
Modultyp:
Wahlpflicht-Modul für Informatik STD_14(Empfohlenes Semester: 2)Kategorien:Informatik (I_Inf), Rahmenausbildung (Kat_RA)
Wahlpflicht-Modul für Informatik STD_21(Empfohlenes Semester: 2)Kategorien:Informatik (I_Inf), Rahmenausbildung (Kat_RA)
Wahlpflicht-Modul für Informatik STD_23(Empfohlenes Semester: 2)Kategorien:Informatik (I_Inf), Rahmenausbildung (Kat_RA)
Modulbewertung:
Note von 1 - 6

Leistungsnachweise und deren Gewichtung

Modulschlussprüfung:
Schriftliche Prüfung, 120 Minuten
Bemerkungen zur Prüfung:

Hilfsmittel für Prüfung: Eine mit der Prüfung abgegebene Zusammenfassung (Änderungen vorbehalten).

Während der Unterrichtsphase:
Bewertungsart:
Note von 1 - 6

Inhalte

Angestrebte Lernergebnisse (Abschlusskompetenzen):

Dieses Modul vermittelt fortgeschrittene Python-Konzepte, die für die Entwicklung effizienter KI- und Datenverarbeitungsanwendungen relevant sind. Im Mittelpunkt steht, wie sich durch moderne Sprachfeatures und strukturierte Programmieransätze performante, wartbare und testbare Programme erstellen lassen.
Studierende mit grundlegenden Python-Kenntnissen vertiefen ihr Verständnis der Sprache und lernen, wie sie komplexe Aufgaben mit objektorientierten, funktionalen und datenorientierten Ansätzen effizient lösen können. 
Ein Schwerpunkt liegt darauf, Python so zu verstehen, dass spätere Themen wie Machine Learning, Deep Learning und generative KI nicht an der Programmierung scheitern – also die «AI-ready» Python-Grundlage zu schaffen, ohne bereits ML- oder DNN-Wissen vorauszusetzen.

Modul- und Lerninhalt:

Das Modul beinhaltet unter anderem folgende Themen:

 

  • Grundlagen Python: Auffrischung zentraler Sprachkonzepte wie Datentypen, Funktionen, Module und Package Managern.
  • Objektorientierte Programmierung (OOP): Anwendung von Klassen, Vererbung und Abstraktion zur Strukturierung von Programmen.
  • Iterators und Generators: Implementierung speicher- und laufzeiteffizienter Datenverarbeitung mittels Lazy Evaluation.
  • Funktionaler Programmierstil: Saubere, testbare und wartbare Datenpipelines erstellen. Die Inhalte umfassen map, filter, reduce und deren Kombination mit Generatoren zur effizienten Datenverarbeitung.
  • Testing: Einsatz geeigneter Testframeworks zur Entwicklung robuster Software. 
  • NumPy und Vektorisierung: Effiziente numerische Berechnungen mit Arrays und Broadcasting-Techniken.
  • Pandas: Verarbeitung, Transformation und Analyse strukturierter Daten mit DataFrames.
  • Visualisierung von Daten: Nutzung geeigneter Bibliotheken zur Visualisierung von Daten und Ergebnissen. 
  • Profiling und Performance-Optimierung: Analyse und Verbesserung der Laufzeit von Python-Programmen.
  • Parallelisierung: Nutzung von Threads, Prozessen und asynchroner Programmierung zur besseren Auslastung moderner Hardware.
  • PyTorch Internals: Einführung in Tensors, Automatic Differentiation (Autograd, auch ohne DNN-Vorkenntnisse). 
  • Custom Datasets:  Implementierung eigener Pytorch Dataset- und DataLoader-Klassen mit Lazy Loading.
  • PyTorch Lightning: Optional; höhere Abstraktion zur Vereinfachung von Trainingsschleifen und reproduzierbaren Workflows.

 

(Änderungen und Anpassungen vorbehalten.)

 

Das Modul legt den Fokus auf ein tiefes Verständnis moderner Python-Techniken und deren praktische Anwendung in  KI- und Data-Science-Projekten.