A Complete Introduction to the C++ Programming Language
What you'll learn
- Comfortably write, compile, link and run C++ programs
- Solve problems using the C++ programming language
- Apply modern C++ programming practices
Requirements
- Very basic maths knowledge
- Experience in programming beneficial but not essential
Description
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!
Who this course is for:
- Beginner C++ programmers
- Developers wishing to learn C++
Instructor
Dmitri is a quant, developer, book author and course author. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009.