C++ for Embedded Developers, 26-30 June, UK

Join us to gain practical experience of writing C++ for real-time and embedded systems in Swindon, UK.cropped-blog-header1.png

C++ for Embedded Developers

About the course:

This course is designed for:

  • real-time engineers embarking on a project using C++ for the first time
  • developers looking to move from C to C++ (as it will clearly demonstrate both the strengths and weaknesses of C++ vs. C)

Course overview

The course introduces the C++ language for use on real-time and embedded applications. It highlights areas of concern for real-time and embedded development. The focus is on developing core object-oriented programming skills and understanding of how to build effective, maintainable and efficient C++ programs.

Attendees perform hands-on embedded programming, on target hardware, during course practicals. Approximately 50% of the course is given over to practical work.

Course objectives

  • To provide a solid understanding of the essentials of the C++ programming language.
  • To give you practical experience of writing C++ for real-time and embedded systems.
  • To give you the confidence to apply these new concepts to your next real-time project.

Delegates will learn

  • The core C++ syntax and semantics
  • How to access hardware in the language
  • How to program interrupt handlers in C++
  • About memory and performance issues associated with C++
  • How real time operating systems (RTOS) affect the use of the language

Click here to learn more or book a place

Registration for CppCon 2017 is Open

The next CppCon conference is in Bellevue, Washington September 24-29.

Registration for CppCon 2017 is Open

From the announcement:

In addition to the regular conference program there will be keynotes, lightning talks, and panels. There are also twelve pre- and post-conference classes (both two-day and one-day are offered) as well as a field trip to Boeing's Future of Flight tour.

Advanced C++  for Embedded Systems, Swindon UK 8-12 May 2017

Join us to advance your C++03 skills if you work in an embedded environment.

Advanced C++ for Embedded Systems

About the course:

This course addresses the “fear, uncertainty and doubt” of using full C++. Specifically the course deals with: performance and memory considerations of polymorphic functions, exceptions and templates. In addition, complete coverage of the Standard Library (including the STL) is provided, again addressing the specifics of performance and memory models.

This is a five day course, which reviews C++ in the light of real-time systems, addresses the application of C++ in a real-time/embedded environment, and then focuses on the advanced parts of the language. 50% of the course is spent on practical work and the course includes the use of target hardware.


Boost Your Productivity with Modern C++ - Now with C++17—Peter Gottschling

Repeating the last years' popular course, again being held in English and German:

Boost Your Productivity with Modern C++ - Now with C++17

by Peter Gottschling

About the training:

The course is designed for software developers who aim for excellent software characterized by intuitive interfaces and maximal performance. Our goal for this 4-day course is that you can afterwards program perceivably more productively. That your programs are usable more flexibly and nonetheless explore the hardware as efficiently as possible. That your software becomes clearer and simpler and thus more readable and more maintainable. For this purpose, we intensively use features of C++11, C++14, and for the first time C++17.

The trainer Peter Gottschling is the author of the advanced C++14 book "Discovering Modern C++",the Matrix Template Library 4, co-author of the Boost Graph Library and other scientific libraries. He is vice-chair of DIN's programming language group and was (the last) head of the German delegation in the ISO committee for C++ standardization.

The complete course description including the list of topics is available here.

Understanding Object Lifetime in C++ in Denver, April 20, 2017—Jason Turner

Join us for a 1 day course in Denver, CO, USA April 20, 2017

Understanding Object Lifetime in C++

by Jason Turner

About the training:

C++ has what very few other languages have: a well defined object life cycle. Understanding this key aspect of C++ is critical to writing clean, maintainable, and efficient C++.

Join us for an interactive one day workshop where we will describe the lifecycle of an object in C++ and work through increasingly complex examples. Come prepared for lots of group discussion. There will be something for C++ developers of all skill levels to learn.

You will leave the workshop with an increased knowledge of C++ that will help you to design better programs and libraries.

“What’s new in C++11/14?” Training in Berlin, 04-06 April 2017

Join us in the upcoming C++11/14 training in Berlin, 04-06 April 2017.

What's new in C++11/14?

Training course by KDAB

About the training

C++11 is a new major version of the C++ standard, released in 2011, and brings many new features to C++ that make the language safer, faster as well as easier and more fun to use. Every professional C++ developer will sooner or later come into contact with C++11/C++14 and introducing its advantages early can only be beneficial.

In this hands-on C++11 and C++14 training for professional C++ developers, you will learn the language changes and the standard library changes introduced in C++11 as well as the changes from C++14.

In class, C++11 and C++14 will be demonstrated with the aid of many examples, and you will get the opportunity to use C++11 and C++14 right away in our lab projects.

The full table of contents for the course is available here.

C++17 Talks by Nicolai Josuttis @ NDC London

Nicolai Josuttis speaks on the upcoming NDC conference in London about:


C++17 Core and Library Features

by Nicolai Josuttis

About the talk:

On January 19, 2017, Nicolai Josuttis, the author of The C++ Standard Library, will give two talks at the NDC conference in London about the core and library features of the upcoming C++17.


An update on the Meeting C++ Workshop Day

I finally can announce that the workshops will end with talks by James McNellis and Michael Caisse:

An Update on the workshop day

by Jens Weller

From the article:

Michael Caisse - boost.fusion: power to the tuples

    Tuples provide heterogeneous, compile-time containers; however, they can be difficult to use at run-time. Boost.Fusion brings together compile-time and run-time semantics to produce the STL of the meta-programming world. It is the machinery behind several Boost libraries and is a common element in many of the solutions provided by Ciere Consulting.

James McNellis - Practical C++ Coroutines

    One of the most interesting new features being proposed for C++ standardization is coroutines, formerly known as “resumable functions”. C++ coroutines are designed to be highly scalable, highly efficient (no overhead), and highly extensible, while still interacting seamlessly with the rest of the C++ language.

Course: Boost Your Productivity with Modern C++—Peter Gottschling

peter-gottschling.jpgA repeat of last year's popular course, again being held in English and German:

Boost Your Productivity with Modern C++

by Peter Gottschling


Templates (generic programming)

  • Function templates
  • Class templates
  • Variadic Templates (C++11)
  • Concepts
  • Specialization
  • Template arguments that are not types
  • Functors
  • Lambda functions (C++11)

Standard Template Library

  • Iterator concept
  • Containers
  • Functions
  • Meta-programming
  • Let the compiler compute
  • Providing type informations
  • Auto and decltype (C++11)
  • Const-adaptive classes
  • Expression templates

Other advanced and new techniques

  • Calling functions from derived classes without overhead
  • RValues and move semantics (C++11)
  • Initialization lists (C++11)
  • New for-loops (C++11)

Peter Gottschling is author of the Matrix Template Library 4, co-author of the Boost Graph Library and other scientific libraries. He is vice-chair of DIN's programming language group and head of the German delegation in the ISO committee for C++ standardization. He is managing director of SimuNova and taught C++ at TU Dresden, TU Berlin and Indiana University.