Step-by-Step Curriculum
Your Learning Path
From "Hello World" to memory management and OOP — follow the path and build real skills.
C Fundamentals
The language that built modern computing
Getting Started
Install a compiler, write your first C program, and understand the build process.
Variables & Data Types
int, float, char, double — learn how C stores and represents data.
Operators & Expressions
Arithmetic, logical, and bitwise operators. Build complex expressions.
Control Flow
if, else, switch, for, while. Make decisions and repeat actions in your code.
Functions
Break programs into reusable blocks. Parameters, return values, recursion.
Arrays & Strings
Store collections of data. Manipulate text the C way.
Pointers
C's most powerful feature. Understand memory addresses and indirection.
Structures
Group related data into custom types. Model real-world entities.
File I/O
Read and write files. Persist data beyond program execution.
Memory Management
malloc, free, and the heap. Take full control of system memory.
Preprocessor & Macros
Conditional compilation and code generation with #define and #include.
Build a Project
Combine everything into a working C application.
C++ Mastery
Object-oriented power, modern features, and high performance
C++ vs C
What's new in C++. The extra features that change everything.
Classes & Objects
The core of OOP. Model real-world entities with state and behavior.
Constructors & Destructors
Control how objects are created and destroyed. RAII introduced.
Inheritance
Build hierarchies of types. Reuse and extend existing code.
Polymorphism
Virtual functions, abstract classes, and dynamic dispatch.
Templates
Write generic code that works with any type. The STL foundation.
STL Containers
vector, map, set, list — the battle-tested data structures.
Smart Pointers
unique_ptr, shared_ptr, weak_ptr. Modern memory management done right.
Lambda Expressions
Write small anonymous functions inline. Functional C++.
Move Semantics
Transfer resources instead of copying. Massive performance wins.
Exception Handling
try, catch, throw. Handle errors gracefully and safely.
Build a Project
Apply C++ to a real-world application from scratch.
Try It Yourself
Your First C Program
#include <stdio.h>
int main() {
printf("Hello, World!\\n");
return 0;
}