Skip to content

Commit fc1f258

Browse files
travisjneumanclaude
andcommitted
feat: implement remaining V2 roadmap — Tiers 2-5 across 8 parallel agents
Scaffold & Pedagogy (Tier 2A): - Faded scaffolding: levels 3-5 open-ended, levels 7-8 autonomous prompts (15 READMEs) - Mastery checks scaled for levels 7-9 (15 READMEs) - Design phase added to levels 3-5 first projects (9 READMEs) - Contributor bridge in 15 notes.md files - Cross-level recall boxes in level-5 projects Assessment (Tier 2C): - 6 Bug Hunt exercises (practice/challenges/bug-hunt/) with solutions - 6 Fill-In completion problems (practice/challenges/fill-in/) with 78 tests - Partial credit grading + code quality scoring in tools/grade.py Content Gaps (Tier 2D): - NumPy foundations project (Module 07) - Jupyter notebooks concept doc - WebSocket chat server project (Module 05) - Security notes added to FastAPI and Django module READMEs Browser (Tier 2B): - Pyodide exercises for Level 0 (8), Level 1 (6), Level 2 (5) - Browser index hub page - "Try in Browser" banners on 20 project READMEs Community (Tier 3): - CONTRIBUTORS.md, HALL_OF_FAME.md, updated CONTRIBUTING.md - Repo metadata optimized (description + 8 topics) - Launch prep: Show HN draft, Reddit strategy, newsletter submissions Platform Tooling (Tier 4A): - Enhanced progress.py with JSON tracking, --history, --level, --export csv - SELF_ASSESSMENT.md with rubrics for all level tiers - tools/ai_review.py (LLM code review via Claude API) - tools/generate_exercise.py (exercise variation generator) Curriculum Enrichment (Tier 4C): - 3 code reading exercises (practice/code-reading/) - 3 legacy code refactoring exercises (practice/challenges/refactoring/) - 3 open-ended capstone projects (projects/capstones/) - Expanded certification doc with sample output Infrastructure (Tier 5): - Translation infrastructure (translations/, TRANSLATING.md, es/pt-BR stubs) - LRMI Schema.org metadata (_metadata/lrmi.json) - MkDocs nav updated with all new content - WORKSHOP_KIT.md for Python user group leaders Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent a0cb58c commit fc1f258

File tree

157 files changed

+8047
-211
lines changed

Some content is hidden

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

157 files changed

+8047
-211
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,14 @@ learning/
1515
# Flashcard progress (SM-2 engine)
1616
data/flashcard_progress.json
1717

18+
# Progress tracker history (personal scan data)
19+
data/progress.json
20+
1821
# Ruff cache
1922
.ruff_cache/
2023

2124
# MkDocs build output
2225
site/
26+
27+
# Internal launch planning docs
28+
_launch/

CONTRIBUTING.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,18 @@ project-name/
6262
- Every document should have navigation links (Previous / Home / Next) at the bottom.
6363
- New projects should include a README explaining what the learner builds and why.
6464

65+
## Contributor Recognition
66+
67+
Every accepted pull request earns you a spot in [CONTRIBUTORS.md](./CONTRIBUTORS.md). When your PR is merged, add your name to the contributors table (or we will add it for you).
68+
69+
Significant contributions — new projects, modules, or major curriculum improvements — are highlighted in the contributor notes.
70+
71+
## Translations
72+
73+
We welcome translations of the curriculum into other languages. Translation work is coordinated in the `translations/` directory. See `translations/TRANSLATING.md` (when available) for guidelines on translating documents, maintaining parity with the English source, and getting credit for your work.
74+
75+
If you want to start a translation for a new language, open an issue first so we can coordinate.
76+
6577
## Questions?
6678

6779
Open an issue. There are no silly questions in a learning repo.

CONTRIBUTORS.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Contributors
2+
3+
Thank you to everyone who has helped make this curriculum better. Every fix, suggestion, and contribution matters.
4+
5+
## Creator
6+
7+
| Name | Contribution | GitHub |
8+
|------|-------------|--------|
9+
| Travis J. Neuman | Creator, curriculum author | [@travisjneuman](https://github.com/travisjneuman) |
10+
11+
## Contributors
12+
13+
| Name | Contribution | GitHub |
14+
|------|-------------|--------|
15+
| | | |
16+
17+
Want to be listed here? See [CONTRIBUTING.md](./CONTRIBUTING.md) for how to get involved. Every accepted pull request earns a spot on this page.

HALL_OF_FAME.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Hall of Fame
2+
3+
Recognizing learners who have put in the work. Completing this curriculum is a real achievement — these people earned it.
4+
5+
---
6+
7+
## Curriculum Completions
8+
9+
Learners who completed the full curriculum (all 13 levels, 246 projects).
10+
11+
| Name | Date Completed | GitHub | Notes |
12+
|------|---------------|--------|-------|
13+
| | | | |
14+
15+
---
16+
17+
## 30-Day Challenge Completions
18+
19+
Learners who finished the [30-Day Python Challenge](./30_DAY_PYTHON_CHALLENGE.md).
20+
21+
| Name | Date Completed | GitHub | Notes |
22+
|------|---------------|--------|-------|
23+
| | | | |
24+
25+
---
26+
27+
## Notable Projects
28+
29+
Outstanding projects built by learners during the curriculum. If you built something you are proud of, submit it.
30+
31+
| Name | Project | Level/Module | GitHub Link | Description |
32+
|------|---------|-------------|-------------|-------------|
33+
| | | | | |
34+
35+
---
36+
37+
## How to Submit Your Completion
38+
39+
1. Fork this repository
40+
2. Add your row to the appropriate table above
41+
3. Open a pull request with the title: `Hall of Fame: [Your Name]`
42+
4. Include proof of completion in the PR description:
43+
- Link to your forked repo with completed projects
44+
- Screenshot of your progress dashboard (if using the progress tracker)
45+
- Any other evidence of completed work
46+
47+
Submissions are reviewed and merged on a rolling basis. There is no deadline — finish at your own pace and claim your spot when you are ready.

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,7 @@ Please read [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines and [CODE_OF_CON
326326
| [Career Readiness](./CAREER_READINESS.md) | Map curriculum levels to job roles, interview prep by stage |
327327
| [Portfolio Guide](./PORTFOLIO_GUIDE.md) | How to present your projects to employers |
328328
| [Teaching Guide](./TEACHING_GUIDE.md) | Classroom adaptation: semester mappings, rubrics, GitHub Classroom |
329+
| [Workshop Kit](./WORKSHOP_KIT.md) | Run a 2-hour Python workshop at meetups and user groups |
329330
| [Accessibility](./ACCESSIBILITY.md) | Screen reader guidance, cognitive accessibility, accommodations |
330331
| [Creator Kit](./CREATOR_KIT.md) | Guide for YouTubers and bloggers creating companion content |
331332
| [Certification Protocol](./curriculum/50_CERTIFICATION_GRADE_COMPLETION_PROTOCOL.md) | Formal completion standard with scoring rubrics and defense format |
@@ -334,6 +335,7 @@ Please read [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines and [CODE_OF_CON
334335
| [Changelog](./CHANGELOG.md) | Version history and release notes |
335336
| [Contributing](./CONTRIBUTING.md) | How to contribute to this project |
336337
| [Code of Conduct](./CODE_OF_CONDUCT.md) | Community standards |
338+
| [Translations](./translations/README.md) | Community translations (Spanish, Portuguese in progress) |
337339
| [License](./LICENSE) | MIT License |
338340

339341
---

SELF_ASSESSMENT.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# Self-Assessment Rubrics
2+
3+
Rate yourself honestly on each skill. Use the scale to identify strengths and gaps, then focus your practice on areas scored 1-3.
4+
5+
**Rating Scale:**
6+
- **1 — No idea:** Have not encountered this concept yet
7+
- **2 — Seen it:** Recognize the concept but cannot apply it independently
8+
- **3 — Can do with help:** Can accomplish this with documentation or examples open
9+
- **4 — Confident:** Can do this from memory in most situations
10+
- **5 — Can teach it:** Could explain this clearly to someone else and handle edge cases
11+
12+
---
13+
14+
## Levels 0-2: Beginner
15+
16+
### Core Python Fluency
17+
18+
| # | Skill | Rating (1-5) |
19+
|---|-------|:---:|
20+
| 1 | Can I write a function from scratch without copying an example? | ___ |
21+
| 2 | Can I read an error traceback and identify which line caused the problem? | ___ |
22+
| 3 | Can I explain what my code does, line by line, to someone else? | ___ |
23+
| 4 | Can I choose between a list, dict, and set for a given problem? | ___ |
24+
| 5 | Can I write a for loop and a while loop and know when to use each? | ___ |
25+
| 6 | Can I open, read, and write files without looking up the syntax? | ___ |
26+
| 7 | Can I use f-strings to format output clearly? | ___ |
27+
| 8 | Can I break a problem into smaller functions instead of writing one long script? | ___ |
28+
29+
**Beginner milestone:** Score 4+ on items 1-3 before moving to Level 3.
30+
31+
---
32+
33+
## Levels 3-5: Intermediate
34+
35+
### Design and Quality
36+
37+
| # | Skill | Rating (1-5) |
38+
|---|-------|:---:|
39+
| 1 | Can I design a solution (pseudocode or outline) before writing code? | ___ |
40+
| 2 | Can I write pytest tests for my own functions? | ___ |
41+
| 3 | Can I refactor duplicated code into reusable functions or classes? | ___ |
42+
| 4 | Can I use logging instead of print() for debugging? | ___ |
43+
| 5 | Can I read and navigate someone else's Python project? | ___ |
44+
| 6 | Can I use try/except to handle expected errors gracefully? | ___ |
45+
| 7 | Can I create and use virtual environments for project isolation? | ___ |
46+
| 8 | Can I write a module that another script can import and use? | ___ |
47+
| 9 | Can I use list comprehensions and generator expressions appropriately? | ___ |
48+
| 10 | Can I read library documentation and apply new APIs without a tutorial? | ___ |
49+
50+
**Intermediate milestone:** Score 4+ on items 1-4 before moving to Level 6.
51+
52+
---
53+
54+
## Levels 6-8: Advanced
55+
56+
### Architecture and Integration
57+
58+
| # | Skill | Rating (1-5) |
59+
|---|-------|:---:|
60+
| 1 | Can I explain architectural trade-offs (e.g., monolith vs. microservices, SQL vs. NoSQL)? | ___ |
61+
| 2 | Can I integrate external REST APIs and handle authentication, pagination, and errors? | ___ |
62+
| 3 | Can I work with databases using an ORM (SQLAlchemy) and write raw SQL when needed? | ___ |
63+
| 4 | Can I handle concurrent operations safely using asyncio or threading? | ___ |
64+
| 5 | Can I debug without print() — using breakpoint(), pdb, or a debugger? | ___ |
65+
| 6 | Can I profile code to find performance bottlenecks? | ___ |
66+
| 7 | Can I design a data model with proper relationships and constraints? | ___ |
67+
| 8 | Can I write integration tests that test multiple components together? | ___ |
68+
| 9 | Can I use decorators and context managers to reduce boilerplate? | ___ |
69+
| 10 | Can I package a Python project with pyproject.toml and manage dependencies? | ___ |
70+
71+
**Advanced milestone:** Score 4+ on items 1-5 before moving to Level 9.
72+
73+
---
74+
75+
## Levels 9-10: Expert
76+
77+
### System Design and Leadership
78+
79+
| # | Skill | Rating (1-5) |
80+
|---|-------|:---:|
81+
| 1 | Can I design a complete system from business requirements to implementation plan? | ___ |
82+
| 2 | Can I mentor others on Python best practices and explain *why* behind the rules? | ___ |
83+
| 3 | Can I contribute to open-source Python projects (read codebase, submit PRs, follow conventions)? | ___ |
84+
| 4 | Can I evaluate competing approaches and articulate the trade-offs of each? | ___ |
85+
| 5 | Can I design for observability (logging, metrics, tracing) from the start? | ___ |
86+
| 6 | Can I plan and execute a zero-downtime migration or deployment? | ___ |
87+
| 7 | Can I write architecture decision records that future developers will understand? | ___ |
88+
| 8 | Can I identify and remediate security vulnerabilities in Python applications? | ___ |
89+
| 9 | Can I design APIs that are versioned, documented, and backward-compatible? | ___ |
90+
| 10 | Can I lead a technical design review and give constructive feedback? | ___ |
91+
92+
**Expert milestone:** Score 4+ on items 1-4 to consider yourself production-ready.
93+
94+
---
95+
96+
## How to Use This Assessment
97+
98+
1. **Take it honestly.** There is no grade — this is for your own planning.
99+
2. **Retake every 2-4 weeks** to track growth. Date your assessments.
100+
3. **Focus practice** on your lowest-scoring items within your current tier.
101+
4. **Do not skip ahead** to a higher tier until you hit the milestone for your current one.
102+
5. **Use the projects** — each curriculum level is designed to build the skills listed above.
103+
104+
### Assessment Log
105+
106+
Record your scores over time:
107+
108+
| Date | Beginner Avg | Intermediate Avg | Advanced Avg | Expert Avg |
109+
|------|:---:|:---:|:---:|:---:|
110+
| _YYYY-MM-DD_ | ___._ | ___._ | ___._ | ___._ |
111+
| _YYYY-MM-DD_ | ___._ | ___._ | ___._ | ___._ |
112+
| _YYYY-MM-DD_ | ___._ | ___._ | ___._ | ___._ |
113+
114+
---
115+
116+
*Honest self-assessment is the fastest path to improvement. Rate where you are, not where you want to be.*

0 commit comments

Comments
 (0)