RainerTalk

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++,

RainerGrimmSmall

 

 

 

 

 

 

 

 

 

Thanks a lot to my Patreon Supporters: Matt Braun, Roman Postanciuc, Tobias Zindl, G Prvulovic, Reinhold Dröge, Abernitzke, Frank Grimm, Sakib, Broeserl, António Pina, Sergey Agafyin, Андрей Бурмистров, Jake, GS, Lawton Shoemake, Jozo Leko, John Breland, Venkat Nandam, Jose Francisco, Douglas Tinkham, Kuchlong Kuchlong, Robert Blanch, Truels Wissneth, Mario Luoni, Friedrich Huber, lennonli, Pramod Tikare Muralidhara, Peter Ware, Daniel Hufschläger, Alessandro Pezzato, Bob Perry, Satish Vangipuram, Andi Ireland, Richard Ohnemus, Michael Dunsky, Leo Goodstadt, John Wiederhirn, Yacob Cohen-Arazi, Florian Tischler, Robin Furness, Michael Young, Holger Detering, Bernd Mühlhaus, Stephen Kelley, Kyle Dean, Tusar Palauri, Juan Dent, George Liao, Daniel Ceperley, Jon T Hess, Stephen Totten, Wolfgang Fütterer, Matthias Grün, Ben Atakora, Ann Shatoff, Rob North, Bhavith C Achar, Marco Parri Empoli, Philipp Lenk, Charles-Jianye Chen, Keith Jeffery, Matt Godbolt, Honey Sukesan, bruce_lee_wayne, Silviu Ardelean, schnapper79, Seeker, and Sundareswaran Senthilvel.

Thanks, in particular, to Jon Hess, Lakshman, Christian Wittenhorst, Sherhy Pyton, Dendi Suhubdy, Sudhakar Belagurusamy, Richard Sargeant, Rusty Fleming, John Nebel, Mipko, Alicja Kaminska, Slavko Radman, and David Poole.

My special thanks to Embarcadero
My special thanks to PVS-Studio
My special thanks to Tipi.build 
My special thanks to Take Up Code
My special thanks to SHAVEDYAKS

Modernes C++ GmbH

Modernes C++ Mentoring (English)

Do you want to stay informed about the mentoring programs? Subscribe Here

Beatrix Jaud-Grimm
Kelterstraße 23
72108 Rottenburg

Mobil: +49 15561 737372
Mail: schulung@ModernesCpp.de
Mentoring: www.ModernesCpp.org

 

 

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *