Skip to content

Commit 1b609af

Browse files
committed
Require pedagogical metadata across curriculum
1 parent 81df34c commit 1b609af

151 files changed

Lines changed: 1305 additions & 172 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CONTRIBUTING.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +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
73+
- required `## Learning Metadata` before `## Quick Run` with `Difficulty`, `Estimated Time`, `Prerequisites`, and `Cross-Language Lens`
7474
- `## Quick Run`
7575
- `## Topics Covered`
7676
- `## Common Pitfalls`
@@ -81,7 +81,8 @@ The public PowerShell and Bash scripts are thin wrappers over the shared Python
8181
- `README.md`
8282
- runnable entrypoint (`main.cs` + `.csproj`, `main.go`, or `main.py`)
8383
- 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
84+
- required `## Learning Metadata` before `## Quick Run` with `Difficulty`, `Estimated Time`, `Prerequisites`, and `Learning Focus`
85+
- Every implemented level README should include required `## Learning Metadata` before `## Module Order` with `Difficulty`, `Estimated Time`, `Prerequisites`, and `Study Strategy`.
8586
- Checkpoint README structure should mirror the matching C++ checkpoint style, not the module README contract.
8687
- Every `example/main.*` file should include intent-first comments for:
8788
- program flow,

README.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,11 @@ 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:
89+
A standardized `## Learning Metadata` block is required before `## Quick Run` for implemented modules and checkpoints. Implemented level READMEs should also include it before `## Module Order`. Use these fields:
9090

91-
- difficulty
92-
- estimated time
93-
- prerequisites
94-
- cross-language comparison guidance
91+
- modules: difficulty, estimated time, prerequisites, cross-language comparison guidance
92+
- checkpoints: difficulty, estimated time, prerequisites, learning focus
93+
- level READMEs: difficulty, estimated time, prerequisites, study strategy
9594

9695
Checkpoint artifacts under `languages/<language>/projects/*` and `languages/<language>/assessments/*` should mirror the corresponding C++ checkpoint style:
9796

languages/cpp/01-foundations/README.md

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

33
This level builds the beginner mental model for writing small C++ programs.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Beginner.
8+
- Estimated Time: 3-5 hours across modules, project, and assessment.
9+
- Prerequisites: None; this is the entry level for each active track.
10+
- Study Strategy: Work in module order, run every example, solve both exercises in each module, then finish the matching project and assessment.
11+
512
## Module Order
613

714
1. [types-and-io](./types-and-io/README.md)

languages/cpp/01-foundations/arrays-and-vectors/README.md

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

33
This module introduces fixed-size and dynamic collections in C++.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Beginner.
8+
- Estimated Time: 20-35 minutes.
9+
- Prerequisites: `01-foundations/control-flow`, `01-foundations/functions`.
10+
- Cross-Language Lens: Compare `vector`, `List<T>`, slices, and Python lists as different tradeoffs for dynamic sequence handling.
11+
512
## Quick Run
613

714
```bash

languages/cpp/01-foundations/control-flow/README.md

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

33
This module teaches branching and repetition in C++ programs.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Beginner.
8+
- Estimated Time: 20-35 minutes.
9+
- Prerequisites: `01-foundations/types-and-io`, `01-foundations/operators-and-expressions`.
10+
- Cross-Language Lens: Compare braces-and-loops in C++, C#, and Go with Python indentation while keeping the underlying branching logic identical.
11+
512
## Quick Run
613

714
```bash

languages/cpp/01-foundations/formatted-output-and-iomanip/README.md

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

33
This module teaches readable numeric and table output formatting.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Beginner.
8+
- Estimated Time: 20-35 minutes.
9+
- Prerequisites: `01-foundations/types-and-io`, `01-foundations/operators-and-expressions`.
10+
- Cross-Language Lens: Compare stream manipulators, format strings, `fmt`, and Python formatting for the same reporting task.
11+
512
## Quick Run
613

714
```bash

languages/cpp/01-foundations/functions/README.md

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

33
This module introduces reusable logic through function design.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Beginner.
8+
- Estimated Time: 20-35 minutes.
9+
- Prerequisites: `01-foundations/control-flow`, `01-foundations/operators-and-expressions`.
10+
- Cross-Language Lens: Compare helper-function design, argument passing defaults, and overloading support across the four tracks.
11+
512
## Quick Run
613

714
```bash

languages/cpp/01-foundations/operators-and-expressions/README.md

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

33
This module covers arithmetic, relational, and logical expressions in C++.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Beginner.
8+
- Estimated Time: 20-35 minutes.
9+
- Prerequisites: `01-foundations/types-and-io`.
10+
- Cross-Language Lens: Compare integer division, boolean logic, and truthiness rules before assuming the same expression means the same thing in every language.
11+
512
## Quick Run
613

714
```bash

languages/cpp/01-foundations/scope-and-lifetime-basics/README.md

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

33
This module explains where variables are visible and how long they live.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Beginner.
8+
- Estimated Time: 20-35 minutes.
9+
- Prerequisites: `01-foundations/functions`, `01-foundations/control-flow`.
10+
- Cross-Language Lens: Compare block scope everywhere, then contrast deterministic destruction in C++ with garbage-collected lifetime in the other tracks.
11+
512
## Quick Run
613

714
```bash

languages/cpp/01-foundations/strings/README.md

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

33
This module introduces practical text handling with `std::string`.
44

5+
## Learning Metadata
6+
7+
- Difficulty: Beginner.
8+
- Estimated Time: 20-35 minutes.
9+
- Prerequisites: `01-foundations/types-and-io`, `01-foundations/control-flow`.
10+
- Cross-Language Lens: Compare immutable string handling, indexing rules, and tokenization helpers in each language.
11+
512
## Quick Run
613

714
```bash

0 commit comments

Comments
 (0)