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.

 

Rainer D 6 P2 500x500Modernes C++ Mentoring

Be part of my mentoring programs:

  • "Fundamentals for C++ Professionals" (open)
  • "Design Patterns and Architectural Patterns with C++" (open)
  • "C++20: Get the Details" (open)
  • "Concurrency with Modern C++" (starts March 2024)
  • Do you want to stay informed: Subscribe.

     

    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, Kris Kafka, 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, Dmitry Farberov, Juan Dent, George Liao, Daniel Ceperley, Jon T Hess, Stephen Totten, Wolfgang Fütterer, Matthias Grün, Phillip Diekmann, Ben Atakora, Ann Shatoff, Rob North, Bhavith C Achar, Marco Parri Empoli, moon, Philipp Lenk, Hobsbawm, and Charles-Jianye Chen.

    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

    Seminars

    I’m happy to give online seminars or face-to-face seminars worldwide. Please call me if you have any questions.

    Standard Seminars (English/German)

    Here is a compilation of my standard seminars. These seminars are only meant to give you a first orientation.

    • C++ – The Core Language
    • C++ – The Standard Library
    • C++ – Compact
    • C++11 and C++14
    • Concurrency with Modern C++
    • Design Pattern and Architectural Pattern with C++
    • Embedded Programming with Modern C++
    • Generic Programming (Templates) with C++
    • Clean Code with Modern C++
    • C++20

    Online Seminars (German)

    Contact Me

    Modernes C++ Mentoring,

     

     

    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 *