Logo

Leistungen


Training und Beratung

Ich biete Schulungen in einem breiten Themenspektrum an. Sie decken C++-Programmierung, Software-Design und -Architektur sowie viele Themen rund um eingebettete Systeme ab.

Wir können den Inhalt entweder gemeinsam zusammenstellen, speziell auf Ihre Bedürfnisse zugeschnitten, oder Sie wählen eine der unten aufgeführten vorab zusammengestellten Schulungen. Für eine Vorschau können Sie sich meine öffentlichen Vorträge ansehen. Der Unterschied zwischen einem Vortrag und einem Training besteht darin, dass ich in einem Vortrag eher ein Geschichtenerzähler bin, während ich in einem Training mit den Teilnehmern zusammenarbeite. Mein Ziel ist es, dass diese den Inhalt verstehen, den wir durch gehen. Es ist mir weniger wichtig, jede einzelne Folie abzudecken, ich bevorzuge, dass das, was abgedeckt wurde, verstanden wird.

Warum meine Trainings?

Mein persönliches Motto lautet "schreibe einzigartigen Code". Ich mag es, den Code auf die wirklich notwendigen Teile zu reduzieren. Die Vervielfältigung kann durch Vorlagen oder Funktionen erfolgen, so dass am Ende jeder einzelne Code eindeutig zur Codebasis beiträgt. Nur der einmalige Code reduziert die Wartung und gibt Ihnen mehr Zeit, sich auf Ihre nächsten Kundenbedürfnisse zu konzentrieren. Als Ergänzung sind alle meine Schulungen auf die Praxis ausgerichtet.

Die Trainingseinheiten sind entweder Vorträge oder Vorlesungen mit Übungen. In jedem Fall sind meine Sitzungen sehr interaktiv. Ich höre gerne, was die Teilnehmer denken, um bessere Tipps und ein maßgeschneidertes Trainingserlebnis zu geben. Jeder Teilnehmer hat die Möglichkeit teilzunehmen und Fragen zu stellen.

Für die Live-Demo-Teile, die ein wesentlicher Bestandteil meines Unterrichts sind, verwende ich zwei Tools, von denen Sie vielleicht schon gehört haben:

Verfügbare Trainings

Alle Schulungen sind in deutscher und englischer Sprache verfügbar.

Die angegebenen Längen sind ungefähr. Die erste Länge ist ohne Übungen, die zweite beinhaltet Übungen.

  • C++1x für eingebettete Systeme kompakt (length: 1 day / 2 days)
    Die Flexibilität der Sprache C++ hat sich mit den Neuerungen durch den Standard C++11 und seinen Nachfolgern noch weiter verbessert. Einige dieser Neuerungen sind für eingebettete Systeme besonders interessant. Berechnungen von der Lauf- in die Compile-Zeit zu verschieben ist jetzt möglich. Dadurch entsteht ein kleinerer Code und eine erhöhte Geschwindigkeit. Die Flexibilität der Sprache C++ hat sich mit den Neuerungen durch den Standard C++11 und seinen Nachfolgern noch weiter verbessert. Einige dieser Neuerungen sind für eingebettete Systeme besonders interessant. Berechnungen von der Lauf- in die Compile-Zeit zu verschieben ist jetzt möglich. Dadurch entsteht ein kleinerer Code und eine erhöhte Geschwindigkeit.
  • C++ Templates - die richtige Dosis kompakt (length: 1 day / 2 days)
    Nahezu alle C++ Programmierer und Programmiererinnen nutzten Templates, häufig indirekt durch Verwenden der STL (Standard Template Library). Obwohl Templates bereits sehr früh Teil von C++ waren gibt es immer noch Vorbehalte und Missverständnisse. Im Seminar wird gezeigt, dass Templates gerade im Bereich eingebettete Systeme durchaus ein Gewinn sein können.
    Richtig verwendet sind Templates ein sehr hilfreiches Werkzeug, welches C++ Nutzende kennen sollte.
  • Programmieren mit C++11 bis C++17 (length: - / 3 days)
    Dieses Training ist speziell für Entwicklerinnen und Entwickler die bereits Erfahrung mit C++98 und mit einzelnen Elementen aus C++11 und neuer haben. Wir schauen uns zunächst die neuen Sprachmittel an, die uns die neuen Standards bringen. Als nächstens behandeln wir constexpr und Lambdas. Danach schauen wir uns die Updates im Bereich Templates an. Selbstverständlich behandeln wir auch Dinge wie Move Semantik und schauen auf einige ausgewählte Neuerungen in der Standard Library.

Sollten Sie interesse an einem der Trainings auf English haben, schauen Sie auf die Englische [Seite](/services.html).


Hier einige kurze Sessions, die zu einem mehrtägigen Training kombiniert werden können:

  • New language features in C++11 and beyond (length: 0.5 day / 1 day)
    We have a look into the new language features we got since C++11. This is a good starter for people coming from a pre C++11 background. Here we discuss things like uniform initialization, auto, range-based for-loops, constructor inheritance (and more around classes), noexcept, override and more.
  • Lambdas Demystified (length: 0.5 day / 1 day)
    Lambdas are a powerful new feature we got with C++11. They got updated with every single standard since then. In this session we will peak behind the scenes on how lambdas are implemented and how they work. We then will look into a couple of application areas of lambdas. Where they can help to improve your code. This session concludes with a brief outlook on what is coming with C++20.
  • Templates with C++11 and above (length: 0.5 day / 1 day)
    C++11 gave us with variadic templates a new powerful tool to write our code. In this session we will look briefly at templates in general how they work and how they can improve our code. Then we continue with variadic templates and the new things possible with them.
  • Control Your Code Footprint (length: 1.5h)
    Especially in embedded systems with a limited amount of resources the resulting footprint is important. Participants will learn how to control the resulting footprint. Part of it is to learn how to deal with execution speed, RAM or ROM usage.
  • Incorporate Modern C++ in Legacy Code (length: 1.5h)
    With the rise of C++-11 there is a lot more change in the world of C++. The new standards bring some very interesting features. This talk will highlight these with the focus on embedded systems development.
  • Write Efficient C++ Code for Embedded Systems (length: 1.5h)
    Embedded systems are getting more and more popular. Nearly everywhere you look you can discover them. There is a little change regarding the available resources on such devices. However, it is still important to control the resulting code footprint and the safety of the code. This training covers the use of templates and how to avoid code bloat.
  • Use the Power of the Language to Write Better Code (length: 1.5h)
    If you write code for living and you care about your code, then you might be interested in the topics covered in this training. Here you will learn about how to express yourself in code. How to transfer your intention to others, not only the compiler.
  • What is Modern C++ and Why Should I Care (length: 1.5h)
    There is a lot of about talks about modern C++. With C++-11 and its successors the language has become a new attraction. Thinking has changed. Now things can be done differently in C++. Still close to hardware, if you like it. However, programming should be safer and still fast. One item are raw pointers versus all the container types. In this training you will learn about new patterns of C++ and why they are helpful.

Alle Kurse können kombiniert werden, um maßgeschneiderte Kurse zu erstellen, die Ihren Anforderungen entsprechen. Bitte kontaktieren Sie mich direkt, wenn Sie an meinen Schulungs- oder Beratungsleistungen interessiert sind.

Das passende Training ist nicht dabei?

Sie interessieren sich für eine Schulung von mir, diese ist jedoch nicht aufgeführt oder möchten hier eine Schulung mit einem alternativen Inhalt haben? Das ist möglich, bitte kontaktieren Sie mich direkt und wir erarbeiten gemeinsam eine für Sie passende Lösung.