Choose your language
C++ Course
+400 thousand professionals on the platform
Exclusive for companies

C++ Course

4.6

Master C++ from the ground up — from basic syntax and memory management to templates, concurrency, and modern C++23 features. This course provides the technical depth and hands-on practice to write fast, safe, and professional-grade C++ code. Whether you're targeting systems programming, embedded development, or high-performance applications, this is the complete skill set you need.

Dedika for students

What your team will master:

You will build a solid foundation in C++ syntax, control flow, and functions before advancing to pointers, memory management, and object-oriented programming. You will master the Standard Template Library, write generic code with templates, and apply modern features like lambdas, move semantics, and structured bindings. The course also covers error handling, unit testing, performance profiling, build systems with CMake, and professional practices, including version control and code review. By the end, you will have the skills to develop production-quality C++ software across a wide range of domains.

How your team studies in practice C++ Course

How your team practices C++ Course

Professionals from these companies study at Dedika

ActemiumFR
Nunner LogisticsNL
GT Constructora GeotécnicaCR
Sydel StarBR
Metrô de São PauloBR
Aguas AndinasCL
DSMIN
MeridianbetRS
CDHCN

Course content

8 Chapters • 40 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

C++ Fundamentals and Environment Setup

  • Lesson 1 • Variables, Types, and Literals

    Introduces fundamental data types, variable declaration, and literal values. Builds the vocabulary needed for all future data manipulation.

  • Lesson 2 • Setting Up the Development Environment

    Install compilers, IDEs, and build tools for C++ development. Provides the technical foundation every subsequent chapter depends on.

  • Lesson 3 • Operators and Expressions

    Explores arithmetic, relational, logical, and bitwise operators. Operator precedence rules are applied to write correct expressions.

  • Lesson 4 • Basic Syntax and Program Structure

    Covers the anatomy of a C++ source file, including headers, main function, and statements. Connects syntax rules to readable, compilable code.

  • Lesson 5 • Input and Output with iostream

    Teaches console I/O using cin and cout from the standard library. Enables interactive programs essential for early exercises.

Chapter 2See details

Control Flow and Functions

  • Lesson 1 • Loops and Iteration

    Introduces for, while, and do-while loops alongside loop control statements. Repetition patterns underpin algorithms in later chapters.

  • Lesson 2 • Scope, Lifetime, and Storage Classes

    Explains local, global, and static variable scope and object lifetime. Prevents common bugs caused by misunderstood variable visibility.

  • Lesson 3 • Recursion and Function Overloading

    Introduces recursive problem-solving and multiple function signatures with the same name. Prepares students for complex algorithmic patterns.

  • Lesson 4 • Function Declaration and Definition

    Teaches how to declare, define, and call functions with parameters and return types. Functions are the primary unit of code reuse in C++.

  • Lesson 5 • Conditional Statements

    Covers if, else-if, else, and switch constructs for decision-making. Directly enables logic-driven programs built throughout the course.

Chapter 3See details

Arrays, Pointers, and Memory

  • Lesson 1 • Dynamic Memory Allocation

    Teaches heap allocation with new and deallocation with delete. Proper resource management here prevents memory leaks in all future programs.

  • Lesson 2 • Arrays and C-Style Strings

    Covers fixed-size arrays, multidimensional arrays, and null-terminated strings. Establishes the low-level data structures that pointers build upon.

  • Lesson 3 • References and Const Correctness

    Distinguishes references from pointers and enforces const usage for safety. Const correctness is a professional C++ coding standard.

  • Lesson 4 • Smart Pointers Overview

    Introduces unique_ptr, shared_ptr, and weak_ptr as safer alternatives to raw pointers. Bridges manual memory management to modern C++ idioms.

  • Lesson 5 • Pointer Basics

    Introduces pointer declaration, address-of operator, and dereferencing. Pointers are central to dynamic memory and object-oriented features ahead.

Chapter 4See details

Object-Oriented Programming in C++

  • Lesson 1 • Polymorphism and Virtual Functions

    Implements runtime polymorphism via virtual functions and abstract classes. Enables flexible, extensible designs central to large C++ codebases.

  • Lesson 2 • Inheritance and Class Hierarchies

    Models is-a relationships using single and multiple inheritance. Establishes the hierarchy structure required for polymorphism.

  • Lesson 3 • Operator Overloading

    Enables custom types to use standard operators naturally and expressively. Reinforces encapsulation by keeping logic inside the class.

  • Lesson 4 • Constructors, Destructors, and Initialization

    Teaches object lifecycle management through constructors and destructors. Proper initialization prevents undefined behavior in complex programs.

  • Lesson 5 • Classes and Objects

    Covers class definition, data members, member functions, and access specifiers. Classes are the primary abstraction mechanism in C++.

Chapter 5See details

The Standard Template Library

  • Lesson 1 • String Handling with std::string

    Covers std::string operations, manipulation, and conversion utilities. Replaces unsafe C-style strings with a safe, feature-rich alternative.

  • Lesson 2 • STL Algorithms

    Applies sorting, searching, transforming, and accumulating algorithms from <algorithm>. Replaces error-prone manual loops with expressive one-liners.

  • Lesson 3 • Associative and Unordered Containers

    Introduces map, set, unordered_map, and unordered_set for key-based access. Enables fast lookup patterns used in real-world applications.

  • Lesson 4 • Sequence Containers

    Covers vector, list, deque, and array for ordered data storage. Choosing the right container directly impacts program performance.

  • Lesson 5 • Iterators and Ranges

    Explains iterator categories, traversal patterns, and range-based operations. Iterators are the universal interface between containers and algorithms.

Chapter 6See details

Templates and Generic Programming

  • Lesson 1 • Concepts and Constraints in C++20

    Applies C++20 concepts to constrain template parameters with readable requirements. Produces clearer error messages and self-documenting interfaces.

  • Lesson 2 • Template Metaprogramming Basics

    Introduces compile-time computation using type traits and constexpr. Enables zero-cost abstractions and compile-time validation.

  • Lesson 3 • Function Templates

    Introduces template syntax for writing generic functions with type parameters. Eliminates code duplication while preserving full type safety.

  • Lesson 4 • Class Templates

    Extends templates to classes, enabling generic containers and utilities. Underpins the STL containers studied in the previous chapter.

  • Lesson 5 • Variadic Templates

    Covers parameter packs and fold expressions for variable-argument templates. Enables flexible APIs like std::tuple and logging utilities.

Chapter 7See details

Modern C++ Features and Idioms

  • Lesson 1 • Structured Bindings and std::optional

    Introduces structured bindings for tuple-like decomposition and optional for nullable values. Reduces boilerplate and expresses intent clearly.

  • Lesson 2 • std::variant and std::any

    Covers type-safe unions with std::variant and type-erased storage with std::any. Replaces unsafe C unions and void pointers in modern code.

  • Lesson 3 • Concurrency Fundamentals with std::thread

    Introduces thread creation, synchronization primitives, and data race prevention. Prepares students for multi-threaded application development.

  • Lesson 4 • Move Semantics and Rvalue References

    Explains rvalue references, move constructors, and move assignment for performance. Eliminates unnecessary copies in resource-intensive programs.

  • Lesson 5 • Lambda Expressions and Closures

    Covers lambda syntax, capture lists, and use with STL algorithms. Enables concise, inline function objects without boilerplate.

Chapter 8See details

Error Handling, Testing, and Performance

  • Lesson 1 • Profiling and Performance Analysis

    Applies profiling tools to identify hotspots and measure execution time. Data-driven optimization avoids premature and misguided tuning.

  • Lesson 2 • Unit Testing in C++

    Introduces test frameworks, test case design, and test-driven development workflow. Automated tests verify correctness as code evolves.

  • Lesson 3 • Assertions and Defensive Programming

    Uses assert, static_assert, and precondition checks to catch bugs early. Defensive techniques reduce debugging time in large codebases.

  • Lesson 4 • Optimization Techniques

    Covers cache-friendly data layouts, algorithmic improvements, and compiler hints. Applies profiling findings to achieve measurable speedups.

  • Lesson 5 • Exception Handling

    Covers try-catch-throw, exception hierarchies, and exception-safe code design. Proper error propagation is mandatory in professional C++ software.

Certification

Your valid completion certificate

This course is for you:

  • Computer science student: eager to move beyond pseudocode into real-world languages.

  • Python or JavaScript developer: ready to understand what happens beneath the abstraction.

  • Aspiring game developer: needing the low-level control that C++ uniquely provides.

  • Electrical engineer: looking to write firmware and drivers with modern language tools.

  • Career changer: targeting high-paying systems programming roles from a non-CS background.

  • Hobbyist builder: wanting to program microcontrollers and embedded devices more effectively.

Related Courses

FAQs

Who is Dedika?

Is the certificate valid in the Philippines?

Are the courses free?

What is the course workload?

What are the courses like?

How do the courses work?

What is the duration of the courses?

What is the cost or price of the courses?

What is an EAD or online course and how does it work?

PDF Course