Skip to content

Commit be4deb8

Browse files
committed
Strengthen cross-language notes and checkpoint smoke
1 parent 0317dc8 commit be4deb8

58 files changed

Lines changed: 441 additions & 1 deletion

File tree

Some content is hidden

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

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ g++ -std=c++17 -Wall -Wextra -pedantic example/function-overload-basics.cpp -o f
3838
- Missing `const` in read-only reference parameters.
3939
- Missing return values in non-`void` functions.
4040

41+
## Cross-Language Notes
42+
43+
- C++ is the baseline for overloads, parameter passing choices, and return-type declarations as distinct language features.
44+
- Compared with Python, Go, and TypeScript, function signatures carry more control over value and reference behavior.
45+
- The main comparison is how much semantic weight each language puts on a function declaration.
46+
4147
## Exercise Focus
4248

4349
- `exercises/01.cpp`: return max of three integers.

languages/cpp/01-foundations/types-and-io/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ g++ -std=c++17 -Wall -Wextra -pedantic example/input-validation-loop.cpp -o type
3838
- Assuming numeric input always succeeds.
3939
- Forgetting to check ranges for user input.
4040

41+
## Cross-Language Notes
42+
43+
- C++ is the canonical baseline here: types are explicit and stream state matters immediately when input goes wrong.
44+
- Compared with Python and TypeScript, this track forces you to think earlier about conversion failures and mixed text and numeric reads.
45+
- The recurring comparison is compile-time type safety versus runtime parsing flexibility.
46+
4147
## Exercise Focus
4248

4349
- `exercises/01.cpp`: read `N` numbers and compute sum, average, min, max.

languages/cpp/02-core/file-io-basics/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ g++ -std=c++17 -Wall -Wextra -pedantic example/csv-like-reader.cpp -o file_io_cs
3838
- Not handling malformed lines.
3939
- Forgetting to close output files (or relying on scope without understanding it).
4040

41+
## Cross-Language Notes
42+
43+
- C++ is the baseline for stream-oriented file I/O and manual parse loops over text lines.
44+
- Compared with Python and TypeScript, the file APIs are less compact but make the flow of reading and writing more explicit.
45+
- The key comparison is low-level control versus concise file-processing ergonomics.
46+
4147
## Exercise Focus
4248

4349
- `exercises/01.cpp`: copy lines with line numbers.

languages/cpp/03-advanced/copy-and-move-semantics/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ g++ -std=c++17 -Wall -Wextra -pedantic example/main.cpp -o copy_move_example
3434
- Implementing custom resource types without rule-of-five awareness.
3535
- Accidental copies in performance-sensitive paths.
3636

37+
## Cross-Language Notes
38+
39+
- C++ is the canonical version: copy and move are real language-level semantics with direct performance and ownership consequences.
40+
- Other tracks adapt this topic because most of them do not have true move semantics in the same sense.
41+
- Use this module as the anchor for every later comparison about aliasing and transfer.
42+
3743
## Exercise Focus
3844

3945
- `exercises/01.cpp`: resource-owning buffer with copy and move.

languages/cpp/03-advanced/inheritance-and-polymorphism/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ g++ -std=c++17 -Wall -Wextra -pedantic example/polymorphic-menu.cpp -o inheritan
3838
- Calling derived-only APIs through base interfaces.
3939
- Object slicing with pass-by-value base types.
4040

41+
## Cross-Language Notes
42+
43+
- C++ is the baseline for virtual dispatch, abstract interfaces, and explicit ownership of polymorphic objects.
44+
- Other tracks keep the same idea of common behavior through a shared contract, but often reduce the amount of machinery required.
45+
- The comparison to watch is how each language balances power, safety, and ceremony in polymorphic design.
46+
4147
## Exercise Focus
4248

4349
- `exercises/01.cpp`: extend shape hierarchy with `Triangle`.

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,12 @@ Lowest: Bob Lee (55)
5656
Passed: 2/3
5757
```
5858

59+
## Cross-Language Notes
60+
61+
- This is the canonical first assessment for structured input, storage, and summary accuracy.
62+
- Compared with other tracks, it exposes the most detail around basic console handling and value management.
63+
- Use it as the baseline for comparing beginner-level discipline across runtimes.
64+
5965
## What To Check
6066

6167
- full names are preserved exactly as entered

languages/cpp/assessments/02-core/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ g++ -std=c++17 -Wall -Wextra -pedantic main.cpp -o assessment_02_core
4141
- Only values in `0..100` are used for statistics and frequency table.
4242
- If no valid values are entered, print a friendly message and still create the report file.
4343

44+
## Cross-Language Notes
45+
46+
- This is the canonical validation-and-counting assessment for the core level.
47+
- Compared with the other tracks, it keeps the most explicit control over parse flow, ranges, and report generation.
48+
- Use it to compare how each runtime expresses the same defensive-programming goal.
49+
4450
## What To Check
4551

4652
- out-of-range or malformed values do not pollute the valid-score summary

languages/cpp/assessments/03-advanced/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,14 @@ Shape areas:
3737
Total area: ...
3838
Minimum area: ...
3939
Maximum area: ...
40+
Sample counts: [...]
41+
Computed areas: [...]
4042
```
43+
## Cross-Language Notes
44+
45+
- This is the canonical advanced assessment for abstraction, polymorphism, and generic reuse in one program.
46+
- Compared with the other tracks, it ties those ideas most directly to explicit ownership and compile-time templates.
47+
- Use it as the baseline when comparing what advanced abstraction looks like in each language.
4148

4249
## What To Check
4350

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ Maximum: 91
6363
- Accepting invalid scores without retrying.
6464
- Dividing by zero when no students are provided.
6565

66+
## Cross-Language Notes
67+
68+
- This capstone is the canonical first integration point for validated input, record storage, and summary statistics.
69+
- Compared with the scripting-friendly tracks, C++ makes mixed text and numeric input plus container handling more explicit.
70+
- Use it as the baseline for how the same learner goal looks under stricter compile-time control.
71+
6672
## What To Check
6773

6874
- invalid score input is rejected or retried without corrupting later reads

languages/cpp/projects/02-core/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ Minimum: 77
4444
Maximum: 91
4545
```
4646

47+
## Cross-Language Notes
48+
49+
- This is the canonical file-processing checkpoint: parse rows, reject malformed input, and write a report deterministically.
50+
- Compared with higher-level tracks, C++ exposes more of the mechanics of streams and parse loops.
51+
- The useful cross-language question is how much library convenience changes the same defensive workflow.
52+
4753
## What To Check
4854

4955
- malformed rows are skipped or counted without crashing the program

0 commit comments

Comments
 (0)