When a student begins learning C++, I expect that he had developed the discipline of knowing all of the programming fundamentals I have listed. Additionally, they should have some basic experience with Object-Orientated Programming.

The amount of information that a person has to learn to understand C++ is very extensive. I’ll only note down the most important and confusing topic here and note down some activities that would aid in learning C++.

Learning Resource An amazing learning resource is learncpp.com. Even in my undergraduate class at UC Irvine, we use this material.

Resources

Besides learncpp, you can do leetcode problems.

Project Suggestions

Some projects I would suggest is:

  1. Creating a Stack class and skim through learncpp.com.
  2. Create a String class and try to reimplement what std::string does.
  3. Learn simple data structures and implement them from scratch.
  4. Learn abstract data types and implement them from scratch.