This plan assumes 5 study days per week, 60-90 minutes per day.
- Follow modules in order.
- For each module: read
README.md, runexample/main.cpp, solveexercises/01.cppandexercises/02.cpp. - Mark progress in
languages/cpp/CHECKLIST.md. - Use level capstones to combine concepts.
Modules:
languages/cpp/01-foundations/types-and-iolanguages/cpp/01-foundations/operators-and-expressionslanguages/cpp/01-foundations/control-flowlanguages/cpp/01-foundations/functions
Suggested pacing:
- Day 1: types-and-io
- Day 2: operators-and-expressions
- Day 3: control-flow
- Day 4: functions
- Day 5: exercise review + error fixes
Done when:
- All 8 exercises from Week 1 are solved.
- You can explain when to use
getlineversuscin >>. - You can write and call functions with clear parameters and return values.
Modules:
languages/cpp/01-foundations/arrays-and-vectorslanguages/cpp/01-foundations/stringslanguages/cpp/01-foundations/scope-and-lifetime-basicslanguages/cpp/01-foundations/formatted-output-and-iomanip
Capstone:
languages/cpp/projects/01-foundations
Suggested pacing:
- Day 1-4: one module per day
- Day 5: complete the foundations capstone and extensions
Done when:
- All Week 2 exercises are solved.
- Capstone builds and runs from terminal and VS Code.
- You can process lists of values and print formatted reports.
Modules:
languages/cpp/02-core/input-validationlanguages/cpp/02-core/algorithms-basicslanguages/cpp/02-core/file-io-basicslanguages/cpp/02-core/sorting-and-searchinglanguages/cpp/02-core/maps-and-frequency-countinglanguages/cpp/02-core/error-handling-and-defensive-programming
Capstone:
languages/cpp/projects/02-core
Suggested pacing:
- Day 1-4: first four modules
- Day 5: remaining modules + capstone start
Done when:
- You can validate user/file input safely.
- You can sort/search data and build frequency summaries.
- Core capstone generates the expected output report.
Modules:
languages/cpp/03-advanced/structs-and-classeslanguages/cpp/03-advanced/constructors-and-invariantslanguages/cpp/03-advanced/copy-and-move-semanticslanguages/cpp/03-advanced/inheritance-and-polymorphismlanguages/cpp/03-advanced/templates-basicslanguages/cpp/04-expert/memory-management-and-raiilanguages/cpp/04-expert/smart-pointers-in-depth
Capstones:
languages/cpp/projects/03-advancedlanguages/cpp/projects/04-expert
Done when:
- You can design classes with clear invariants.
- You can explain ownership (
unique_ptr,shared_ptr,weak_ptr). - You can complete both advanced/expert capstones and explain tradeoffs.
- I can run module examples from terminal and VS Code.
- I can explain why each exercise solution is correct.
- I documented at least 2 mistakes and how I fixed them.
- I updated
languages/cpp/CHECKLIST.md.