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.
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:
- Introduction
- Literals
- Types: enumerations, pointer, references, and casts
- Types: type deduction with
auto
anddecltype
- Values: initialization, conversion,
const
, andconstexpr
- Values: move semantics and perfect forwarding
- Memory
- Functions
- Classes: attributes and constructors
- Classes: initialization, destructors, and member functions
- Classes:
default
, anddelete
, operator overloading, explicit, access rights, friends, and structs - Inheritance: abstract base classes, access rights, constructors, base class initializers
- Inheritance: destructor, virtuality,
override
, andfinal
, and multiple inheritances - Templates: functions and classes
- Templates: parameters and arguments
- Template Specialization
- Type Traits
- Smart Pointers
- STL: General Ideas (containers, algorithms, iterators, callables, range-based)
- STL: Common Interface of the Containers
- STL: sequential containers and associative containers
- STL: algorithms
- Strings including string views
- Regular Expressions
- In- and Output
- Threads: creation, data sharing, mutexes, and locks
- Threads: thread-local data, thread-safe initialization, condition variables
- 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:
Each lesson consist of a few tasks. Here are all lessons expanded.
Let’s have a closer look inside the first lesson: default
and delete
.
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.
Example(s)
The topic “Example” contains a video lecture explaining the example, and the source code example.
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.
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”:
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++,