|
2 | 2 |
|
3 | 3 | This plan assumes 5 study days per week, 60-90 minutes per day. |
4 | 4 |
|
5 | | -## Week 1 - Foundations I |
| 5 | +## How To Use This Plan |
6 | 6 |
|
7 | | -- Complete `01-foundations/types-and-io` |
8 | | -- Complete `01-foundations/operators-and-expressions` |
9 | | -- Complete `01-foundations/control-flow` |
10 | | -- Complete `01-foundations/functions` |
| 7 | +1. Follow modules in order. |
| 8 | +2. For each module: read `README.md`, run `example/main.cpp`, solve `exercises/01.cpp` and `exercises/02.cpp`. |
| 9 | +3. Mark progress in `languages/cpp/CHECKLIST.md`. |
| 10 | +4. Use level capstones to combine concepts. |
11 | 11 |
|
12 | | -Deliverables: |
| 12 | +## Week 1 - Foundations Basics |
13 | 13 |
|
14 | | -- All exercises solved for these modules. |
15 | | -- Notes on at least 3 common input/control-flow mistakes. |
| 14 | +Modules: |
16 | 15 |
|
17 | | -## Week 2 - Foundations II + First Capstone |
| 16 | +- `languages/cpp/01-foundations/types-and-io` |
| 17 | +- `languages/cpp/01-foundations/operators-and-expressions` |
| 18 | +- `languages/cpp/01-foundations/control-flow` |
| 19 | +- `languages/cpp/01-foundations/functions` |
18 | 20 |
|
19 | | -- Complete `01-foundations/arrays-and-vectors` |
20 | | -- Complete `01-foundations/strings` |
21 | | -- Complete `01-foundations/scope-and-lifetime-basics` |
22 | | -- Complete `01-foundations/formatted-output-and-iomanip` |
23 | | -- Build `languages/cpp/projects/01-foundations` |
| 21 | +Suggested pacing: |
24 | 22 |
|
25 | | -Deliverables: |
| 23 | +- Day 1: types-and-io |
| 24 | +- Day 2: operators-and-expressions |
| 25 | +- Day 3: control-flow |
| 26 | +- Day 4: functions |
| 27 | +- Day 5: exercise review + error fixes |
26 | 28 |
|
27 | | -- All exercises solved. |
28 | | -- Foundations capstone runs from VS Code task flow. |
| 29 | +Done when: |
29 | 30 |
|
30 | | -## Week 3 - Core + Core Capstone |
| 31 | +- [ ] All 8 exercises from Week 1 are solved. |
| 32 | +- [ ] You can explain when to use `getline` versus `cin >>`. |
| 33 | +- [ ] You can write and call functions with clear parameters and return values. |
31 | 34 |
|
32 | | -- Complete all modules in `02-core` |
33 | | -- Build `languages/cpp/projects/02-core` |
| 35 | +## Week 2 - Foundations Collections + Capstone |
34 | 36 |
|
35 | | -Deliverables: |
| 37 | +Modules: |
36 | 38 |
|
37 | | -- Core exercises solved. |
38 | | -- Core capstone parses file input and writes output report. |
| 39 | +- `languages/cpp/01-foundations/arrays-and-vectors` |
| 40 | +- `languages/cpp/01-foundations/strings` |
| 41 | +- `languages/cpp/01-foundations/scope-and-lifetime-basics` |
| 42 | +- `languages/cpp/01-foundations/formatted-output-and-iomanip` |
| 43 | + |
| 44 | +Capstone: |
| 45 | + |
| 46 | +- `languages/cpp/projects/01-foundations` |
| 47 | + |
| 48 | +Suggested pacing: |
| 49 | + |
| 50 | +- Day 1-4: one module per day |
| 51 | +- Day 5: complete the foundations capstone and extensions |
| 52 | + |
| 53 | +Done when: |
| 54 | + |
| 55 | +- [ ] All Week 2 exercises are solved. |
| 56 | +- [ ] Capstone builds and runs from terminal and VS Code. |
| 57 | +- [ ] You can process lists of values and print formatted reports. |
| 58 | + |
| 59 | +## Week 3 - Core Level + Capstone |
| 60 | + |
| 61 | +Modules: |
| 62 | + |
| 63 | +- `languages/cpp/02-core/input-validation` |
| 64 | +- `languages/cpp/02-core/algorithms-basics` |
| 65 | +- `languages/cpp/02-core/file-io-basics` |
| 66 | +- `languages/cpp/02-core/sorting-and-searching` |
| 67 | +- `languages/cpp/02-core/maps-and-frequency-counting` |
| 68 | +- `languages/cpp/02-core/error-handling-and-defensive-programming` |
| 69 | + |
| 70 | +Capstone: |
| 71 | + |
| 72 | +- `languages/cpp/projects/02-core` |
| 73 | + |
| 74 | +Suggested pacing: |
| 75 | + |
| 76 | +- Day 1-4: first four modules |
| 77 | +- Day 5: remaining modules + capstone start |
| 78 | + |
| 79 | +Done when: |
| 80 | + |
| 81 | +- [ ] You can validate user/file input safely. |
| 82 | +- [ ] You can sort/search data and build frequency summaries. |
| 83 | +- [ ] Core capstone generates the expected output report. |
39 | 84 |
|
40 | 85 | ## Week 4 - Advanced + Expert Essentials |
41 | 86 |
|
42 | | -- Complete all modules in `03-advanced` |
43 | | -- Complete `04-expert/memory-management-and-raii` |
44 | | -- Complete `04-expert/smart-pointers-in-depth` |
45 | | -- Build `languages/cpp/projects/03-advanced` and `languages/cpp/projects/04-expert` |
| 87 | +Modules: |
| 88 | + |
| 89 | +- `languages/cpp/03-advanced/structs-and-classes` |
| 90 | +- `languages/cpp/03-advanced/constructors-and-invariants` |
| 91 | +- `languages/cpp/03-advanced/copy-and-move-semantics` |
| 92 | +- `languages/cpp/03-advanced/inheritance-and-polymorphism` |
| 93 | +- `languages/cpp/03-advanced/templates-basics` |
| 94 | +- `languages/cpp/04-expert/memory-management-and-raii` |
| 95 | +- `languages/cpp/04-expert/smart-pointers-in-depth` |
| 96 | + |
| 97 | +Capstones: |
| 98 | + |
| 99 | +- `languages/cpp/projects/03-advanced` |
| 100 | +- `languages/cpp/projects/04-expert` |
46 | 101 |
|
47 | | -Deliverables: |
| 102 | +Done when: |
48 | 103 |
|
49 | | -- Advanced/expert exercises solved. |
50 | | -- Clear written explanation of ownership and thread safety basics. |
| 104 | +- [ ] You can design classes with clear invariants. |
| 105 | +- [ ] You can explain ownership (`unique_ptr`, `shared_ptr`, `weak_ptr`). |
| 106 | +- [ ] You can complete both advanced/expert capstones and explain tradeoffs. |
51 | 107 |
|
52 | 108 | ## Weekly Review Checklist |
53 | 109 |
|
54 | | -- [ ] I can run every module example from terminal and VS Code. |
55 | | -- [ ] I can explain why each exercise solution works. |
56 | | -- [ ] I documented at least 2 bugs/mistakes I fixed this week. |
| 110 | +- [ ] I can run module examples from terminal and VS Code. |
| 111 | +- [ ] I can explain why each exercise solution is correct. |
| 112 | +- [ ] I documented at least 2 mistakes and how I fixed them. |
57 | 113 | - [ ] I updated `languages/cpp/CHECKLIST.md`. |
0 commit comments