Home Reader Ansicht Download PDF

Modul 309 Programmierkonzepte für Künstliche Intelligenz

Modul-Nr./ Code

309 / PFKI

Studiengang

Angewandte Informatik (B.Sc.)
Angewandte Informatik – dual (B.Sc.)
Wirtschaftsinformatik (B.Sc.)
Wirtschaftsinformatik – dual (B.Sc.)

Geförderte Kompetenzen

Fach- und Methodenkompetenz

Angestrebte Lernergebnisse des Moduls

Nach erfolgreichem Absolvieren dieses Moduls sind die Studierenden in der Lage,

  • Python auf fortgeschrittenem Niveau und die zentralen Data-Science-/KI-Bibliotheken sicher einzusetzen

  • Programmierparadigmen bewusst zu unterscheiden und zu kombinieren (prozedural, objektorientiert, funktional) und idiomatischen Python-Code zu schreiben

  • die Konsequenzen dynamischer Typisierung und hoher Abstraktion einzuschätzen und datenzentriert zu denken (Arrays/Vektorisierung statt elementweiser Schleifen)

  • in PyTorch den Trainings-Loop für ein einfaches neuronales Netz selbst aufzusetzen (Tensoren, Autograd, Forward-/Backward-Pass, Optimierungsschritt) und es lauffähig zu trainieren

  • zu erklären, wie ein Framework intern arbeitet und wie Berechnungen auf die GPU gelangen

  • das GPU-Ausführungs- und Kostenmodell in Grundzügen zu erklären (Parallelität, Speicherhierarchie, Matrixmultiplikation, Genauigkeit)

  • Performance, Speicherbedarf und Kosten realer Modelle einzuschätzen und Optimierungshebel (Quantisierung, Batching, Parallelisierung) begründet auszuwählen

  • einen einfachen CUDA-Kernel zur Anschauung selbst zu schreiben und mit Hilfe eines Profilers Engpässe zu identifizieren

Inhalte des Moduls

  • Python von den Grundlagen bis zu fortgeschrittenen Konzepten (idiomatische Programmierung, objektorientiertes Arbeiten, Arbeitsumgebung)

  • Zentrale Bibliotheken für Data Science und KI (NumPy, pandas, Matplotlib, scikit-learn, etc.)

  • PyTorch: Tensoren, automatische Differenzierung (Autograd), Trainings-Loop sowie Aufbau und Training neuronaler Netze

  • Interne Funktionsweise von Frameworks: PyTorch als Orchestrierungsschicht über optimierten Kernel-Bibliotheken (z. B. cuBLAS, cuDNN)

  • Grundlagen der GPU-Programmierung mit CUDA: Programmiermodell (Threads/Blocks), Speicherhierarchie und Speicherbandbreite, Matrixmultiplikation (GEMM) als rechnerischer Kern, Tensor Cores, reduzierte Genauigkeit (FP16/BF16)

  • Aufbauende Themen: Quantisierung, Deployment großer Modelle, Multi-GPU-Parallelisierung

  • Ausblick auf aktuelle Entwicklungen, z. B. Mojo (GPU-Code in einer Python-nahen Sprache, an Rust angelehnte Konzepte für Speichersicherheit)

  • Querschnittsthema: KI-gestütztes Programmieren – Werkzeuge sinnvoll und reflektiert einsetzen

Studiensemester

3 - 5

Dauer des Moduls

ein Semester

SWS

2 SWS (Seminar) + 2 SWS (Übung)

Häufigkeit des Modulangebots

Semesterweise

Zahl der zugeteilten ECTS-Credits

6

Gesamtworkload

150 Stunden

Kontaktzeit

60 Stunden

Selbststudium

90 Stunden

Art des Moduls (Pflicht, Wahl, etc.)

Wahlpflichtmodul

Verwendbarkeit des Moduls

Grundlage für weiterführende KI-/ML-Module (z. B. Architektur neuronaler Netze, Machine Learning). Aufbau, Architektur und Theorie neuronaler Netze (Modellfamilien, Trainingsverfahren im Detail) sind Gegenstand dieser Module; hier liegt der Fokus auf der programmiertechnischen Umsetzung und der Ausführung auf der GPU.

Teilnahmevoraussetzungen

Eine vorherige erfolgreiche Teilnahme an den Modulen Prozedurale Programmierung (PROG1) und Objektorientierte Programmierung (PROG2) wird dringend empfohlen. Solide Programmierkenntnisse werden vorausgesetzt; Python-Kenntnisse werden nicht vorausgesetzt.

Modulverantwortliche Person

Prof. Dr. Kurpjuweit

Dozentin / Dozent

Prof. Dr. Kurpjuweit

Unterrichtssprache

Deutsch

Art der Prüfung / Voraussetzung für die Vergabe von Leistungspunkten

Schriftliche Prüfung (E-Klausur lt. §13 Abs. 3 RPO) mit praktischem Anteil.

Prüfungsdauer

90 Minuten

Prüfung benotet / unbenotet

Benotet

Notengewicht in der Gesamtnote

Entsprechend der ECTS-Punkte

Lehr- und Lernmethoden

Vorlesung; begleitetes Praktikum am Rechner mit Programmieraufgaben; Selbststudium anhand von Notebooks und Begleitmaterial.

Besonderes (z.B. Online-Anteil, Praxisbesuche, Gastvorträge, etc.)

-

Pflichtlektüre

-

zusätzlich empfohlene Literatur

  • Ramalho, L.: Fluent Python. 2. Aufl., O’Reilly, 2022.

  • VanderPlas, J.: Python Data Science Handbook. 2. Aufl., O’Reilly, 2022.

  • Raschka, S.; Liu, Y.; Mirjalili, V.: Machine Learning with PyTorch and Scikit-Learn. Packt, 2022.

  • Géron, A.: Hands-On Machine Learning with Scikit-Learn and PyTorch. O’Reilly, 2025.

  • McKinney, W.: Python for Data Analysis. 3. Aufl., O’Reilly, 2022.

  • Sanders, J.; Kandrot, E.: CUDA by Example. Addison-Wesley, 2010.

  • NVIDIA CUDA C++ Programming Guide.

  • Hwu, W.; Kirk, D.; El Hajj, I.: Programming Massively Parallel Processors – A Hands-on Approach. 4. Aufl., Morgan Kaufmann, 2022.