CPP or C++ has been around for more than 40 years now. And yet, it remains one of the most challenging mainstream languages to start. My journey with CPP began in early 2008 by happenstance.
When I started my journey as a freelancer, I searched for courses about CPP on the web. Udemy seemed to have the most classes. I started going over the course content of the top courses. Even I needed a refresher to stay in touch with the latest standard. Till 2017 I was able to keep up with the changes. Moving to other languages broke the flow.
As I scanned the course material, it surprised me. The content covered installing virtual machines, docker, compilers, IDEs, etc. It was a reality check. Indeed getting started with CPP on windows was nowhere similar to starting on Linux.
I was fortunate enough to have learned assembly in high school and was exposed to Linux and C++ almost simultaneously. Coming from an electronics background made the hardware aspect of language coherent. Unfortunately, the majority of students on learning portals are not that lucky.
To add to the complexity, the new standards are getting used forcefully. People seem to think switching to the latest version will solve all their problems. But, unfortunately, migration isn’t easy and, in some cases, not even necessary!
The core concern about teaching seems to be in the tools and ecosystem awareness among the new learners.
Teaching CPP via questions
So what does this have to do with my goals? Well, teaching the necessary fundamentals is an opportunity.
When signal is buried in noise, one has to first model the noise not hunt for the signal.
So I decided to try the practice tests mode offered by Udemy. The format is straightforward. Present the users with up to 6 tests, each with a set of questions. At the end of each practice test, the users can review the questions revealing the responses provided by the instructor. Notice the simplicity of AV-free communication.
The course asks the users the questions that answer the very question in the title. The community is also aware of the steep learning curve. The recent announcement about Carbon language is a step in that direction.
Will the approach work? I am not sure. How about you checkout and let me know?