This course will teach you the fundamentals of the C++ programming language, with a focus on Modern C++ features and the efficient use of tools. Start with the fundamentals and work your way up to advanced C++11 concepts and OOP mastery!
This course is presented as a combination of slide-based theory material and screencasts showing the IDE and the author writing programs and running them in the terminal.
Here are some of the things we are going to cover in the course:
C++ ecosystem: compilers, Integrated Development Environments (IDEs) and other tools
The compilation process (how C++ source files are compiled and linked)
Data types: numeric (integers, floating-point), strings, arrays, vectors, etc.
Control flow constructs (if, switch, while, etc.)
Memory management (stack and heap allocation, deletion, smart pointers)
User-defined types (how to define your own classes and class members)
Object-oriented programming (polymorphism, inheritance, encapsulation)
Why take this course? Glad you asked. This course is...
Fast-paced, yet feature-complete — covers all core feature of the language
Covers only modern C++ (C++11, 14, 17 and 20)... there is very little 'legacy' C/C++ covered in the course!
Opinionated towards best practices using latest versions of the language
Additional content – driven by you!
That last part means that additional lectures will appear driven by your comments and requests. I read all feedback and comments and try to provide feedback as quickly as possible.
Enjoy!