In software engineering of today, object-oriented methods are commonly used for system analysis and design.
Modelling can for instance be made using the graphical language UML. Despite this, C is by far the most popular programming language used for developing embedded or time-critical systems.
By using C++ right, it is possible to get the advantages of an object-oriented language without the penalty of increased code size and bad performance.
This course describes the differences between C and C++, and which consequences they cause when developing embedded software. The course also covers how the central language constructs should be used in an optimal way.
The course is NOT a beginner’s course. Some previous experience is assumed, see Previous knowledge below.
The goal is to introduce C++ as an object oriented language alternative in an embedded system context. We will show the similarities – and differences – with the C language.
You will comprehend different memory management strategies and understand what different paradigms in C++ leads to in machine code.
We will provide some useful design patterns especially applicable in an embedded context. To sum up: Using C++ in a correct way.
The course is for embedded systems designers and programmers, as well as system architects and technical managers.
The course requires previous experience of C++ programming. We recommend C++Basic and C++ Continuation.
Practical exercises / Tools
A few exercises in order to practice some concepts are included.