Learning Modern C++ from Scratch

C++ is a language having a reputation of being hard to learn.

In this C++ course of mine published by Pluralsight, I did my best to prove the opposite: C++ can be learned in a simple, interesting, and fun way!

I used a variety of engaging visuals, metaphors and example demo code to try to teach modern, clear, good C++ from scratch, from the beginning, without any previous programming knowledge.

And, even if you already know C++, you may have fun watching this course as well.

Note: The table of contents and a brief course overview are freely available in the course page.

Sample slide: Iterating through vector elements
Sample slide: Iterating through std::vector’s elements

Here’s some of what my reviewers wrote about this course:

You sound really passionate about this technology.  It comes across in the narration and it’s quite infectious.

You’re a very talented teacher, offering lots of examples, analogies and stories that make the concepts easy to grasp.  The visuals are also really helpful for understanding the concepts.

Overall, I really enjoyed this module.  The content is logically structured, you do a great job explaining the concepts, supported by engaging visuals.  There’s also a nice mix of theory and demos.  You clearly understand your beginner audience, the knowledge they currently have, and how to lead them to a deeper understanding of this technology.  Bravo!

The demo showing the bug with implementing the swap function was excellent. It immediately reinforced your earlier lesson on the scope of local variables.

Fantastic use of Camtasia callouts in the demos.

Sample slide: Introducing the std::string class
Sample slide: Introducing the std::string class

I’d like to sincerely thank Mike Woodring of Pluralsight for approving this course idea, my fantastic editor Beth Gerard-Hess for her continuous encouragement and support during this course production (working with Beth is an absolute pleasure), Stephan T. Lavavej for interesting email conversations that provided good food for thought, all my reviewers (both peer and QA) for their quality course feedback, and all the Pluralsight persons who worked on this course.

This C++ course has been a work of love for me, I put my heart into it: I hope you will enjoy the result!


5 Replies to “Learning Modern C++ from Scratch”

  1. I watched your course and happy to say that even though this was a course on C++11 from scratch you still managed to include a lot of detail and not just repeating C code as many other tutorials do.

    Please follow this course with other more advanced tutorials on C++11/14. There are lots of introduction to C++ tutorials but they leave the reader waiting for follow up courses which do not materialise.

    Thank you Giovanni.

    1. Charles: Thanks for your comment. I had a “time budget” for this course (initially we thought of a 4-5 hour course, but as you can see I exceeded that initial limit with this almost 6-hour course), so there just wasn’t enough room in this time limit to discuss features added in C++14 (for example: polymorphic lambdas, or std::make_unique; there wasn’t even room for smart pointers in the course time limit). I have other course ideas, including going-deeper follow-ups to this course. Thanks, Giovanni

  2. I am currently doing your “Introduction to Data Structures and Algorithms in C++” on pluralsight and I must admit, you explained every concept very easily and in simple manner which is very easy to understand. Thanks for providing such a great learning experience.
    ps. I would really like you to mentor me 🙂
    Thank you.

Leave a Reply

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