Track 01 · Beginner · Free

C++ Beginner

From zero to a compiled program you understand line by line.

Start with the toolchain and the language core: types, control flow, functions, and your first real classes. Every unit ends in code you compile and run yourself.

Prerequisite: None. A laptop and a terminal are enough.

Start course

You will be able to

  • Compile, link and debug a multi-file C++ project
  • Read and write modern C++ syntax with confidence
  • Use the standard library containers and algorithms
  • Reason about stack, heap and object lifetime

Lesson outline

01

Toolchain & first build

g++, CMake, compilation stages, reading compiler errors.

3hOpen lesson
02

Types, values, conversions

Integers, floats, auto, const correctness, narrowing traps.

3hOpen lesson
03

Control flow & functions

Branching, loops, parameters, overloads, default arguments.

4hOpen lesson
04

Arrays, vectors, strings

std::vector, std::string, iteration, range-based for.

4hOpen lesson
05

Structs & classes

Members, constructors, encapsulation, const methods.

5hOpen lesson
06

References & pointers

Address-of, dereference, null, passing by reference.

5hOpen lesson
07

Standard algorithms

sort, find, transform, accumulate, lambdas as predicates.

4hOpen lesson
08

Debugging & tests

gdb basics, assertions, first unit tests with Catch2.

4hOpen lesson

Project examples

PRJ-01

Sensor log parser

Read a robot telemetry CSV, compute min/max/mean per joint, print a formatted report.

std::vector<Sample> samples = load("joints.csv");
auto peak = *std::max_element(samples.begin(), samples.end(),
    [](auto& a, auto& b) { return a.torque < b.torque; });
PRJ-02

Joint limit checker

A small class that validates target angles against per-axis limits and reports violations.

class JointLimits {
public:
  bool allows(int axis, double deg) const;
};
PRJ-03

Terminal gripper sim

A loop-driven console program that opens/closes a simulated gripper and tracks payload state.

while (running) {
  auto cmd = readCommand();
  gripper.apply(cmd);
  render(gripper.state());
}

Free course

Begin when you are ready.

6 weeks · ~5h/week. Curriculum aligned with the ISO C++ reference material and verified September 2026.

ISO C++ resources
Continue to C++ Intermediate

Free enrollment · C++ Beginner

Start learning

Leave your details and we'll send the setup guide and first lesson.

Free · no payment details