Skip to content

Commit 81df34c

Browse files
committed
Add pedagogical metadata to expert README files
1 parent 3837952 commit 81df34c

36 files changed

Lines changed: 209 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ The public PowerShell and Bash scripts are thin wrappers over the shared Python
7070

7171
- New concept modules should follow the existing folder layout.
7272
- Every concept README in implemented levels should include:
73+
- recommended `## Learning Metadata` before `## Quick Run` with difficulty, estimated time, prerequisites, and cross-language guidance
7374
- `## Quick Run`
7475
- `## Topics Covered`
7576
- `## Common Pitfalls`
@@ -80,6 +81,7 @@ The public PowerShell and Bash scripts are thin wrappers over the shared Python
8081
- `README.md`
8182
- runnable entrypoint (`main.cs` + `.csproj`, `main.go`, or `main.py`)
8283
- the same learner goal, input/output shape, and acceptance expectations as the corresponding C++ checkpoint
84+
- recommended `## Learning Metadata` with difficulty, estimated time, prerequisites, and checkpoint focus
8385
- Checkpoint README structure should mirror the matching C++ checkpoint style, not the module README contract.
8486
- Every `example/main.*` file should include intent-first comments for:
8587
- program flow,

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,13 @@ All concept module README files under `languages/<language>/<level>/<module>/REA
8686

8787
Reference: [Module README Style](languages/cpp/MODULE_README_STYLE.md)
8888

89+
A standardized `## Learning Metadata` block is also recommended before `## Quick Run` for modules and major checkpoints. Use it to record:
90+
91+
- difficulty
92+
- estimated time
93+
- prerequisites
94+
- cross-language comparison guidance
95+
8996
Checkpoint artifacts under `languages/<language>/projects/*` and `languages/<language>/assessments/*` should mirror the corresponding C++ checkpoint style:
9097

9198
- `README.md`

languages/cpp/04-expert/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
This level focuses on ownership, concurrency, performance thinking, and multi-file structure.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Expert Level.
8+
- Estimated Time: 4-6 hours across all modules, project, and assessment.
9+
- Prerequisites: completion of `03-advanced` plus its project or assessment checkpoint.
10+
- Study Strategy: finish the modules in order, then the `projects/04-expert` capstone, then the `assessments/04-expert` checkpoint.
511
## Module Order
612

713
1. [memory-management-and-raii](./memory-management-and-raii/README.md)

languages/cpp/04-expert/concurrency-basics/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
This module introduces real multithreaded programming with `std::thread`.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Expert.
8+
- Estimated Time: 45-60 minutes.
9+
- Prerequisites: `01-foundations/control-flow`, `03-advanced/structs-and-classes`.
10+
- Cross-Language Lens: Compare `std::thread`, `Task` plus `lock`, goroutines, and Python threads as different concurrency models.
511
## Quick Run
612

713
```bash

languages/cpp/04-expert/memory-management-and-raii/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
This module introduces ownership and deterministic cleanup in C++.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Expert.
8+
- Estimated Time: 35-50 minutes.
9+
- Prerequisites: `03-advanced/constructors-and-invariants`, `03-advanced/copy-and-move-semantics`.
10+
- Cross-Language Lens: Compare deterministic cleanup in C++ with `IDisposable`, `defer`, and context managers in the other tracks.
511
## Quick Run
612

713
```bash

languages/cpp/04-expert/modularization-and-build-structure/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
This module introduces basic multi-file organization principles.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Expert.
8+
- Estimated Time: 30-45 minutes.
9+
- Prerequisites: `02-core/file-io-basics`, `03-advanced/structs-and-classes`.
10+
- Cross-Language Lens: Compare headers and source files, project references, packages, and Python modules as ways to separate responsibilities.
511
## Quick Run
612

713
```bash

languages/cpp/04-expert/performance-and-profiling-basics/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
This module introduces simple measurement and optimization patterns.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Expert.
8+
- Estimated Time: 35-50 minutes.
9+
- Prerequisites: `02-core/algorithms-basics`, `01-foundations/arrays-and-vectors`.
10+
- Cross-Language Lens: Compare timing APIs, allocation behavior, and why micro-benchmarks can mislead in different runtimes.
511
## Quick Run
612

713
```bash

languages/cpp/04-expert/smart-pointers-in-depth/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
This module expands ownership modeling with `unique_ptr`, `shared_ptr`, and `weak_ptr`.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Expert.
8+
- Estimated Time: 40-55 minutes.
9+
- Prerequisites: `04-expert/memory-management-and-raii`, `03-advanced/copy-and-move-semantics`.
10+
- Cross-Language Lens: Compare explicit ownership in C++ with managed references, pointers, and weak observers in the other tracks.
511
## Quick Run
612

713
```bash

languages/cpp/MODULE_README_STYLE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ This structure is required for all implemented concept modules.
2020

2121
## Section Rules
2222

23+
- `Learning Metadata` (recommended): include difficulty, estimated time, prerequisites, and a short cross-language lens before `Quick Run`.
2324
- `Quick Run`: include one runnable command for `example/main.*` (or equivalent entry project).
2425
- `Topics Covered`: concise bullets of concepts practiced in the module.
2526
- `Common Pitfalls`: practical mistakes beginners frequently make.

languages/cpp/assessments/04-expert/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ Write a program that:
1717
- maximum value
1818
5. Prints per-thread partial sums and final summary.
1919

20+
## Learning Metadata
21+
22+
- Difficulty: Expert Assessment.
23+
- Estimated Time: 45-60 minutes.
24+
- Prerequisites: `04-expert/concurrency-basics`, `04-expert/memory-management-and-raii`, `04-expert/smart-pointers-in-depth`.
25+
- Learning Focus: prove you can coordinate concurrent workers, protect shared aggregation, and reason about ownership boundaries without step-by-step scaffolding.
2026
## Quick Run
2127

2228
```bash

0 commit comments

Comments
 (0)