Advanced Modern C++ [2021 class archive]

Advanced Modern C++ is by far the most successful training I provide in-house for big corporations. It is very well scored by students from various backgrounds ranging from embedded to HFT. Typically this training is too long for a conference class but CppCon is special 🙂 Having six days of online workshops in the conference schedule gives us the unique opportunity to not only cover a single feature (like most other training on conferences do) but provide a complete training on Modern C++.
However, please do not be misled with the quite generic outline of the course. This training is not an introduction to the C++ language. Like the title suggests it is an advanced workshop full of hands-on exercises. It targets the developers who already have professional experience with C++ and who know the problems caused by the careless way of coding in this language. The workshop aims to strengthen the knowledge about the C++ language and show how to avoid many of the problems that often appear in the production code. — Mateusz Pusz

Advanced Modern C++ is a six-day training course with programming exercises taught by Mateusz Pusz. It is offered online from 09:00 to 15:00 MDT (11:00 to 17:00 EDT, 17:00 to 23:00 CET), Friday, October 22nd through Sunday, October 24th, 2021 (before the conference) and Saturday, October 30th through Monday, November 1st, 2021 (immediately after the conference).

Course Description

C++ is a hard and complicated programming language. When used correctly it delivers the best possible performance. Unfortunately, it is often misused which is a source of many problems. However, it turns out that in the case of conscious usage of selected language features it can be relatively easy to produce high-quality software with great performance and resistance to programming errors. Such a coding style is called Modern C++.

This is a complete course on Modern C++. In the beginning we build the understanding of the most important features of the C++ language and we learn how to use this language in performance-constrained projects. After that we describe the most important utilities provided by the C++ Standard Library to deliver projects that are safe, easy to use and hard to abuse. Even though we work with C++ templates through the entire training in the end we make a deep dive to all advanced topics connected with this subject.

Here are a few of many similar statements made by students while filling post-training questionnaire for this class:
  • Very enlightening, broadening mental horizons
  • Should become mandatory for Software Architects and Engineers using C++
  • A very valuable training that really broadens the knowledge and a general understanding of C++ language
  • Thanks for showing what I do not know and what I should learn
  • Difficult, thought-provoking, fast lane towards the new C++
  • I learned a lot of the fundamentals of c++ that I had only a vague idea about before. I’m sure it will be very valuable for my practical work and I wish I would have attended the training already earlier.
  • Great, exceptional, I have never seen a training like this in the past. It is very complete and the most detailed one that I have participated.
  • Valuable, deep explanation of topics, knowledge that would be difficult/impossible to get from books, gather from trainer’s experience

Prerequisites

The training targets the developers who already have professional experience with C++ programming language and who know the problems caused by the careless way of coding in this language. The workshop aims to strengthen the knowledge about the C++ language and show how to avoid many of the problems that often appear in the production code.

Course Topics

  1. C++ Basics for Experts
  2. Coding with performance in mind
  3. Utilities that every C++ developer should know and use
  4. Templates demystified

More detailed class info is available at: https://train-it.eu/trainings/cpp/9-advanced-modern-cpp.

Register Here

Course Instructor

Mateusz PuszMateusz Pusz is a software architect, principal engineer, and security champion with more than 15 years of experience in designing, writing and maintaining C++ code for fun and living. C++ consultant, trainer, conference speaker, and evangelist focused on Modern C++. His main areas of interest and expertise are code performance, low latency, stability, and security.

Mateusz worked at Intel for 13 years, and now he is a Principal Software Engineer and the head of the C++ Competency Center at EPAM Systems. He is also a founder of Train IT that provides dedicated C++ trainings and consultant services to corporations around the world.

Mateusz is a contributor and an active voting member of the ISO C++ Committee (WG21) where, together with the best C++ experts in the world, he shapes the future of the C++ language. He is also a co-chair of WG21 Study Group 14 (SG14) responsible for driving performance and low latency subjects in the Committee. In 2013 Mateusz won “Bench Games 2013” – worldwide competition in the C++ language knowledge.