Choose your language
C++ Programming Fundamentals for Beginners Course
More than 2 million learners worldwide

C++ Programming Fundamentals for Beginners Course

Go from zero to confident C++ developer by mastering the language that powers games, operating systems, and high-performance software. This course walks you through every foundational concept — from variables and control flow to object-oriented design and the Standard Library. Hands-on projects and real compiler workflows make the skills stick from day one.

Dedika for businesses

What you will learn:

  • Configure a complete C++ development environment and compile your first working program.

  • Apply core data types, operators, and control flow to solve real programming problems.

  • Design reusable functions and understand how C++ manages memory on the stack and heap.

  • Build object-oriented programs using classes, inheritance, and polymorphic virtual functions.

  • Leverage STL containers and algorithms to store, search, and transform data efficiently.

  • Organize professional multi-file projects with CMake, Git version control, and unit testing.

How you study in a practical way C++ Programming Fundamentals for Beginners Course

How you practice C++ Programming Fundamentals for Beginners 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.

Click here

Course content

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

Chapter 1See details

Setting Up Your C++ Environment

  • Lesson 1 • Writing and Compiling Hello World

    The minimal C++ source file structure is explained and compiled. Students run their first executable and read compiler output.

  • Lesson 2 • Installing a Compiler and IDE

    Students install GCC or Clang and a code editor such as VS Code. Correct installation is verified by compiling a test file.

  • Lesson 3 • Navigating the Build Process

    Preprocessing, compilation, and linking stages are demystified. Students understand how source files become executables.

  • Lesson 4 • Understanding C++ and Its Uses

    C++ history, design goals, and real-world applications are introduced. This context motivates the toolchain setup that follows.

Chapter 2See details

Core Data Types and Variables

  • Lesson 1 • Integer and Floating-Point Types

    Signed and unsigned integer widths and floating-point precision are examined. Students choose appropriate types for given data ranges.

  • Lesson 2 • Constants and Type Conversions

    const, constexpr, and implicit/explicit casting rules are explained. Students avoid data loss from unintended type conversions.

  • Lesson 3 • Characters, Booleans, and Strings

    char, bool, and std::string types are introduced with their operations. Students manipulate text and logical values in small programs.

  • Lesson 4 • Declaring and Initializing Variables

    Variable syntax, naming rules, and initialization forms are covered. Proper initialization prevents undefined behavior introduced later.

Chapter 3See details

Operators and Expressions

  • Lesson 1 • Operator Precedence and Associativity

    Precedence tables and associativity rules determine expression evaluation order. Students use parentheses to enforce intended computation.

  • Lesson 2 • Relational and Logical Operators

    Comparison and logical operators produce bool results used in control flow. Students write conditions that combine multiple relational tests.

  • Lesson 3 • Arithmetic and Assignment Operators

    The five arithmetic operators and compound assignment forms are practiced. Students compute results and understand integer division behavior.

  • Lesson 4 • Bitwise Operators and Bit Manipulation

    AND, OR, XOR, NOT, and shift operators work at the bit level. Students apply masks and shifts to manipulate individual bits in integers.

Chapter 4See details

Control Flow and Decision Making

  • Lesson 1 • Switch Statements and Enumerations

    Switch provides multi-way branching on integral values; enums improve readability. Students replace long if-else chains with cleaner switch blocks.

  • Lesson 2 • Loop Control and Nested Loops

    break, continue, and nested loop patterns extend loop capabilities. Students solve problems requiring early exit and multi-dimensional iteration.

  • Lesson 3 • if, else if, and else Statements

    Conditional branching syntax and nesting rules are taught with practical examples. Students write programs that choose different code paths based on input.

  • Lesson 4 • for and while Loops

    Counter-controlled and condition-controlled loops are introduced and compared. Students implement iteration patterns such as accumulation and searching.

Chapter 5See details

Functions and Code Organization

  • Lesson 1 • Recursion Fundamentals

    Recursive functions call themselves to solve problems defined in terms of subproblems. Students implement factorial, Fibonacci, and simple search recursively.

  • Lesson 2 • Function Overloading and Default Arguments

    Multiple functions sharing a name and optional parameters increase API flexibility. Students design overloaded sets that compile without ambiguity.

  • Lesson 3 • Defining and Calling Functions

    Function syntax, return types, and call mechanics are established. Students replace repeated code blocks with named, callable units.

  • Lesson 4 • References, Pointers as Parameters

    Pass-by-reference and pass-by-pointer allow functions to modify caller data. Students choose the correct passing strategy for each use case.

  • Lesson 5 • Parameters, Arguments, and Scope

    Pass-by-value semantics and local variable scope are explained with examples. Students understand why changes inside functions do not affect caller variables.

Chapter 6See details

Arrays, Pointers, and Memory

  • Lesson 1 • Dynamic Memory Allocation

    new and delete allocate and free heap memory at runtime. Students manage dynamic arrays and avoid memory leaks through disciplined deallocation.

  • Lesson 2 • Smart Pointers Introduction

    unique_ptr and shared_ptr automate memory management using RAII. Students replace raw owning pointers with smart pointers to eliminate leaks.

  • Lesson 3 • Pointers and Address Arithmetic

    Pointers store memory addresses and enable direct memory access. Students declare pointers, dereference them, and perform pointer arithmetic.

  • Lesson 4 • Arrays and Array Operations

    Fixed-size arrays store homogeneous elements accessed by index. Students declare, initialize, and iterate over one-dimensional arrays safely.

  • Lesson 5 • Multidimensional Arrays

    Two-dimensional arrays model grids and matrices with row-column indexing. Students implement matrix storage and traversal patterns.

Chapter 7See details

Object-Oriented Programming in C++

  • Lesson 1 • Operator Overloading

    Custom types gain natural syntax by overloading operators such as +, ==, and <<. Students implement arithmetic and stream operators for a user-defined class.

  • Lesson 2 • Polymorphism and Virtual Functions

    Virtual functions enable runtime dispatch through base class pointers. Students implement a polymorphic interface and observe dynamic binding in action.

  • Lesson 3 • Classes, Objects, and Encapsulation

    Classes bundle data and behavior; access specifiers enforce encapsulation. Students define classes with private data and public getter/setter methods.

  • Lesson 4 • Constructors and Destructors

    Constructors initialize objects; destructors release resources at end of lifetime. Students implement default, parameterized, and copy constructors correctly.

  • Lesson 5 • Inheritance and the Is-A Relationship

    Derived classes extend base classes to reuse and specialize behavior. Students build a two-level hierarchy and override base class methods.

Chapter 8See details

Standard Library Containers and Algorithms

  • Lesson 1 • STL Algorithms and Iterators

    Algorithms such as sort, find, and transform operate on iterator ranges. Students apply standard algorithms instead of writing manual loops.

  • Lesson 2 • std::map and std::set

    Associative containers map keys to values and store unique sorted elements. Students implement frequency counting and lookup tables with these containers.

  • Lesson 3 • File I/O with fstream

    ifstream and ofstream read and write text files using familiar stream syntax. Students build programs that persist data between runs.

  • Lesson 4 • std::vector and Dynamic Sequences

    vector provides a resizable array with bounds-checked access and iterators. Students build, modify, and traverse vectors in realistic programs.

  • Lesson 5 • std::string Advanced Operations

    String searching, slicing, and conversion functions are explored in depth. Students parse and transform text data using the full std::string API.

Certification

Your valid completion certificate

This course is for you:

  • College students: seeking a rigorous first systems programming language to learn.

  • Career changers: transitioning from non-technical roles into software development jobs.

  • Game development enthusiasts: wanting the foundational language behind most game engines.

  • Self-taught coders: who have dabbled in scripting and now want compiled language skills.

  • Electrical engineering students: needing C++ for embedded systems and hardware programming.

  • IT professionals: looking to expand beyond scripting into performance-critical application development.

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...
Giulio Carlo
Giulio CarloDigital Marketing Student
I like how the lessons are straight to the point and how I can switch chapters and skip content I don't need.
Mariana Ferres
Mariana FerresPhotography Student
I like the content and the way videos are presented and transcribed, which speeds up the process!
Luciana Alvarenga
Luciana AlvarengaNail Design Student
The platform is fast, simple to use. The diversity of content and complementary videos really help with learning.
André Felipe
André FelipePrompt Engineering Student

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