So2022 Scientific Programming With C++
Term | Summer Term 2022 |
Lecturer | Dr. Simon Praetorius |
Time and location |
Lecture Tue 6. DS (16:40-18:10), Z21/217 |
The focus of this module lies on aspects of software development like programming on high-performance computers, object-oriented software design, generic (template-based) programming, and the efficient implementation of numerical algorithms. Additionally experience in analysis, application and extension of software and software libraries is developed. This module in the winter term especially focuses on software development with the programming language C++.
This course is for students of Mathematics, Technomathematics, and Mathematics in Business and Economics as well as for students in the masters programs "Computational Modeling and Simulation" (CMS) especially for the specialization in Computational Mathematics.
Three main learning goals can be formulated:
- You know how to program with modern C++, using generic programming and advanced techniques, like meta programming, expression templates, and concepts.
- You know how to use programming tools and you can apply these tools to debug, benchmark, and manage your code. The list of tools include compilers, build systems, version control, debuggers, and profilers.
- You can read, understand, and utilize (scientific) software libraries, like BLAS (Basic Linear Algebra Subroutines), LAPACK (Linear Algebra Package), STL (Standard template library), Dune (framework for the discretization of partial differential equations), MTL4 (Matrix Template Library), Boost (portable C++ library).
There are exercises every week to practice the C++ programming. During the semester programming projects in groups are assigned. Important parts of the exercises are reviews of C++ code. You will get reviews for your own written code and have to perform reviews of the code of others in the course.
Registration
Please sign up for the learning group and module in OPAL and in Selma to enroll for the exams later. Material for the lecture and execises are provided after registration.
Examination
The exam in SCPROG will be individual oral exams of 20min in presence. You have to show that you have understood the concepts introduced in the lecture and that you can understand given c++ code and can produce a small working code. The individual exam-dates will be in August 2022 and will be assigned in the OPAL course, where also more details about the examination is given.
Re-Examination
A re-exam will take place in February 2023 for those who are eligible for the re-examination. Please contact you examination office or check in selma for the corresponding exam module. See also the OPAL course for choosing an exam-date.
Links to the Course
OPAL: So2022 Scientific Programming - Advanced Concepts
Selma: Scientific Programming - Advanced Concepts