Modulbeschreibung

Computational Engineering I

ECTS-Punkte:
12
Lernziele:

Die Studierenden

  • können endlich-dimensionale Vektoren in verschiedenen Basen darstellen.

  • können Eigenwerte und Eigenvektoren von Matrizen berechnen

  • kennen die Bedeutung der Eigenwertzerlegung von Matrizen und können sie in praktischen Situationen anwenden.

  • können das Konzept der Orthogonalbasis auf Funktionenräume übertragen.

  • können mit linearen Operatoren arbeiten und deren Eigenfunktionen bestimmen.
  • können die Fourierreihendarstellung berechnen und als Basisentwicklung interpretieren.

  • können die Fouriertransformation als lineare Abbildung verstehen und anwenden.
  • verstehen das Konzept der Faltung und können den Faltungssatz anwenden.

 

  • können die Programmiersprache Python zur Lösung wissenschaftlicher Fragestellung verwenden.

  • können in Python Klassen und Funktionen selber 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 numerische Verfahren zur Lösung von eindimensionalen Gleichungen anwenden.

  • können Polynome und Splines in 1D zur Interpolation verwenden.

  • können Quadraturverfahren zur numerischen Approximation von eindimensionalen Integralen verwenden.

  • wissen, wie ein Computer Pseudo-Zufallszahlen generiert und können Monte-Carlo-Methoden zur approximativen Lösung von mathematischen Problemen einsetzen.

  • kennen Graphen als Werkzeuge zur Modellierung diskreter Probleme.

  • können einfache Suchverfahren in Graphen verwenden.

  • können die theoretischen Konzepte in praktischen Anwendung umsetzen.

  • können Messdaten auslesen uns visualisieren.

  • können reale Messdaten quantisieren und interpolieren.

 

  • können ein Relationales Datenmodell entwerfen.

  • können Datenmodelle in einer relationalen Datenbank implementieren. können die Abfragesprache SQL einsetzen (DML, DDL).

  • können mit JDBC auf eine DB zugreifen.

  • verstehen verschiedene Informationssystem-Architekturen. können ein einfaches Data Warehouse planen und realisieren.

 

  • kennen die Arbeitsweise von events, slots und signals.

  • können in Python GUIs mit unterschiedlichen layouts und widgets erzeugen .

  • Können Web-Apps/Data-Apps für Daten Visualisierung und Analyse auf Data Dashboards wie z.B. streamlit, Plotly Dash, Voila o.ä. entwickeln.

  • wissen wir man den Qt Model View Controller einsetzt.

  • können Daten aus einer Gegebenen Quelle und Format laden und zur weiteren Verarbeitung aufbereiten.
  • können Daten mithilfe einer Backend-Bibliothek wie Pandas bearbeiten und analysieren.
  • sind in der Lage, Diagramme und Grafiken mit Hilfe einer Grafikbibliothek wie z.B. Matplotlib, Plotly, Bokeh,  zu erstellen.
  • können Nutzerinput über eine Frontend-Bibliothek wie z.B. React (über Streamlit) entgegennehmen.
  • sind in der Lage, Nutzeranfragen zu bearbeiten und die Ergebnisse dann als Webseite über Webframework wie Tornado bereitzustellen.
  • sind in der Lage ein Projekt auf einer Software Entwicklungsplattform (GitHub, GitLab) einzurichten und diese korrekt zu verwenden.

Kurse in diesem Modul

Höhere Mathematik:

1. Lineare Algebra

    -  Lineare Hülle und Vektorraum
    - Basis, Basiswechsel 
    - Orthonormale Basen 
    - Eigenwerte und Eigenvektoren 
    - Eigenbasis und Diagonalisierung
    - Anwendungen: Spannungstensor, dielektr. Tensor, Diffusionstensor
2. Funktionenräume
    - Basis, Basiswechsel
    - Orthonormalbasen 
    - Monombasis und Fourierbasis
    - lineare Operatoren und Eigenfunktionen
3. Fouriertransformation
    - diskrete Fouriertransformation als linearer Operator
    - kontinuierliche Fouriertransformation
    - Faltung und Faltungssatz
    - Korrelation

Klassenunterricht mit 4 Lektionen pro Woche
Wissenschaftliches Rechnen:

1.  Grundlagen des Wissenschaftlichen Rechnens
     - Die Programmiersprache Python
     - Zahlendarstellungen
     - Funktionen und Algorithmen
     - Nullstellensuche, Interpolation Quadratur
2.  Interpolation
     - Polynominterpolation
     - Spline Interpolation
3.  Graphen
     - Definition von Graphen
     - Suchalgorithmen

Klassenunterricht mit 4 Lektionen pro Woche
Datenbanken:

Es werden die Grundlagen klassischer Datenbankanwendungen vermittelt. Im Vordergrund stehen Relationale Datenbanksysteme, Client-Server Architekturen sowie der Aufbau eines Data Warehouse.

  • Die Abfragesprache SQL2016 
  • Datenmodellierung, ERM, Kardinalitäten 
  • Relationales Modell, Normalformen
  • Datenbankobjekte (z.B. View, Index, Stored Procedures) 
  • Client-side development (JDBC)
  • Transactions, Concurrency Control 
  • n-tier Architekturen
  • Thin Client / Thin Server (z.B. SQLite)
  • Fast Prototyping und Data Exploration (z.B. Pandas DataFrame)
  • Data Warehousing (Star-Schema, ETL, OLAP)
Klassenunterricht mit 4 Lektionen pro Woche
Data Analytics and Visualization:
  • Einführung in PyQt5
  • Erstellen eigener Desktop Applikationen mit PyQt
Selbststudium mit 0 Lektionen pro Woche
Disclaimer

Diese Beschreibung ist rechtlich nicht verbindlich! Weitere Informationen finden Sie in der detaillierten Modulbeschreibung.