More Information about my Mentoring Program Fundamentals for C++ Professionals

One month ago, I presented “My Mentoring Program “Fundamentals for C++ Professionals“. I’m overwhelmed by how my people want to participate in this first iteration of my mentoring program. What should I say? Today, I want to give you more details.

RainerTalk

Here is only a short reminder about my program. For more details, read my previous article, “My Mentoring Program “Fundamentals for C++ Professionals“. Additionally, my new mentoring program is hosted here: https://www.modernescpp.org/. The page and the course  https://www.modernescpp.org/courses/fundamentals-for-c-professionals/ are still under construction, but you get a concrete idea of the 28 steps to master C++.

For completeness, here are the 28 steps:

  1. Introduction
  2. Literals
  3. Types: enumerations, pointer, references, and casts
  4. Types: type deduction with auto and decltype
  5. Values: initialization, conversion, const, and constexpr
  6. Values: move semantics and perfect forwarding
  7. Memory
  8. Functions
  9. Classes: attributes and constructors
  10. Classes: initialization, destructors, and member functions
  11. Classes: default, and delete, operator overloading, explicit, access rights, friends, and structs
  12. Inheritance: abstract base classes, access rights, constructors, base class initializers
  13. Inheritance: destructor, virtuality, override, and final, and multiple inheritances
  14. Templates: functions and classes
  15. Templates: parameters and arguments
  16. Template Specialization
  17. Type Traits
  18. Smart Pointers
  19. STL: General Ideas (containers, algorithms, iterators, callables, range-based)
  20. STL: Common Interface of the Containers
  21. STL: sequential containers and associative containers
  22. STL: algorithms
  23. Strings including string views
  24. Regular Expressions
  25. In- and Output
  26. Threads: creation, data sharing, mutexes, and locks
  27. Threads: thread-local data, thread-safe initialization, condition variables
  28. Tasks

Today,  I want to present you the 6th step. This 6th step is about move semantics, and perfect forwarding. This step exemplifies one typical week in my mentoring program.

6th Week: Move Semantics and Perfect Forwarding

The 6th week consists of five lessons:

OverviewWeek6

Each lesson consist of a few tasks. Here are all lessons expanded.

week6Expanded

Let’s have a closer look inside the first lesson: default and delete.

defaultDelete

It consists of the topics Details, two examples, one exercise, and further information.

Details

The topic “Details” contains a video lecture and the slides used in this video lecture.

DetailsDefaultDelete

Example(s)

The topic “Example” contains a video lecture explaining the example, and the source code example.

ExampleDefault

Exercise(s)

The topic “Exercise” contains two video lectures. One explains the exercise, including the slides; one explains the solution of the exercise and the source code for the solution.ExerciseDefault

Further information

Further information provides you with additional information that is not required to master a lesson. This information includes typically more details on cppreference.com, highly valuable articles in the internet, posts on my blog Modernes C++, and often presentations from conferences about the specific topic. For example, here is the topic “Further Information” about the lesson “default and delete" and also about the lesson “Copy versus Move Semantics”:

FurtherDefaultDelete

FurtherMove

I end each week with a live Q&A session of about an hour or more if necessary. In the Q&A session, I answer all questions about the concrete week. I record the Q&A session and publish them later. Additionally, you can write me an e-mail at any time if you have a question.

Let me say a few words about the state of my mentoring program and a few technical details.

State of the Mentoring Program

So far, the videos that you saw in my previous screenshots are only placeholders. I will replace them with video lectures in the next two months and during the mentoring if necessary. Although I’m quite happy with the precious content I already have, I will add more “Further information” material in the following months and improve my mentoring page https://www.modernescpp.org/.

Technical Details

  • Course start: My goal is to launch this course in April.
  • Course size: At least 105 hours, 17.5 training days, or 3 1/2 typical 3-days training.
  • Registration: I open the registration window four weeks before the course starts and close it one week before it starts.
  • Stay informed: If you want to stay informed, write an e-mail to info@ModernesCpp.de with the subject “Mentoring”. Write me also an e-mail if you need more information.
  • Price: Due to this first installment of my mentoring program(and some improvisation),  the price of the program is drastically reduced by roughly 50%: about 250 €/month.

What are the next steps?

Next Steps

  • Beginning of March: online information sessions about my mentoring program, where you can ask your specific questions
  • Middle of March: my mentoring program opens for registration
  • April: the registration for the mentoring program closes, and the mentoring program starts

If you want to stay informed, write an e-mail to info@ModernesCpp.de with the subject “Mentoring”. Write me also an e-mail if you need more information.

Modernes C++,