
C++ Beginner Course
Learn C++ from the ground up and gain the skills that power games, operating systems, and embedded software. This course takes you from installing your first compiler to writing classes, managing memory, and using the standard library. Every concept is taught with hands-on code you write, compile, and run yourself.
What you will learn:
You will start by setting up a complete C++ development environment and writing your first compiled program. From there, you will master variables, data types, control flow, and functions before moving into arrays, vectors, and standard library tools. You will learn how memory works in C++, including pointers, references, and smart pointers. The course then introduces object-oriented programming through structs, classes, and inheritance. You will also cover file I/O, error handling, Git version control, and clean code practices that professional developers use every day.
How you study in a practical way C++ Beginner Course
How you practice C++ Beginner Course
For companies who want to train their team
With Dedika for businesses, the course includes exercises and examples tailored to your own business and the way your company needs.
Course content
8 Chapters • 40 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsSetting Up Your C++ Environment
Setting Up Your C++ Environment
Lesson 1 • Understanding C++ and Its Uses
C++ is a compiled, statically typed language used in systems, games, and embedded software. This context motivates the toolchain choices made throughout the chapter.
Lesson 2 • Choosing and Configuring an IDE
An IDE accelerates development with editing, building, and debugging in one tool. Students configure VS Code or Code::Blocks for C++ projects.
Lesson 3 • Understanding Build Errors and Warnings
Compiler diagnostics are the first feedback loop in C++ development. Students learn to read error messages and fix common setup mistakes.
Lesson 4 • Writing and Compiling Hello World
The classic Hello World program introduces the minimal structure of a C++ source file. Students compile and run it to confirm the full toolchain works.
Lesson 5 • Installing a Compiler
A compiler translates C++ source code into executable binaries. Students install GCC or Clang and verify the installation via the command line.
Chapter 2HideHide detailsSee detailsVariables, Types, and Basic Operations
Variables, Types, and Basic Operations
Lesson 1 • Arithmetic and Assignment Operators
Arithmetic operators perform math on numeric types; assignment operators update variables concisely. Students write expressions combining both operator groups.
Lesson 2 • Fundamental Data Types
C++ provides integer, floating-point, character, and boolean types with defined sizes. Students choose appropriate types for given data requirements.
Lesson 3 • Type Conversions and Casting
Implicit conversions can cause data loss; explicit casts make intent clear. Students identify unsafe conversions and apply static_cast correctly.
Lesson 4 • Constants and Literals
Constants prevent accidental modification of fixed values. Students use const, constexpr, and typed literals to express immutable data clearly.
Lesson 5 • Declaring and Initializing Variables
Variables are named storage locations with a fixed type. Students practice declaring, initializing, and reassigning variables of several built-in types.
Chapter 3HideHide detailsSee detailsInput, Output, and String Basics
Input, Output, and String Basics
Lesson 1 • Reading Full Lines of Text
std::getline reads an entire line including spaces, unlike the extraction operator. Students combine getline with cin correctly to avoid common pitfalls.
Lesson 2 • Introduction to std::string
std::string is the standard class for text data in C++. Students create, assign, and concatenate strings using its member functions.
Lesson 3 • Console Output with std::cout
std::cout sends formatted text to the terminal using the insertion operator. Students control spacing, newlines, and numeric formatting in output.
Lesson 4 • Reading Input with std::cin
std::cin reads whitespace-delimited tokens from the keyboard into variables. Students handle simple input scenarios and detect basic input failures.
Lesson 5 • Basic String Operations
Common string tasks include searching, extracting substrings, and converting case. Students apply substr, find, and related methods to process text.
Chapter 4HideHide detailsSee detailsControl Flow: Decisions and Loops
Control Flow: Decisions and Loops
Lesson 1 • for and while Loops
for loops iterate a known number of times; while loops repeat while a condition holds. Students choose the right loop type and write correct loop conditions.
Lesson 2 • Boolean Expressions and Comparisons
Conditions are built from relational and logical operators that evaluate to true or false. Students construct compound conditions for realistic decision scenarios.
Lesson 3 • do-while, break, and continue
do-while guarantees at least one execution; break and continue alter loop flow mid-iteration. Students apply these constructs to input validation and search tasks.
Lesson 4 • if, else if, and else Statements
if-else chains select one code path from several alternatives based on conditions. Students structure multi-branch logic clearly and avoid dangling-else issues.
Lesson 5 • switch Statements
switch efficiently dispatches on integer or character values with named cases. Students use break and default correctly and recognize fall-through behavior.
Chapter 5HideHide detailsSee detailsFunctions: Defining and Using Them
Functions: Defining and Using Them
Lesson 1 • Return Values and Multiple Outputs
Functions communicate results through return values or output parameters. Students return structured data and use reference parameters for multiple outputs.
Lesson 2 • Defining and Calling Functions
A function encapsulates a named block of reusable logic. Students write function definitions, declarations, and call sites with matching argument types.
Lesson 3 • Function Overloading
Overloading lets multiple functions share a name when their parameter lists differ. Students define overloaded functions and understand how the compiler resolves calls.
Lesson 4 • Parameters and Arguments
Parameters define the inputs a function expects; arguments supply the actual values. Students distinguish pass-by-value from pass-by-reference and choose appropriately.
Lesson 5 • Scope and Lifetime of Variables
Variable scope determines where a name is visible; lifetime determines how long storage persists. Students avoid scope-related bugs by understanding local and global variables.
Chapter 6HideHide detailsSee detailsArrays, Vectors, and Collections
Arrays, Vectors, and Collections
Lesson 1 • Sorting and Searching Collections
The standard library provides efficient sort and search algorithms for vectors. Students apply std::sort and std::binary_search with default and custom comparators.
Lesson 2 • Introduction to std::array and std::string
std::array wraps a fixed-size raw array with a safer, STL-compatible interface. Students compare std::array, raw arrays, and vectors to choose the right container.
Lesson 3 • Common Vector Operations
Vectors support insertion, deletion, and searching beyond simple push and pop. Students use insert, erase, and find to manipulate vector contents precisely.
Lesson 4 • Raw Arrays in C++
Raw arrays store fixed-size sequences of a single type in contiguous memory. Students declare, initialize, and access array elements while respecting bounds.
Lesson 5 • Introduction to std::vector
std::vector is a resizable array that manages its own memory. Students add, remove, and access elements using its member functions.
Chapter 7HideHide detailsSee detailsPointers and Memory Fundamentals
Pointers and Memory Fundamentals
Lesson 1 • Smart Pointers Introduction
Smart pointers automate memory management and prevent leaks. Students use std::unique_ptr for exclusive ownership and std::shared_ptr for shared ownership scenarios.
Lesson 2 • Dereferencing and Pointer Arithmetic
Dereferencing a pointer accesses the value at its stored address. Students perform pointer arithmetic to traverse arrays and understand the relationship between arrays and pointers.
Lesson 3 • References vs. Pointers
References are aliases that cannot be null or reseated; pointers are flexible but riskier. Students choose between references and pointers based on ownership and nullability needs.
Lesson 4 • Dynamic Memory Allocation
new and delete allocate and free heap memory at runtime. Students manage single objects and arrays on the heap and identify memory leaks.
Lesson 5 • Understanding Memory and Addresses
Every variable occupies a memory address; pointers store those addresses. Students visualize the stack layout and use the address-of operator to inspect addresses.
Chapter 8HideHide detailsSee detailsStructs, Classes, and Object Basics
Structs, Classes, and Object Basics
Lesson 1 • Basic Inheritance and Polymorphism
Inheritance lets a derived class reuse and extend a base class. Students create a simple class hierarchy and call overridden virtual functions through base pointers.
Lesson 2 • Defining and Using Structs
Structs group related data fields under a single name. Students define structs, create instances, and access members to represent compound data.
Lesson 3 • Member Functions and Methods
Member functions operate on an object's data and define its behavior. Students implement const member functions and understand how methods access private data.
Lesson 4 • Introducing Classes and Encapsulation
Classes add access control to group data and behavior together. Students use public and private to enforce encapsulation and expose safe interfaces.
Lesson 5 • Constructors and Destructors
Constructors initialize objects at creation; destructors clean up resources at destruction. Students write default, parameterized, and copy constructors for a simple class.
Your valid completion certificate
This course is for you:
Aspiring game developer: C++ is the dominant language in professional game engines.
Career changer from a non-technical field: seeking a rigorous, marketable programming foundation.
Python or JavaScript developer: ready to understand memory and performance at a deeper level.
Computer science student: wanting hands-on practice to reinforce what lectures only sketch out.
Hobbyist builder: eager to write fast, efficient programs for personal hardware or robotics projects.
Recent graduate: looking to strengthen a resume with a systems-level programming language.
What our students say
Your classes are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of my interest without needing to change platforms... I thank you for everything you do, I've already recommended you to other people...

I like how the lessons are straight to the point and how I can switch chapters and skip content I don't need.

I like the content and the way videos are presented and transcribed, which speeds up the process!

The platform is fast, simple to use. The diversity of content and complementary videos really help with learning.

Top trainings
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




















