Modulbeschreibung

Data Engineering and Industrial Artificial Intelligence 1

Kurzzeichen:
M_DEIAI1
Unterrichtssprache:
Deutsch
ECTS-Credits:
4
Arbeitsaufwand (h):
120
Leitidee:

Die Kurse IoT & Scientific Computing kombiniert zwei essenzielle Bereiche der modernen Ingenieurwissenschaften: die Vernetzung und Echtzeit-Datenverarbeitung durch das Internet der Dinge (IoT) sowie die algorithmische Modellierung und Analyse technischer Systeme im wissenschaftlichen Rechnen. Studierende erwerben theoretische und praktische Kompetenzen, um Sensordaten effizient zu erfassen, zu verarbeiten und mit fortgeschrittenen numerischen Methoden auszuwerten. 

Der Kurs IoT & Edge Computing vermittelt Konzepte zur Vernetzung intelligenter Systeme in Anwendungen wie Industrie 4.0, Smart Health, Smart Grids und Smart Cities. Dabei stehen die Architektur und Implementierung verteilter Sensornetzwerke, Echtzeit-Datenanalyse sowie Edge-Computing-Technologien zur lokalen Vorverarbeitung im Mittelpunkt. Studierende lernen, wie Sensordaten effizient erfasst, verarbeitet und in vernetzten Systemen genutzt werden. 

Der Kurs Scientific Computing vertieft die algorithmischen Grundlagen für die Analyse komplexer Datenmengen. Ein besonderer Fokus liegt auf Datenstrukturen (z. B. Listen, Graphen, Heaps) und Algorithmendesign (iterativ, rekursiv, funktional) als Basis für effiziente Berechnungen. Darüber hinaus werden Methoden der extensiven und informierten Suche behandelt, um komplexe Optimierungsprobleme zu lösen – ein zentraler Einstieg in die Welt des Maschinellen Lernens. Studierende lernen, wie numerische Simulationen mit strukturierten Daten effizient durchgeführt werden und wie fortgeschrittene Such- und Optimierungsalgorithmen zur Lösung realer Ingenieurprobleme eingesetzt werden können. 

Durch die enge Verknüpfung beider Themenbereiche verstehen Studierende, wie IoT-Daten durch wissenschaftliche Algorithmen analysiert und interpretiert werden können. Sie entwickeln praxisnahe Anwendungen, die Sensordaten in Echtzeit verarbeiten und numerische Methoden zur Entscheidungsfindung nutzen. Das Modul bereitet somit auf fortgeschrittene Anwendungsfelder wie Maschinelles Lernen, intelligente Steuerungssysteme und datengetriebene Simulationen vor. 

Modulverantwortung:
Prof. Dr. Würsch Christoph
Lehrpersonen:
Prof. Dr. Würsch Christoph
Standort (angeboten):
Buchs, Lerchenfeld St.Gallen
Zusätzliche Eingangskompetenzen:

Ebenfalls sollten die beiden Module ELA1  und ELA 2 besucht worden sein.

Modultyp:
Wahlpflicht-Modul für Mechatronik BB STD_24(Empfohlenes Semester: 5)Kategorie:Vertiefungsmodule (Kat_VT_MT)
Wahlpflicht-Modul für Mechatronik VZ STD_24(Empfohlenes Semester: 3)Kategorie:Vertiefungsmodule (Kat_VT_MT)
Wahlpflicht-Modul für Systemtechnik BB STD_05(Empfohlenes Semester: 5)Kategorie:Profilmodule (PM)
Bemerkungen:

Das Modul findet im Herbstsemester statt.

Modulbewertung:
Note von 1 - 6

Leistungsnachweise und deren Gewichtung

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

Die Modulschlussprüfung findet in zwei Teilen statt. Der erste Teil umfasst den Kurs IoT & Edge Computing und der zweite Teil umfasst den Kurs Scientific Computing. Beide Teile dauern je 60 Minuten.  

Während der Unterrichtsphase:

Im Kurs Scientific Computing wird ein Projekt mittels Bericht, Präsentation und Fachgespräch bewertet.

Bewertungsart:
keine Note oder Wertung
Gewichtung:

Es findet eine abgesetzte Modulschlussprüfung in zwei Teilen statt. Der erste Teil umfasst den Kurs IoT & Edge Computing  (Gewicht 50%) und der zweite Teil umfasst den Kurs Scientific Computing (Gewicht 25%). Im Kurs Scientific Computing wird zusätzlich ein Projekt mittels Bericht, Präsentation und Fachgespräch (Gewicht 25%) bewertet.

Bemerkungen:

Inhalte

Angestrebte Lernergebnisse (Abschlusskompetenzen):

 Einführung in das Edge-, Fog- und Cloud-Computing im Kontext von IoTWissenschaftliches Rechnen ist eine zentrale Disziplin in der Ingenieurwissenschaft und spielt eine entscheidende Rolle in der Mechatronik. Dieser Kurs vermittelt grundlegende numerische Methoden und Algorithmen, die zur Modellierung, Simulation und Analyse komplexer technischer Systeme eingesetzt werden. Studierende erlernen nicht nur die theoretischen Grundlagen, sondern auch deren praktische Anwendung mithilfe moderner Software-Werkzeuge. 

Ein besonderes Augenmerk liegt auf der Effizienz von Algorithmen, der numerischen Stabilität sowie der angemessenen Wahl von Datenstrukturen. Dabei werden verschiedene mathematische Konzepte wie Graphentheorie, Interpolation, numerische Integration und symbolisches Rechnen behandelt. Durch praxisnahe Beispiele und Implementierungsaufgaben erhalten die Studierenden einen tiefgehenden Einblick in die numerische Lösung ingenieurwissenschaftlicher Problemstellungen. 

 

Die Studierenden

  • können in Python Klassen und Funktionen zur Lösung technischer numerischer Probleme schreiben und verwenden. 
  • kennen die Vor- und Nachteile des iterativen, rekursiven und funktionalen Programmierens sowie deren Unterschiede. 
  • können die Kondition eines Problems beurteilen sowie die Stabilität eines einfachen Algorithmus abschätzen. 
  • können die Komplexität (Rechen- , Speicherkomplexität) eines Algorithmus abschätzen und kennen die O(n)-Notation. 
  • kennen die wichtigsten Such- und Sortierverfahren: z.B. Binäre Suche, Quick Sort, Heap Sort.
  • können numerische Verfahren zur Lösung von eindimensionalen Gleichungen f(x)=0 anwenden (Nullstellensuche). 
  • können Polynome und Splines in 1D zur Interpolation, Integration und Differenzierung verwenden. 
  • können Quadraturverfahren zur numerischen Approximation von eindimensionalen Integralen verwenden. 
  • kennen Graphen als Werkzeuge zur Modellierung diskreter Probleme. 
  • können einfache Suchverfahren (BFS, DFS, A*) in Graphen verwenden und kennen die zugehörigen Datenstrukturen (queue, stack, heap). 
  • können die gelernten theoretischen Konzepte in praktischen Anwendungen umsetzen. 
  • können Messdaten auslesen, visualisieren, quantisieren, glätten, integrieren, differenzieren und interpolieren. 
Modul- und Lerninhalt:
  • Einführung Algorithmen und Komplexität, Zahlendarstellung 
  • Rekursion und Backtracking: Nullstellensuche 
  • Kondition eines Problems und Komplexitätsanalyse 
  • Lineare Datenstrukturen (queue, stack, heap) 
  • Graphen als Datenstrukturen 
  • Suche auf Graphen (BFS, DFS, A*) 
  • Graphenalgorithmen: z.B. Diijkstra, Page Rank 
  • Polynom-Interpolation: Lagrange-Polynome 
  • Integration: Quadraturregeln und Gauss Integration
  • Einführung in die Vektorräume orthogonaler Polynome (Basisfunktionen) 
  • Kubische Splines und B-Splines 
  • Symbolisches Lösen (sympy) 
Lehr- und Lernmethoden:

 Vorlesung, Selbststudium, Übungen 

Lehrmittel/-materialien:

Vorlesungsskript 
 

  1. Robert Johansson: Numerical Python. Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib.  
    https://link.springer.com/book/10.1007/978-1-4842-4246-9 
  2. Svein Linge , Hans Petter Langtangen: Programming for Computations – Python, A Gentle Introduction to Numerical Simulations with Python 3.6, Textbook Open Access © 2020,  https://link.springer.com/book/10.1007/978-3-030-16877-3 
  3. Hans Petter Langtangen: A Primer on Scientific Programming with Python https://link.springer.com/book/10.1007/978-3-662-49887-3    
  4. Hans Petter Langtangen: Elements of Scientific Computing https://link.springer.com/book/10.1007/978-3-642-11299-7  
Bemerkungen:

Unterrichtssprache Deutsch (Fachbegriffe und Material teilweise auf Englisch)