So2021 Scientific Programming with C++
Semester | Sommersemester 2021 |
Vorlesender | Dr. Simon Praetorius |
Zeit und Ort |
V Di 6. DS (16:40-18:10), (online) |
Schwerpunkte des Moduls sind Aspekte der Softwareentwicklung, wie beispielsweise die Programmierung auf Hochleistungsrechnern, objektorientierte Programmierung oder generische (template-basierte) Programmierung. Die Studierenden besitzen ein systematisches Verständnis von Aspekten der Entwicklung von Software zur effizienten Realisierung numerischer Algorithmen. Sie haben Erfahrungen in der Beurteilung, Anwendung und Erweiterung solcher Software.
Der Kurs wird angeboten für Studierende im Bereich Mathematik, Technomathematik und Wirtschaftsmathematik, sowie für Studierende im Studiengang "Computational Modeling and Simulation" (CMS), insbesondere aus der Vertiefung "Computational Mathematics".
In dem Modul im Wintersemester wird der Schwerpunkt auf die Softwareentwicklung mittels C++ gesetzt. Dabei können die Lerninhalte in drei zentralen Punkten zusammengefasst werden:
- Die Studierenden können mittels moderner C++ Programmierung ein Software-Projekt realisieren. Insbesondere auch mittels Techniken wie generischer Programmierung, Meta-Programmierung, und Expressiontemplates.
- Die Studierenden können Hilfsprogramme einsetzen, um die eigenen Programmcodes zu analysieren, zu debuggen, zu benchmarken und zu verwalten. Darunter zählen beispielsweise Compiler, Build Systeme, Versionskontrollsysteme, Debugger, und Profiler.
- Die Studierenden können (wissenschaftliche) Softwarebibliotheken verstehen und anwenden. Darunter zählen beispielsweise BLAS (Basic Linear Algebra Subroutines), LAPACK (Linear Algebra Package), STL (Standard Template Library), Dune (Distributed and Unified Numerics Environment), MTL4 (Matrix Template Library), und Boost (Zusammenstellung von C++ Bibliotheken).
Das Modul beinhaltet eine wöchentlich Übung zur C++-Programmierung und Programmierprojekte in Gruppen. Ein wichtiger Teil des Kurses sind auch die Betrachtung und Begutachtung (review) von C++ Code.
Anmeldung
Die verfügbaren Plätze für den Kurs sind begrenzt. Es ist daher notwendig sich einzuschreiben! Bitte dazu in OPAL der Lerngruppe beitreten und im Kurs registrieren. Das Lernmaterial und Links zu den Videoinhalten wird nur eingeschriebenen Studierenden zur Verfügung gestellt.
Links zum Kurs
OPAL: So2021 Scientific Programming - Advanced Aspects
Selma: Scientific Programming - Advanced Aspects