Build Real C++ Projects
Learn by building complete applications from scratch. Each project guides you step-by-step from fundamentals to advanced implementations.
Start Your Journey
Create a free account to track your progress and save your code
Beginner Fundamentals
My First C++ Program
Build your first complete C++ program step by step. Start with Hello World and progressively add variables, user input, and calculations to create a practical rectangle area calculator.
Static Array
Build a fixed-size array wrapper class with bounds checking and O(1) random access. Learn how arrays store elements in contiguous memory.
Dynamic Array
Build a resizable array that automatically grows when you add elements. This is the foundation of std::vector and demonstrates amortized O(1) insertion through the geometric growth strategy.
Singly Linked List
Build a dynamic data structure where each element (node) contains data and a pointer to the next node. Unlike arrays, linked lists can grow and shrink at runtime and provide O(1) insertion at the front, making them ideal for stacks, queues, and situations where frequent insertions are needed.
Stack
Build a Stack data structure that demonstrates the LIFO (Last In First Out) principle. Stacks are fundamental in computer science, powering function calls, undo systems, and expression evaluation. You'll implement a template-based stack using a dynamic array internally.
Queue
Build a FIFO (First In First Out) data structure using a circular array. Queues are fundamental for task scheduling, breadth-first search, and any scenario where processing order must match arrival order.
Linear Search
Implement the linear search algorithm to find elements in an array by checking each element sequentially. This fundamental algorithm introduces you to algorithmic thinking and time complexity analysis with O(n) worst-case performance.
Real-World Projects
OpenGL 2D Blackhole Simulator v2
Build a 2D gravitational lensing simulator with OpenGL. Visualize light ray bending around a black hole using the Schwarzschild metric and numerical integration. (Updated version with geometric units and improved code organization)
Have a Project Idea?
We'd love to hear your suggestions! Share your ideas for new C++ projects you'd like to see, and help shape our curriculum.