Tool
C++
C's power with object-oriented tools layered on top
Learn modern C++ from syntax and strings to classes, polymorphism, and the STL — compiling and running real C++17 in every chapter.
14
Chapters
36
Hours (estimated)
1
Self-paced
Part-time
About 12 weeks
1 hour a day, 3 days a week
Full-time
About 4 weeks
3 hours a day, 3 days a week
Estimated from 14 chapters (notes, practice, labs, quiz, exercise, and challenge) plus the final exam. Go at your own pace.
Curriculum
14 chapters, each with a tutorial, a live example, a quiz, an exercise, a challenge, and class practice.
- 1
Introduction to C++
What C++ is and where it's used, the structure of a program, printing with cout, reading with cin, namespaces, and comments.
- 2
Variables, Data Types & Constants
Declaring variables, the fundamental types, std::string, auto, const and constexpr, type conversion, and formatting numbers.
- 3
Operators & Booleans
Arithmetic, assignment, comparison, and logical operators; the bool type and boolalpha; short-circuiting; and precedence.
- 4
Strings
std::string basics, concatenation, length and indexing, substr and find, changing case, getline, and string streams.
- 5
Math & User Input
The cmath library, reading several values with cin, checking for bad input, and recovering with clear and ignore.
- 6
Conditions: if, else & switch
Branching with if / else if / else, the ternary operator, switch with break and default, and if-with-initializer.
- 7
Loops
while, do-while, for, and range-based for loops; break and continue; nested loops; and avoiding common loop bugs.
- 8
Arrays & Vectors
Built-in arrays and std::array, std::vector and its operations, iterating, sorting with std::sort, and 2D data.
- 9
References & Pointers
References as aliases, pass-by-reference, memory addresses and pointers, nullptr, dynamic memory, and smart pointers.
- 10
Functions
Declaring and defining functions, parameters and return values, default arguments, overloading, recursion, and lambdas.
- 11
Classes & Objects
Defining classes, public and private members, constructors and initializer lists, methods, const methods, and encapsulation.
- 12
Inheritance & Polymorphism
Base and derived classes, protected members, virtual functions and override, abstract classes, and polymorphism through base pointers.
- 13
Files & Exceptions
Reading and writing files with fstream, checking that files opened, throwing and catching exceptions, and standard exception types.
- 14
STL: Maps, Sets & Algorithms
The Standard Template Library's containers (map, unordered_map, set), iterators, and algorithms such as sort, count_if, accumulate, and transform.
C++ is free to study, self-paced. Pass the final exam to earn an optional Certificate of Completion for $40.