So2023 Scientific Programming - Advanced Concepts

Titelbild des Kurses
Fakultät Mathematik | Sommersemester 2023 So2023 Scientific Programming - Advanced Concepts

This course covers aspects of software development such as generic (template-based) programming, object-oriented software design, and efficient implementation of numerical algorithms. Students will also gain experience in analyzing, using, and extending software libraries. This summer term module focuses on software development using the C++ programming language.

Three main learning objectives can be formulated:

  1. You know how to program with modern C++, using generic programming and advanced techniques such as metaprogramming, expression templates, and c++-concepts.
  2. You know how to use programming tools, and you can use these tools to debug, benchmark, and manage your code. The list of tools includes compilers, build systems, version control, debuggers, and profilers.
  3. You will be able to read, understand, and use (scientific) software libraries such as BLAS (Basic Linear Algebra Subroutines), LAPACK (Linear Algebra Package), STL (Standard Template Library), Dune (framework for discretizing partial differential equations), MTL4 (Matrix Template Library), Boost (portable C++ library).

There are weekly exercises to practice C++ programming. During the semester, group programming projects will be assigned. Important parts of the exercises are reviews of C++ code. You will receive reviews of your own code and you will have to perform reviews of the code of others in the course.

Zugang zum Kurs gesperrt. Bitte melden Sie sich an. Login
Informationen zum Zugang
Sie haben zu wenig Berechtigungen, um diesen Kurs zu starten.