Skip to content

Commit 292df9b

Browse files
travisjneumanclaude
andcommitted
feat: add cross-references linking projects, concepts, quizzes, and practice tools
- Added "Related Concepts" section to 231 project READMEs with links to relevant concept docs and quizzes - Added "Practice This" section to all 15 concept docs with links to related projects, quizzes, flashcards, and challenges - Updated concepts/README.md with Practice Tools table and quiz index - Added cross-reference linker tool (tools/add_crossrefs.py) for future use Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 4ca3b47 commit 292df9b

248 files changed

Lines changed: 2956 additions & 0 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.

concepts/README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,34 @@ Plain-language explanations of Python concepts. Use these when you need to under
3131
- Read the concept page before or during a project
3232
- Each page has: explanation, code example, common mistakes
3333
- Come back to these whenever you forget how something works
34+
35+
---
36+
37+
## Practice Tools
38+
39+
| Tool | Description | How to use |
40+
|------|-------------|------------|
41+
| **Concept Quizzes** | Interactive terminal quizzes for each concept | `python concepts/quizzes/<name>-quiz.py` |
42+
| **Flashcard Decks** | Spaced repetition cards organized by level | `python practice/flashcards/review-runner.py` |
43+
| **Coding Challenges** | Short focused exercises (beginner + intermediate) | See `practice/challenges/README.md` |
44+
| **Diagnostic Assessments** | Test your readiness before starting a level | `python tools/diagnose.py` |
45+
46+
### Available Quizzes
47+
48+
Each concept doc has a matching quiz in `concepts/quizzes/`:
49+
50+
- [Api Basics](quizzes/api-basics-quiz.py)
51+
- [Async Explained](quizzes/async-explained-quiz.py)
52+
- [Classes And Objects](quizzes/classes-and-objects-quiz.py)
53+
- [Collections Explained](quizzes/collections-explained-quiz.py)
54+
- [Decorators Explained](quizzes/decorators-explained-quiz.py)
55+
- [Errors And Debugging](quizzes/errors-and-debugging-quiz.py)
56+
- [Files And Paths](quizzes/files-and-paths-quiz.py)
57+
- [Functions Explained](quizzes/functions-explained-quiz.py)
58+
- [How Imports Work](quizzes/how-imports-work-quiz.py)
59+
- [How Loops Work](quizzes/how-loops-work-quiz.py)
60+
- [Http Explained](quizzes/http-explained-quiz.py)
61+
- [The Terminal Deeper](quizzes/the-terminal-deeper-quiz.py)
62+
- [Types And Conversions](quizzes/types-and-conversions-quiz.py)
63+
- [Virtual Environments](quizzes/virtual-environments-quiz.py)
64+
- [What Is A Variable](quizzes/what-is-a-variable-quiz.py)

concepts/api-basics.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,23 @@ requests.get(f"{BASE_URL}/users")
117117
- [Module 03 — REST APIs: Consuming](../projects/modules/03-rest-apis/)
118118
- [Module 04 — FastAPI Web Apps](../projects/modules/04-fastapi-web/)
119119
- [concepts/http-explained.md](./http-explained.md)
120+
121+
---
122+
123+
## Practice This
124+
125+
- [Module: Elite Track / 04 Secure Auth Gateway](../projects/elite-track/04-secure-auth-gateway/README.md)
126+
- [Level 1 / 09 Json Settings Loader](../projects/level-1/09-json-settings-loader/README.md)
127+
- [Level 10 / 01 Enterprise Python Blueprint](../projects/level-10/01-enterprise-python-blueprint/README.md)
128+
- [Level 10 / 02 Autonomous Run Orchestrator](../projects/level-10/02-autonomous-run-orchestrator/README.md)
129+
- [Level 10 / 03 Policy As Code Validator](../projects/level-10/03-policy-as-code-validator/README.md)
130+
- [Level 10 / 04 Multi Tenant Data Guard](../projects/level-10/04-multi-tenant-data-guard/README.md)
131+
- [Level 10 / 05 Compliance Evidence Builder](../projects/level-10/05-compliance-evidence-builder/README.md)
132+
- [Level 10 / 06 Resilience Chaos Workbench](../projects/level-10/06-resilience-chaos-workbench/README.md)
133+
- [Level 10 / 07 High Risk Change Gate](../projects/level-10/07-high-risk-change-gate/README.md)
134+
- [Level 10 / 08 Zero Downtime Migration Lab](../projects/level-10/08-zero-downtime-migration-lab/README.md)
135+
136+
**Quick check:** [Take the quiz](quizzes/api-basics-quiz.py)
137+
138+
**Review:** [Flashcard decks](../practice/flashcards/README.md)
139+
**Practice reps:** [Coding challenges](../practice/challenges/README.md)

concepts/async-explained.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,3 +130,23 @@ async def good():
130130
## Related exercises
131131

132132
- [Module 05 — Async Python](../projects/modules/05-async-python/) (full hands-on async module)
133+
134+
---
135+
136+
## Practice This
137+
138+
- [Module: Elite Track / 01 Algorithms Complexity Lab](../projects/elite-track/01-algorithms-complexity-lab/README.md)
139+
- [Module: Elite Track / 02 Concurrent Job System](../projects/elite-track/02-concurrent-job-system/README.md)
140+
- [Module: Elite Track / 03 Distributed Cache Simulator](../projects/elite-track/03-distributed-cache-simulator/README.md)
141+
- [Module: Elite Track / 04 Secure Auth Gateway](../projects/elite-track/04-secure-auth-gateway/README.md)
142+
- [Module: Elite Track / 05 Performance Profiler Workbench](../projects/elite-track/05-performance-profiler-workbench/README.md)
143+
- [Module: Elite Track / 06 Event Driven Architecture Lab](../projects/elite-track/06-event-driven-architecture-lab/README.md)
144+
- [Module: Elite Track / 07 Observability Slo Platform](../projects/elite-track/07-observability-slo-platform/README.md)
145+
- [Module: Elite Track / 08 Policy Compliance Engine](../projects/elite-track/08-policy-compliance-engine/README.md)
146+
- [Module: Elite Track / 09 Open Source Maintainer Simulator](../projects/elite-track/09-open-source-maintainer-simulator/README.md)
147+
- [Module: Elite Track / 10 Staff Engineer Capstone](../projects/elite-track/10-staff-engineer-capstone/README.md)
148+
149+
**Quick check:** [Take the quiz](quizzes/async-explained-quiz.py)
150+
151+
**Review:** [Flashcard decks](../practice/flashcards/README.md)
152+
**Practice reps:** [Coding challenges](../practice/challenges/README.md)

concepts/classes-and-objects.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,3 +153,23 @@ class Good:
153153

154154
- [Module 03, Project 05 — API Client Class](../projects/modules/03-rest-apis/05-api-client-class/)
155155
- [Module 06 — Databases & ORM](../projects/modules/06-databases-orm/) (SQLAlchemy models use classes)
156+
157+
---
158+
159+
## Practice This
160+
161+
- [Module: Elite Track / 01 Algorithms Complexity Lab](../projects/elite-track/01-algorithms-complexity-lab/README.md)
162+
- [Module: Elite Track / 02 Concurrent Job System](../projects/elite-track/02-concurrent-job-system/README.md)
163+
- [Module: Elite Track / 03 Distributed Cache Simulator](../projects/elite-track/03-distributed-cache-simulator/README.md)
164+
- [Module: Elite Track / 04 Secure Auth Gateway](../projects/elite-track/04-secure-auth-gateway/README.md)
165+
- [Module: Elite Track / 05 Performance Profiler Workbench](../projects/elite-track/05-performance-profiler-workbench/README.md)
166+
- [Module: Elite Track / 06 Event Driven Architecture Lab](../projects/elite-track/06-event-driven-architecture-lab/README.md)
167+
- [Module: Elite Track / 07 Observability Slo Platform](../projects/elite-track/07-observability-slo-platform/README.md)
168+
- [Module: Elite Track / 08 Policy Compliance Engine](../projects/elite-track/08-policy-compliance-engine/README.md)
169+
- [Module: Elite Track / 09 Open Source Maintainer Simulator](../projects/elite-track/09-open-source-maintainer-simulator/README.md)
170+
- [Module: Elite Track / 10 Staff Engineer Capstone](../projects/elite-track/10-staff-engineer-capstone/README.md)
171+
172+
**Quick check:** [Take the quiz](quizzes/classes-and-objects-quiz.py)
173+
174+
**Review:** [Flashcard decks](../practice/flashcards/README.md)
175+
**Practice reps:** [Coding challenges](../practice/challenges/README.md)

concepts/collections-explained.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,23 @@ items = [item for item in items if item != "remove_me"]
8181
## Related exercises
8282
- [Level 00, Exercise 09 — Lists](../projects/level-00-absolute-beginner/09-lists/)
8383
- [Level 00, Exercise 12 — Dictionaries](../projects/level-00-absolute-beginner/12-dictionaries/)
84+
85+
---
86+
87+
## Practice This
88+
89+
- [Level 0 / 06 Word Counter Basic](../projects/level-0/06-word-counter-basic/README.md)
90+
- [Level 0 / 09 Daily Checklist Writer](../projects/level-0/09-daily-checklist-writer/README.md)
91+
- [Level 0 / 10 Duplicate Line Finder](../projects/level-0/10-duplicate-line-finder/README.md)
92+
- [Level 0 / 12 Contact Card Builder](../projects/level-0/12-contact-card-builder/README.md)
93+
- [Level 1 / 05 Csv First Reader](../projects/level-1/05-csv-first-reader/README.md)
94+
- [Level 1 / 09 Json Settings Loader](../projects/level-1/09-json-settings-loader/README.md)
95+
- [Level 1 / 12 File Extension Counter](../projects/level-1/12-file-extension-counter/README.md)
96+
- [Level 10 / 11 Production Readiness Director](../projects/level-10/11-production-readiness-director/README.md)
97+
- [Level 2 / 01 Dictionary Lookup Service](../projects/level-2/01-dictionary-lookup-service/README.md)
98+
- [Level 2 / 02 Nested Data Flattener](../projects/level-2/02-nested-data-flattener/README.md)
99+
100+
**Quick check:** [Take the quiz](quizzes/collections-explained-quiz.py)
101+
102+
**Review:** [Flashcard decks](../practice/flashcards/README.md)
103+
**Practice reps:** [Coding challenges](../practice/challenges/README.md)

concepts/decorators-explained.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,3 +149,23 @@ Whether you need `()` depends on how the decorator was written. Some take argume
149149
- [Module 02 — CLI Tools](../projects/modules/02-cli-tools/) (Click uses decorators heavily)
150150
- [Module 04 — FastAPI](../projects/modules/04-fastapi-web/) (route decorators)
151151
- [Module 08 — Advanced Testing](../projects/modules/08-testing-advanced/) (pytest decorators)
152+
153+
---
154+
155+
## Practice This
156+
157+
- [Module: Elite Track / 01 Algorithms Complexity Lab](../projects/elite-track/01-algorithms-complexity-lab/README.md)
158+
- [Module: Elite Track / 02 Concurrent Job System](../projects/elite-track/02-concurrent-job-system/README.md)
159+
- [Module: Elite Track / 03 Distributed Cache Simulator](../projects/elite-track/03-distributed-cache-simulator/README.md)
160+
- [Module: Elite Track / 04 Secure Auth Gateway](../projects/elite-track/04-secure-auth-gateway/README.md)
161+
- [Module: Elite Track / 05 Performance Profiler Workbench](../projects/elite-track/05-performance-profiler-workbench/README.md)
162+
- [Module: Elite Track / 06 Event Driven Architecture Lab](../projects/elite-track/06-event-driven-architecture-lab/README.md)
163+
- [Module: Elite Track / 07 Observability Slo Platform](../projects/elite-track/07-observability-slo-platform/README.md)
164+
- [Module: Elite Track / 08 Policy Compliance Engine](../projects/elite-track/08-policy-compliance-engine/README.md)
165+
- [Module: Elite Track / 09 Open Source Maintainer Simulator](../projects/elite-track/09-open-source-maintainer-simulator/README.md)
166+
- [Module: Elite Track / 10 Staff Engineer Capstone](../projects/elite-track/10-staff-engineer-capstone/README.md)
167+
168+
**Quick check:** [Take the quiz](quizzes/decorators-explained-quiz.py)
169+
170+
**Review:** [Flashcard decks](../practice/flashcards/README.md)
171+
**Practice reps:** [Coding challenges](../practice/challenges/README.md)

concepts/errors-and-debugging.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,23 @@ if True:
8484
## Related exercises
8585
- [Level 00, Exercise 08 — Making Decisions](../projects/level-00-absolute-beginner/08-making-decisions/) (introduces error patterns)
8686
- [Level 00, Exercise 14 — Reading Files](../projects/level-00-absolute-beginner/14-reading-files/) (FileNotFoundError)
87+
88+
---
89+
90+
## Practice This
91+
92+
- [Level 1 / 01 Input Validator Lab](../projects/level-1/01-input-validator-lab/README.md)
93+
- [Level 1 / 11 Command Dispatcher](../projects/level-1/11-command-dispatcher/README.md)
94+
- [Level 10 / 01 Enterprise Python Blueprint](../projects/level-10/01-enterprise-python-blueprint/README.md)
95+
- [Level 10 / 02 Autonomous Run Orchestrator](../projects/level-10/02-autonomous-run-orchestrator/README.md)
96+
- [Level 10 / 03 Policy As Code Validator](../projects/level-10/03-policy-as-code-validator/README.md)
97+
- [Level 10 / 04 Multi Tenant Data Guard](../projects/level-10/04-multi-tenant-data-guard/README.md)
98+
- [Level 10 / 05 Compliance Evidence Builder](../projects/level-10/05-compliance-evidence-builder/README.md)
99+
- [Level 10 / 06 Resilience Chaos Workbench](../projects/level-10/06-resilience-chaos-workbench/README.md)
100+
- [Level 10 / 07 High Risk Change Gate](../projects/level-10/07-high-risk-change-gate/README.md)
101+
- [Level 10 / 08 Zero Downtime Migration Lab](../projects/level-10/08-zero-downtime-migration-lab/README.md)
102+
103+
**Quick check:** [Take the quiz](quizzes/errors-and-debugging-quiz.py)
104+
105+
**Review:** [Flashcard decks](../practice/flashcards/README.md)
106+
**Practice reps:** [Coding challenges](../practice/challenges/README.md)

concepts/files-and-paths.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,23 @@ path = Path("C:/Users/Travis/new_file.txt") # Forward slashes work too
100100

101101
## Related exercises
102102
- [Level 00, Exercise 14 — Reading Files](../projects/level-00-absolute-beginner/14-reading-files/)
103+
104+
---
105+
106+
## Practice This
107+
108+
- [Module: Elite Track / 05 Performance Profiler Workbench](../projects/elite-track/05-performance-profiler-workbench/README.md)
109+
- [Level 0 / 01 Terminal Hello Lab](../projects/level-0/01-terminal-hello-lab/README.md)
110+
- [Level 0 / 02 Calculator Basics](../projects/level-0/02-calculator-basics/README.md)
111+
- [Level 0 / 03 Temperature Converter](../projects/level-0/03-temperature-converter/README.md)
112+
- [Level 0 / 04 Yes No Questionnaire](../projects/level-0/04-yes-no-questionnaire/README.md)
113+
- [Level 0 / 05 Number Classifier](../projects/level-0/05-number-classifier/README.md)
114+
- [Level 0 / 06 Word Counter Basic](../projects/level-0/06-word-counter-basic/README.md)
115+
- [Level 0 / 07 First File Reader](../projects/level-0/07-first-file-reader/README.md)
116+
- [Level 0 / 08 String Cleaner Starter](../projects/level-0/08-string-cleaner-starter/README.md)
117+
- [Level 0 / 09 Daily Checklist Writer](../projects/level-0/09-daily-checklist-writer/README.md)
118+
119+
**Quick check:** [Take the quiz](quizzes/files-and-paths-quiz.py)
120+
121+
**Review:** [Flashcard decks](../practice/flashcards/README.md)
122+
**Practice reps:** [Coding challenges](../practice/challenges/README.md)

concepts/functions-explained.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,23 @@ def greet(name):
9393

9494
## Related exercises
9595
- [Level 00, Exercise 13 — Functions](../projects/level-00-absolute-beginner/13-functions/)
96+
97+
---
98+
99+
## Practice This
100+
101+
- [Level 0 / 02 Calculator Basics](../projects/level-0/02-calculator-basics/README.md)
102+
- [Level 0 / 03 Temperature Converter](../projects/level-0/03-temperature-converter/README.md)
103+
- [Level 0 / 12 Contact Card Builder](../projects/level-0/12-contact-card-builder/README.md)
104+
- [Level 1 / 01 Input Validator Lab](../projects/level-1/01-input-validator-lab/README.md)
105+
- [Level 1 / 02 Password Strength Checker](../projects/level-1/02-password-strength-checker/README.md)
106+
- [Level 1 / 03 Unit Price Calculator](../projects/level-1/03-unit-price-calculator/README.md)
107+
- [Level 1 / 04 Log Line Parser](../projects/level-1/04-log-line-parser/README.md)
108+
- [Level 1 / 05 Csv First Reader](../projects/level-1/05-csv-first-reader/README.md)
109+
- [Level 1 / 06 Simple Gradebook Engine](../projects/level-1/06-simple-gradebook-engine/README.md)
110+
- [Level 1 / 07 Date Difference Helper](../projects/level-1/07-date-difference-helper/README.md)
111+
112+
**Quick check:** [Take the quiz](quizzes/functions-explained-quiz.py)
113+
114+
**Review:** [Flashcard decks](../practice/flashcards/README.md)
115+
**Practice reps:** [Coding challenges](../practice/challenges/README.md)

concepts/how-imports-work.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,23 @@ from my_package import calculator # May fail in some Python versions
132132

133133
- [Module 11 — Package Publishing](../projects/modules/11-package-publishing/) (creating packages)
134134
- [Level 01 projects](../projects/level-1/) (using imports in projects)
135+
136+
---
137+
138+
## Practice This
139+
140+
- [Level 0 / 15 Level0 Mini Toolkit](../projects/level-0/15-level0-mini-toolkit/README.md)
141+
- [Level 1 / 01 Input Validator Lab](../projects/level-1/01-input-validator-lab/README.md)
142+
- [Level 1 / 02 Password Strength Checker](../projects/level-1/02-password-strength-checker/README.md)
143+
- [Level 1 / 03 Unit Price Calculator](../projects/level-1/03-unit-price-calculator/README.md)
144+
- [Level 1 / 04 Log Line Parser](../projects/level-1/04-log-line-parser/README.md)
145+
- [Level 1 / 05 Csv First Reader](../projects/level-1/05-csv-first-reader/README.md)
146+
- [Level 1 / 06 Simple Gradebook Engine](../projects/level-1/06-simple-gradebook-engine/README.md)
147+
- [Level 1 / 07 Date Difference Helper](../projects/level-1/07-date-difference-helper/README.md)
148+
- [Level 1 / 08 Path Exists Checker](../projects/level-1/08-path-exists-checker/README.md)
149+
- [Level 1 / 09 Json Settings Loader](../projects/level-1/09-json-settings-loader/README.md)
150+
151+
**Quick check:** [Take the quiz](quizzes/how-imports-work-quiz.py)
152+
153+
**Review:** [Flashcard decks](../practice/flashcards/README.md)
154+
**Practice reps:** [Coding challenges](../practice/challenges/README.md)

0 commit comments

Comments
 (0)