C++ Academy logo
C++BeginnerAIMobileLevels A1 → C222 languages

C++ Academy

Enhance your software development skills by learning C++ at C++ Programming Academy. A CoddyKit learning path of 51 short courses and 203 interactive lessons, with a 24/7 AI tutor at your side.

Courses
51
Lessons
203
Interactive steps
2,707
Free to start
Course 1
Curriculum

51 courses in this path

Every course in the C++ Academy path, in learning order. The first one is free.

1

A13 lessonsFree

Discover what C++ is, why it remains one of the most powerful and widely used languages 40 years after its creation, and where it secretly runs in your life every day.

2

A14 lessonsPRO

Set up a C++ compiler, write your first program, and master variables, type inference, and basic operators. The starting point for every C++ developer.

3

A14 lessonsPRO

Manipulate text with std::string and C-style char arrays. Learn parsing, formatting and conversions for everyday string operations.

4

A14 lessonsPRO

Read input and write output cleanly using iostream. Cover cin, cout, cerr, formatting helpers and safe input validation.

5

A14 lessonsPRO

Branch and loop like a pro. Learn if-else, switch, for, while, range-based for, and the modern early-return style for clean code.

6

A24 lessonsPRO

Group data into structs and classes. Learn constructors, member initializer lists, and the this pointer.

7

A24 lessonsPRO

Compute with integers, floats, and the cmath library. Generate random numbers and understand overflow behavior.

8

A24 lessonsPRO

Master std::vector, the workhorse of modern C++ collections. Compare it with std::array and raw C-style arrays.

9

A24 lessonsPRO

Understand references — the safer alternative to pointers — and learn the rules for passing values by reference and const reference.

10

A24 lessonsPRO

Apply everything you have learned by building four self-contained mini projects: a calculator, CSV reader, guessing game, and word frequency counter.

11

A24 lessonsPRO

Random Numbers with : Random Engines, Distributions, and more.

12

B14 lessonsPRO

C++ Memory Model: Stack vs Heap: Stack Allocation, Heap Allocation with new/delete, and more.

13

B14 lessonsPRO

RAII and Resource Management: The RAII Principle, Destructors and Cleanup, and more.

14

B14 lessonsPRO

Exception Handling and noexcept: try, catch, throw, Exception Safety, and more.

15

B14 lessonsPRO

const Correctness and constexpr: const Variables and Parameters, const Member Functions, and more.

16

B14 lessonsPRO

Use raw pointers responsibly. Learn pointer arithmetic, nullptr, and when to prefer references or smart pointers instead.

17

B14 lessonsPRO

Enums, Unions and std::variant: Scoped enum class, Unions and Their Risks, and more.

18

B14 lessonsPRO

std::optional and std::expected: Representing Absence with optional, Accessing optional Values, and more.

19

B14 lessonsPRO

std::string_view and Efficient Strings: Why string_view, Creating Views, and more.

20

B14 lessonsPRO

std::array and std::span: Fixed-Size std::array, std::span Basics, and more.

21

B14 lessonsPRO

Associative Containers: std::map, std::set, and more.

22

B14 lessonsPRO

Hashing with unordered_map: std::unordered_map, unordered_set, and more.

23

B14 lessonsPRO

Replace raw new and delete with smart pointers. Master unique_ptr, shared_ptr, and weak_ptr ownership semantics.

24

B14 lessonsPRO

Apply OO design with inheritance, virtual functions, and abstract classes — and know when composition is better.

25

B14 lessonsPRO

Make your types feel native. Overload arithmetic, comparison, stream, and the C++20 three-way comparison operator.

26

B14 lessonsPRO

Set up portable, scalable C++ builds with CMake. Manage dependencies using vcpkg and Conan.

27

B14 lessonsPRO

File I/O with fstream: Reading Files with ifstream, Writing Files with ofstream, and more.

28

B14 lessonsPRO

Time and the Chrono Library: Durations and Clocks, Time Points, and more.

29

B14 lessonsPRO

Regular Expressions with : regex Basics, Capturing Groups, and more.

30

B24 lessonsPRO

Tour the most impactful additions from C++11 through C++20: auto, range-for, lambdas, structured bindings, and more.

31

B24 lessonsPRO

Eliminate unnecessary copies. Learn rvalue references, std::move, std::forward, and how to write move constructors.

32

B24 lessonsPRO

Use callables effectively in modern C++. Compare functors, lambdas, and the type-erased std::function.

33

B24 lessonsPRO

Use the rich algorithm library. Cover non-modifying, modifying, sorting, and numeric algorithms with practical examples.

34

B24 lessonsPRO

Understand iterator categories and adopt the C++20 ranges library for composable, lazy data pipelines.

35

B24 lessonsPRO

Function Objects and std::bind: Function Pointers, std::function, and more.

36

B24 lessonsPRO

Talk to the network from C++. Use BSD sockets, async I/O with epoll, and Boost.Asio for clean async code.

37

B24 lessonsPRO

Unit Testing with Google Test: Setting Up GTest, Assertions and Matchers, and more.

38

B24 lessonsPRO

Debugging and Sanitizers: Using gdb and lldb, AddressSanitizer, and more.

39

C14 lessonsPRO

Run code in parallel safely. Learn std::thread, std::mutex, condition variables, and std::async with futures.

40

C14 lessonsPRO

Template Specialization and SFINAE: Full Specialization, Partial Specialization, and more.

41

C14 lessonsPRO

Become fluent in templates. Cover specialization, variadic templates, constexpr functions, and if constexpr.

42

C14 lessonsPRO

Replace verbose SFINAE with the cleaner C++20 concepts system for constraining templates.

43

C14 lessonsPRO

Make C++ code fast. Cover cache-aware layouts, branch prediction, profiling tools, and micro-benchmarking.

44

C14 lessonsPRO

Apply C++ on microcontrollers and systems software. Address constraints like no RTTI, no exceptions, and real-time requirements.

45

C14 lessonsPRO

Bridge C++ with C, Python, Rust, and more. Use extern C, pybind11, FFI, and SWIG to connect ecosystems.

46

C14 lessonsPRO

Design libraries that age well. Cover header-only patterns, API versioning, ABI stability, and PIMPL.

47

C14 lessonsPRO

Ship reliable C++. Use static analysis, sanitizers, fuzzing, and continuous integration to keep code healthy.

48

C14 lessonsPRO

CRTP and Static Polymorphism: The CRTP Idiom, Static Polymorphism, and more.

49

C14 lessonsPRO

Type Traits and : Querying Types, Transforming Types, and more.

50

C24 lessonsPRO

Build lock-free data structures with atomics, memory orders, and CAS loops. Understand the hazards of lock-free programming.

51

C24 lessonsPRO

Write asynchronous code that reads like synchronous code with C++20 coroutines. Build your own generators and tasks.

CoddyKit PRO

Unlock all 51 courses in this path, and every other path

AI tutor, certification exam and certificate. Works on web, iOS and Android.

See all plans
Yearly$29.90 / yearAbout $2.49 a monthPay onceLifetime$69.99 onceNo renewals. PRO forever.
Course Overview

C++ Is Still the Language Where Performance Is Non-Negotiable

C++ runs operating systems, game engines, compilers, embedded firmware, and high-frequency trading systems. It gives you direct control over memory and hardware while providing a rich standard library and modern language features — from smart pointers to coroutines — introduced in C++11 through C++20. This track covers the full language, from your first variable declaration to writing lock-free concurrent data structures and C++20 coroutines.

What You Will Learn

You will start with syntax, variables, strings, and I/O streams, then move through control flow, structs, classes, and dynamic arrays. Core competency builds around the C++ memory model, RAII, const correctness, safe pointer usage, and std::optional and std::variant. You will work with the full range of STL containers — vectors, associative containers, unordered_map, std::array, and std::span — and master STL algorithms, iterators, and ranges. Modern C++ features get dedicated attention: move semantics, rvalue references, lambdas, functors, std::function, and the highlights across C++11, 14, 17, and 20. Later courses cover unit testing with Google Test, debugging with sanitizers, CMake-based builds, file I/O, networking, and concurrency primitives. The track closes with advanced templates, SFINAE, C++20 Concepts, CRTP, type traits, lock-free atomics, and coroutines.

The Learning Path

Fifty-one courses progress from A1 through C2. The A1 and A2 foundations cover syntax, strings, I/O, control flow, structs, references, and practical mini-project patterns. B1 is the largest block — nineteen courses that establish professional fluency with the memory model, smart pointers, inheritance, operator overloading, and the standard library in depth. B2 bridges to advanced topics with move semantics, modern C++ highlights, STL algorithms, unit testing, and debugging. Ten C1 courses tackle concurrency, advanced templates and metaprogramming, C++20 Concepts, performance engineering, embedded systems, interoperability, and API design. The track finishes at C2 with lock-free and atomic concurrency and C++20 coroutines.

How It Works

Each course is split into short, focused lessons you complete in the built-in code editor with real-time feedback. When you get stuck, an AI tutor explains the concept and guides you to the correct solution without just handing it to you.

How You'll Learn

  1. 01

    Interactive Lessons

    Hands-on coding exercises with real-time feedback

  2. 02

    AI Tutor

    Get instant help from our AI when you're stuck

  3. 03

    Built-in Editor

    Write and run code directly in your browser

  4. 04

    Certificate

    Earn a certificate when you complete the course

FAQ

Frequently Asked Questions

Is the C++ Academy course free?

Yes. You can start the C++ Academy course for free and complete its interactive lessons at no cost. An optional PRO subscription unlocks advanced AI tools and a shareable certificate.

Do I need prior experience to learn C++?

No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior C++ experience.

How will I learn C++ on CoddyKit?

You learn by doing. Short interactive lessons pair a clear explanation with a hands-on coding exercise that runs in real time, and a 24/7 AI tutor gives personalized help whenever you get stuck.

Do I get a certificate for completing C++ Academy?

Yes. PRO learners can take an exam and earn a shareable certificate of completion with a verifiable code for the C++ Academy course.

Can I learn C++ on my phone?

Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn C++ on any device and your progress syncs across them.

How much does CoddyKit PRO cost?

The first course of C++ Academy is free. CoddyKit PRO unlocks every course: $5.90 per week, $7.90 per month, $29.90 per year, or $69.99 once for lifetime access with no renewals.

How long does it take to complete C++ Academy?

C++ Academy has 51 courses and 203 lessons. Most lessons take about 5–10 minutes, so the whole path is roughly 24 hours of hands-on practice, at your own pace.

Start C++ Academy Now

Join thousands of learners mastering programming with AI-powered lessons.