1
Module 1: Introduction to C++
Level 1 - Introduction to C++. Build a strong foundation in programming, the C++ language, how it differs from C, its features, applications, program structure, and compilation flow.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what programming is and what C++ is used for
• Compare C and C++ clearly
• Read the structure of a C++ program and explain the compilation process
2
Module 2: Environment Setup
Level 1 - Introduction to C++. Set up the C++ development environment with GCC, configure an IDE, and compile and run the first C++ program.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand the role of a compiler in C++ development
• Install a C++ compiler and configure an IDE
• Write, compile, and execute the first C++ program
3
Module 3: Variables & Data Types
Level 2 - Basics of C++. Learn how C++ stores and manages values using variables, data types, modifiers, constants, casting, and the auto keyword.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Declare and use variables correctly in C++
• Work with data types, modifiers, and constants
• Use type casting and auto appropriately
4
Module 4: Operators
Level 2 - Basics of C++. Use operators to perform arithmetic, comparisons, logical checks, assignments, bitwise operations, and precedence-based expressions.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Recognize the major types of operators in C++
• Apply arithmetic, relational, logical, assignment, and bitwise operators
• Evaluate expressions correctly using operator precedence
5
Module 5: Input & Output
Level 2 - Basics of C++. Learn standard console input and output using cin, cout, endl, formatting, and escape sequences.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand basic input and output in C++
• Use cin, cout, and endl correctly
• Format output clearly using escape sequences and stream formatting ideas
6
Module 6: Conditional Statements
Level 3 - Control Flow. Control program execution using if, if-else, nested if statements, and switch-based decision making.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand decision making in C++ programs
• Implement branching with if, if-else, and nested if
• Use switch statements for multi-way selection
7
Module 7: Loops
Level 3 - Control Flow. Repeat logic efficiently using for, while, do-while, and loop control statements like break and continue.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand when and why loops are used
• Write for, while, and do-while loops
• Control loop execution with break and continue
8
Module 8: Pattern Programming
Level 3 - Control Flow. Strengthen logic-building skills by solving star and number pattern problems using nested loops.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand how pattern logic works step by step
• Use nested loops to build star and number patterns
• Improve loop-based problem solving in C++
9
Module 9: Functions
Level 4 - Functions. Break programs into reusable units with declarations, definitions, parameters, return values, and recursion.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand the role of functions in modular programming
• Write function declarations and definitions with parameters
• Use return values and recursion effectively
10
Module 10: Function Overloading
Level 4 - Functions. Learn how C++ supports multiple function variants with the same name using overloading rules.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what function overloading is in C++
• Apply overloading rules correctly
• Read and write clear overloading examples
11
Module 11: Default Arguments
Level 4 - Functions. Simplify function calls by using default argument values and understanding their rules.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what default arguments are
• Apply the rules for declaring and using default arguments
• Use default arguments to simplify APIs
12
Module 12: Arrays
Level 5 - Arrays & Strings. Store and process collections of values using one-dimensional and multi-dimensional arrays.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand how arrays store multiple values of the same type
• Work with one-dimensional and multi-dimensional arrays
• Perform common array operations in C++
13
Module 13: Strings
Level 5 - Arrays & Strings. Work with both C-style strings and the C++ string class for string handling and manipulation.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand the difference between C-style strings and std::string
• Use common string functions and operations
• Manipulate string data effectively in C++
14
Module 14: Classes & Objects
Level 6 - Object-Oriented Programming. Learn the foundation of OOP in C++ with classes, objects, access specifiers, and object creation.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what classes and objects are in C++
• Define class structure and create objects
• Use access specifiers appropriately
15
Module 15: Constructors & Destructors
Level 6 - Object-Oriented Programming. Control object lifecycle using constructors, constructor overloading, and destructors.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand the purpose of constructors and destructors
• Use different types of constructors and constructor overloading
• Explain object initialization and cleanup in C++
16
Module 16: Encapsulation
Level 6 - Object-Oriented Programming. Protect and organize data using encapsulation, data hiding, and access control.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what encapsulation means in OOP
• Use data hiding to protect internal state
• Apply access control to class design
17
Module 17: Inheritance
Level 6 - Object-Oriented Programming. Reuse and extend behavior with inheritance, base and derived classes, and access modes.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what inheritance is and why it is used
• Work with base and derived classes
• Differentiate the types of inheritance and access modes
18
Module 18: Polymorphism
Level 6 - Object-Oriented Programming. Learn how C++ supports multiple forms of behavior through overloading and overriding.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what polymorphism means in C++
• Use function and operator overloading
• Explain function overriding in object-oriented design
19
Module 19: Abstraction
Level 6 - Object-Oriented Programming. Simplify complex systems using abstraction, abstract classes, and pure virtual functions.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand the purpose of abstraction in C++
• Use abstract classes to define common contracts
• Explain pure virtual functions and their use cases
20
Module 20: Pointers
Level 7 - Pointers & Memory. Learn pointer fundamentals, pointer arithmetic, and null pointers in C++.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what pointers are and why they matter in C++
• Use pointer basics and arithmetic correctly
• Handle null pointers safely
21
Module 21: Dynamic Memory Allocation
Level 7 - Pointers & Memory. Manage heap memory in C++ using new, delete, and safe memory handling practices.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what dynamic memory is in C++
• Allocate and release memory with new and delete
• Explain common memory management concerns
22
Module 22: References
Level 7 - Pointers & Memory. Use reference variables and compare them with pointers for cleaner function interfaces.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what a reference variable is
• Compare references and pointers accurately
• Use passing by reference in functions
23
Module 23: Introduction to STL
Level 8 - Standard Template Library. Learn what the STL is and how containers, iterators, and algorithms fit together.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand the purpose of the STL in modern C++
• Identify the main STL components
• Explain how containers, iterators, and algorithms work together
24
Module 24: Sequence Containers
Level 8 - Standard Template Library. Work with common sequence containers such as vector, list, deque, and array.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand when to use sequence containers
• Use vector, list, deque, and array appropriately
• Compare basic trade-offs between common sequence containers
25
Module 25: Associative Containers
Level 8 - Standard Template Library. Organize data efficiently using sets and maps from the STL.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand how associative containers differ from sequence containers
• Use set, multiset, map, and multimap
• Choose the right container for key-based storage
26
Module 26: Iterators
Level 8 - Standard Template Library. Traverse STL containers using iterators and understand the main iterator categories.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what iterators are in STL
• Differentiate common iterator types
• Use iterators to traverse and access container elements
27
Module 27: Algorithms
Level 8 - Standard Template Library. Apply common STL algorithms for sorting, searching, counting, finding, and reversing data.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Use common STL algorithms effectively
• Apply sort, search, count, find, and reverse to containers
• Write cleaner code by leveraging standard algorithms
28
Module 28: File Handling
Level 9 - File Handling. Read and write files in C++ using file streams and file modes.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand file handling concepts in C++
• Use file streams for reading and writing files
• Work with different file modes appropriately
29
Module 29: Templates
Level 10 - Advanced C++. Write reusable generic code using function templates and class templates.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what templates are in C++
• Write basic function templates
• Create reusable class templates
30
Module 30: Exception Handling
Level 10 - Advanced C++. Handle runtime errors in a structured way using try, catch, and throw.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what exceptions are in C++
• Use try, catch, and throw correctly
• Build safer programs with structured error handling
31
Module 31: Namespaces
Level 10 - Advanced C++. Organize code and avoid naming conflicts using namespaces.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand the purpose of namespaces in C++
• Use the std namespace correctly
• Create and work with custom namespaces
32
Module 32: Debugging
Level 11 - Problem Solving. Learn how to identify, analyze, and fix common errors in C++ programs.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Understand what debugging means in C++ development
• Recognize common syntax, runtime, and logical errors
• Apply practical debugging techniques
33
Module 33: Problem Solving
Level 11 - Problem Solving. Strengthen core logic-building skills with algorithm thinking, efficient code, and practice problems.
Locked
Please enroll in this course to access the modules.
Learning objectives:
• Build algorithmic thinking for C++ problem solving
• Write more efficient and structured code
• Improve confidence through focused practice problems