Skip to main content

Learning Resources

Roadmap

A day-wise roadmap to learn C++ in 30 days. Each day lists the concepts to cover, the outcome you should be able to demonstrate, and the hours to prepare — with every concept linked to its lesson.

Day-Wise Plan

Complete C++ Programming Roadmap

A structured 30-day plan that takes you from Hello World to OOP, modern C++, the STL, and a project you can demo. Every day lists the concepts to study, the outcome you should be able to demonstrate, and the hours to budget. Concept names link straight to the full lesson.

30Days
6Phases
104Total hours
3–4Hours / day

Choose Your Pace

TrackDurationHow to follow itBest for
Fast track 15 days About 7 hours a day. Pair up two consecutive days from each phase. Full-time learners and placement season
Standard track 30 days About 3–4 hours a day, exactly as the table below is laid out. College students learning alongside classes
Relaxed track 60 days About 2 hours a day. Split each day of the table across two sittings. Working professionals and evening learners

Phase 1 — Foundation

Day 1 – Day 6 · 17 hrs

Goal: Install a toolchain and master C++ basics: types, I/O, operators, and control flow.

Day Concepts to cover Outcome Hours
Day 1 You can explain how C++ extends C, install a compiler, and compile/run a first program with -std=c++17. 2 hrs
Day 2
  • C++ Fundamentals
  • Program structure, tokens, keywords
  • Namespaces intro, comments, compilation
You can read a C++ file and name its parts, and you know the difference between declaration and definition. 3 hrs
Day 3 You can choose types confidently and write programs that read/print numbers and lines correctly. 3 hrs
Day 4
  • Operators
  • Arithmetic, logical, bitwise, ternary
  • Precedence and integer-division traps
You can evaluate expressions by hand and avoid = vs == and 5/2 style mistakes. 3 hrs
Day 5 You can implement branching logic with if and switch, and you know when each is clearer. 3 hrs
Day 6
  • Loops
  • for, while, do-while, range-for
  • break, continue, nested loops
You can write any loop pattern (including range-for) and debug infinite-loop mistakes. 3 hrs
Phase total 17 hrs

Phase 2 — Arrays, Strings & Functions

Day 7 – Day 11 · 16 hrs

Goal: Work with collections of data and break problems into reusable functions.

Day Concepts to cover Outcome Hours
Day 7
  • Arrays
  • 1D / 2D arrays, traversal
  • Why prefer vector later
You can declare, initialise, and traverse arrays, and explain array decay at a high level. 3 hrs
Day 8
  • Strings
  • std::string operations
  • C-strings vs string, string_view caution
You can build and process std::string programs and know when C-style strings are risky. 3 hrs
Day 9
  • Functions
  • Parameters, return, defaults, overload
  • Pass by value vs const reference
You can design small functions with clear signatures and pass large objects by const reference. 3 hrs
Day 10
  • Recursion
  • Base case, head vs tail ideas
  • Recursion vs iteration
You can write factorial/Fibonacci-style recursion safely and explain stack growth. 3 hrs
Day 11
  • Mini practice day
  • Combine loops, arrays, strings, functions
  • Cheatsheet skim
You can solve 4–5 small problems end-to-end without looking up basic syntax. 4 hrs
Phase total 16 hrs

Phase 3 — Memory & Language Features

Day 12 – Day 16 · 17 hrs

Goal: Understand addresses, aliases, modules of code, aggregates, and file I/O.

Day Concepts to cover Outcome Hours
Day 12
  • Pointers
  • nullptr, arithmetic, arrays
  • new / delete basics (preview RAII)
You can declare pointers, avoid wild/dangling uses, and explain new/delete pairing. 4 hrs
Day 13
  • References
  • Reference vs pointer table
  • const references in APIs
You can choose pointer vs reference correctly and write functions that modify callers via references. 3 hrs
Day 14 You can organise names with namespaces and model simple records with struct/union. 3 hrs
Day 15 You can read/write text files and accept simple command-line arguments. 3 hrs
Day 16
  • Phase review + small file utility
  • Pointers + structs + files together
You can build a tiny program that loads records from a file into a struct array/vector. 4 hrs
Phase total 17 hrs

Phase 4 — Object-Oriented C++

Day 17 – Day 22 · 21 hrs

Goal: Model problems with classes: encapsulation, inheritance, and polymorphism.

Day Concepts to cover Outcome Hours
Day 17 You can design a class with private data and a clear public interface. 4 hrs
Day 18 You can initialise objects correctly and explain constructor/destructor timing. 3 hrs
Day 19 You can use static counters/factories and justify rare friend usage. 3 hrs
Day 20
  • Inheritance
  • Access levels, types of inheritance
  • Composition vs inheritance
You can build a small hierarchy and explain when composition is better. 4 hrs
Day 21 You can write abstract bases, override correctly, and know why base destructors are virtual. 4 hrs
Day 22
  • Polymorphism
  • Compile-time vs runtime polymorphism
  • Slicing and base pointers/refs
You can demonstrate runtime polymorphism with a base pointer and avoid object slicing. 3 hrs
Phase total 21 hrs

Phase 5 — Advanced C++ & STL Core

Day 23 – Day 26 · 15 hrs

Goal: Adopt modern resource management and the most-used STL containers.

Day Concepts to cover Outcome Hours
Day 23 You can throw/catch by const reference and explain why RAII matters during exceptions. 3 hrs
Day 24 You can write a simple function template, a lambda for an algorithm, and prefer unique_ptr over raw new. 4 hrs
Day 25 You can choose vector as default dynamic storage and explain when deque helps. 4 hrs
Day 26 You can iterate containers idiomatically and use pair/tuple in small APIs. 4 hrs
Phase total 15 hrs

Phase 6 — STL Deep Dive, Interview & Project

Day 27 – Day 30 · 18 hrs

Goal: Finish associative containers and adapters, revise for interviews, and ship a project.

Day Concepts to cover Outcome Hours
Day 27 You can pick stack vs queue vs priority_queue and sketch BFS/DFS container choices. 4 hrs
Day 28 You can implement word counts with unordered_map and unique sorted keys with set/map. 4 hrs
Day 29 You can answer OOP + STL staples out loud and score well on the MCQ set. 5 hrs
Day 30 You have a finished, demonstrable C++ project you can walk an interviewer through end-to-end. 5 hrs
Phase total 18 hrs

After Day 30

Finishing the table is the start, not the finish. Keep momentum with these next steps.

Next stepWhy it matters
Build one more STL/OOP project Employers trust working code far more than a list of topics.
Practice DSA with STL containers vector/map/unordered_map + algorithms are the daily toolkit for coding rounds.
Revise Q&A and the cheatsheet weekly Spaced repetition keeps virtuals, RAII, and STL complexity ready under pressure.
Explore concurrency or design patterns next Both build on solid OOP + modern C++ ownership habits from Phases 4–5.