Allgemeines

Computer Languages for Engineers
1. Semester, WS
4 SWS, 5 Credits

Prüfung: Klausurarbeit bzw. mündl. Prüfung

Lernziele

Die Studierenden

  • erlernen in der Vorlesung die Fähigkeit, komplexe Problemstellungen aus der numerischen Mathematik bzw. aus der Kontinuumsmechanik mit Hilfe der in diesem Umfeld etablierten Programmiersprachen zu implementieren.
  • erlangen die Fähigkeit Problemstellungen zunächst im Rahmen von Algorithmen zu abstrahieren.
  • erlangen die Fähigkeit Algorithmen zum einen mit den Mitteln der klassischen prozeduralen Programmierung im Umfeld einer klassischen Software-Realistät zu implementieren (z.B. gängige FORTRAN-FE-Plattformen wie FEAP).
  • erlangen die Fähigkeit Algorithmen im Rahmen eines modernen objekt-orientierten Ansatzes für heute übliche Software-Realitäten zu implementieren.
  • erlangen zudem die Fähigkeit die zu modellierende Datenrealität auf gängige Container-Klassen-Konzepte abzubilden und mit Hilfe standardisierter Bibliotheken zu implementieren.

Lehrinhalte

Prozedurale Sprachen

  • Felder und Datenstrukturen
  • Arbeiten mit Dateien mit sequentiellem und direktem Zugriff
  • Implementierung indizierter Listen
  • Speichermangement unter Voraussetzung statischer Felder (Memory-Mapping)

Objektorientierte Sprachen

  • Grundbegriffe objekt-orientierten Modellierens
  • Container-Klassen
  • Rekursive Datenstrukturen, verkettete Listen und Baumstrukturen
  • Einsatz von Template-Bibliotheken

Implementierungsbeispiele iterativer Algorithmen

  • Gauß-Algorithmus mit Spaltenpivotsuche
  • Gauß-Algorithmus als Dreieckszerlegung
  • Cholesky-Verfahren als Dreieckszerlegung unter Berücksichtigung kompakter Datenspeicherung
  • Lösen eines linearen Gleichungssystems mit mehreren rechten Seiten.
  • Gauß-Seidel'sches Iterationsverfahren
  • Jakobi-Verfahren zur Berechnung von Eigenwerten einer symmetrischen Matrix