Dr. Matthias Hölzl
Expert: Python, C++, Clean Code, Unit Test, Clean Design
Tailor-made C++ practice courses for your team
(company exclusive trainings from 3 employees)
Thanks to Dennis Ritchie and Bjarne Stroustrup we use one of the fastest programming languages in the world! C ++ focuses here on software development.
The C++ training can be tailored to the needs of your team.
Book your free consultation now! Bring all your questions with you. We'll be happy to take the time to consult with you individually.
The following list includes the most common C# topics, however, the training can be customized to the level of your team. Based on this, our trainer will adhere to the individual objectives of the course.
If your team just wants an overview, then you can select a relatively large number of topics. However, the team will probably find it relatively difficult to put what they have learned into practice afterwards. Some of the modules above will take a day (or even longer) on their own if the content is to be really thoroughly discussed and your team doesn't already have prior knowledge!
So if you want to work with C++ seriously and seriously, then in our experience it is better if you choose few topics and we discuss them in depth and thoroughly in the training and do enough practical workshops. Indeed, "less is more!" applies here. The best way for us to identify together which topics are target-oriented for your team and your projects is in a consultation.
We don't preach theory, we solve problems! Get the maximum knowledge for your team. Compile the topics according to your previous knowledge and needs, depending on the project. Because individual learning brings the desired success! Topics you click here will be automatically referred to us as soon as you send a request form!
These topics form the foundation of C++. Anyone working with C++ needs to master the content of these modules, regardless of how complex the programs you are working on are.
The C++ Basics module includes the following focus areas:
C++ is an enormously powerful language that offers numerous advanced features. The following modules are only a small selection of these; we can discuss which topics are particularly relevant to you in a personal meeting.
The C++ Intermediate and Advanced module includes the following focus areas:
C++ offers a rich library of data types, algorithms, and other functionality. Due to the widespread use of templates, the standard library can often work very efficiently, but this also means that some pitfalls lurk for the programmer. In these modules, we show how your team can get the maximum benefit from the standard library.
The C++ Standard Library module includes the following focus areas:
One of the special features of C++ is the ability to perform compile-time calculations and thus generate highly efficient code. Traditionally, templates and template metaprogramming were the means of choice for this. Often one had to apply the so-called SFINAE rule (Substitution Failure is Not An Error), which often leads to code that is difficult to read. However, in more recent C++ standards, features for compile-time calculations that are not based on templates have been introduced as well as the capabilities of templates have been extended with so-called concepts and constraints.
The C++ Templates and compile-time programming module includes the following focus areas:
There are more practically relevant options for handling exceptional situations in C++ than in most other programming languages: While C++ offers a powerful exception mechanism, it cannot be used in many situations: whether safety-critical software, real-time applications, or libraries that are to be integrated into other languages, in many cases one must resort to another error handling strategy.
The Error handling in C++ module includes the following focus areas:
The modules in this topic do not deal primarily with individual language features of C++ but with the question: How do I use the features of C++ to write program code that has as few errors as possible and is easy to understand, change and extend. The modules in this section are mainly limited to relatively "local" program components like single functions and classes.
Of course, we also go into how to use the relevant language constructs well in the modules that introduce them; the modules in this section delve further into the techniques and also cover aspects that there is no time for in a typical basic or advanced C++ course.
Agile Programming: Agile techniques help to keep "technical debt" low and to keep the software flexible enough to allow the incorporation of new features throughout the life of the project.
The Clean Code / Clean Unit Test in C++ module includes the following focus areas:
These modules cover the full spectrum of object-oriented programming and show how your team can use a variety of techniques and patterns to better structure programs. Both the fundamentals of object orientation, which are independent of any particular programming language, and many of the unique features of C++, which often go far beyond what other programming languages offer, are discussed here.
The Object Orientation / Clean Design and Architecture in C++ module includes the following focus areas:
Every programmer likes to work on modern, well-structured code that is thoroughly documented and tested. Unfortunately, the practice often looks different. If your team has to maintain a codebase characterized by structural issues, insufficient documentation, and no or poor testing, then unfortunately we can't promise you that any of our courses will solve the problem overnight. But in these modules, your team will learn many proven techniques that they can use step by step to get their code into a shape that makes it fun to work with again
The Working with legacy code in C++ module includes the following focus areas:
These modules cover techniques that help make teamwork more productive and improve the quality of the resulting software.
The Working effectively as a team module includes the following focus areas:
The following examples show how courses can be structured for typical customer requirements.
You are starting a C++ project, but some of the team members have knowledge of Java or C#, but not C++. To get these team members to a level where they could productively work on the code base, a course with the following modules would be appropriate:
Data types and operations
You are a team of experienced developers for whom neither the C++ programming language itself nor the basics of object orientation are new territory. But you want to better structure the large software project you are currently working on and prepare it for future requirements. Then the following modules might be right for you:
References: 30 years of teaching and industrial experience. Of which 18 years at Ludwig-Maximilians-Universität Munich, most recently as Professor for Software and Computational Systems Engineering. Training, technical coaching for machine learning, deep learning, process automation as well as review and improvement of software architecture in large IT projects. Python and Java trainings for Deutsche Bank, BMW, BA, VKB, etc. Editor and author of several books at Springer-Verlag and author of numerous scientific publications.
References: Over 25 years of professional experience as lecturer at the University of Bremen, software developer, software architect, team and project leader.
Achievements: Zweifache Best Paper Award bei TSP und ICM internationalen Konferenzen
We offer different course formats: 3-day programs, 4-week intensive programs, and online training videos.
In 3 days (8 hours/day) you will be guided to the next level by an expert: Participate on-site at the Coding Academy Munich or online from anywhere in the world. With a practical exam for the certificate.
3-Day Online Course
The course takes place online. All you need is a computer with internet access. For some modules it is necessary to install specific Python packages or additional software. We will clarify details when compiling the course content. You will get access to the material on the first day of the course at the latest.
3-Days on-site at the Coding Academy
The course takes place in our modern and well-equipped training rooms. We provide each participant with a modern laptop free of charge during the training. Drinks are provided by the Coding Academy. Access to the material will be provided on the first day of the course at the latest.
3-days on your premises
If you wish, one of our experts will hold the course at your premises. Then you provide the technology, e.g. computers with the software needed for the course. With this format, there are additional costs for travel and accommodation.
In 4 weeks to the next level: You get 2-3 hours of teaching and video material on Mondays and take part in our online live training for 2 hours on Fridays. Here, all open questions can be discussed and clarified with the trainer. With a practical exam for the certificate.
This is a combination of online and offline training, sometimes referred to as "blended learning".
Great extra: Our online forum. All course participants can get help from our teaching assistants at any time.
The videos pick up the topics from the live trainings and show real programming examples from practice.
We also offer the courses as online-only training videos. You have access at any time and can access the modules at your pace. This way, you can benefit from our high-quality learning videos at a very affordable price. In our online forum you can discuss with other participants and get help from our Teaching Assistants in case of problems.
Contact us about the availability of the course you want.
The content that is taught is the same whether you take the course online, on-site, in a 4-week program, or as a training video. We have had very good experiences with all formats.
Online or on-site training?
The online and on-site training courses teach the material in a compact, intensive form. You can reserve a block of time that is 100% dedicated to learning, which typically has a positive effect on the learning curve.
On-site trainings are often a little easier to discuss in a group than online trainings, but online trainings eliminate the time spent traveling to the training and allow you to work in your familiar environment.
4-week program and training videos?
With the 4-week program and video-only courses, learning is spread out over a longer period of time. This allows you to flexibly divide your time, learn in a more relaxed way and offers more opportunities to try out the concepts you have learned in practice.
Another advantage of these formats is that the team does not have to be completely removed from project work for several days. In addition, each participant can complete the video learning units and practice exercises at their own pace and does not have to wait for other participants or complete the assignments under time pressure.
In the 4-week program, you are responsible for completing the designated learning units and exercises each week to stay on track with the material.
Individual: we specifically address you and take into account your previous knowledge, desired topics and focal points
Developed by experts according to the Raed Teaching Method®
Compact, lively and entertaining
Structured and easy to understand
Lots of practice: you can immediately apply the knowledge you learn in the course
Theory optimized to the essentials
Many examples and tasks whose level of difficulty increases linearly
Small groups: max. 8 participants in the 3-day course; max. 15 participants in online coaching
Highly qualified trainers with up to 30 years of experience in industry and teaching at German colleges and universities
For on-site training, we provide participants with modern laptops at no additional cost
Of course, as a participant in a C++ course you will receive a certificate. The prerequisite for this is the complete participation in all course units and programming tasks and the successful programming of a small final project. However, after an intensive C++ course, this will certainly give you more pleasure than stress.