Due to our expertise in the areas of software engineering and program analysis as well as our long-standing experience in teaching the C and C++ programming languages and program analysis, we offer various trainings in these areas. We focus on transferring practical knowledge that can be directly applied in everyday software development.

Our trainings on the C and C++ programming languages cover a broad spectrum from basic concepts over advanced techniques to expert-level knowledge. Topics, level of abstraction as well as prior knowledge will be individually adjusted to our customers. Our trainings are thus suitable for beginners who wish to learn the fundamentals of C and C++ as well as for advanced developers that wish to deepen their existing knowledge or learn about dedicated programming techniques.

Tools and libraries are an indispensable part of implementing extensive and complex software projects. Many high-quality, open-source programming tools and libraries, however, are unknown to developers or are only being used poorly, the reason being steep learning curves and seeming complexity. In our trainings, we present programming tools and libraries that we already used and whose benefits we experienced ourselves. Among others, we provide trainings on how to use tools such as clang-tidy to refactor large C/C++ code basis that cannot possibly be adjusted by hand, and on how to save development time by employing sophisticated and optimized data structures from the boost or abseil libraries. Popular open-source debugging tools such as gdb or valgrind are also part of our training repertoire.

We also offer our knowledge on static and dynamic program analysis in form of trainings. In these trainings we present the theoretical foundations and explain the advantages of program analysis and also train our customers how to use program analysis tools effectively. Our goal it to allow our customers to purposefully apply program analysis, integrate state-of-the-art tools into their development processes such that they can use them more effective and more productive. By presenting the underlying theory in a vivid manner our customers will gain a deep understanding of how program analysis and thus also compilers actually work. From practical experience we can guarantee that this will improve the programming skills of our customers a lot.

All trainings will be customized to precisely match our customer’s needs and will be presented on site or remotely.