Skip to content

Commit 2174b56

Browse files
travisjneumanclaude
andcommitted
feat: add comprehensive audit reports and enhancement roadmap
5 parallel research agents produced: - Content quality audit (docs, projects, concepts, quizzes, challenges) - Competitive analysis (13 platforms: freeCodeCamp, Exercism, py4e, etc.) - Teaching innovations research (Pyodide, uv, type hints, AI tutoring) - Technical infrastructure audit (CI/CD, tooling, cross-platform) - Community & engagement strategy (growth playbook, classroom adoption) ENHANCEMENT_ROADMAP.md synthesizes all findings into 45 prioritized enhancements across 5 tiers, with implementation phases and a top-10 highest-ROI list. Critical finding: 165 core-track projects share identical templated project.py, tests, and README body sections — the single biggest quality improvement opportunity. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 5946896 commit 2174b56

File tree

6 files changed

+1765
-0
lines changed

6 files changed

+1765
-0
lines changed

ENHANCEMENT_ROADMAP.md

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
# Enhancement Roadmap
2+
3+
> Synthesized from 5 parallel research audits conducted February 2025. This document prioritizes every identified improvement by impact and effort.
4+
5+
---
6+
7+
## Key Findings Summary
8+
9+
### Content Audit
10+
The curriculum's foundation (concept guides, quizzes, flashcards, challenges, expansion modules) is genuinely excellent. The critical issue: **165 core-track projects (levels 0-10) share identical templated `project.py`, tests, and README body sections**. A "Word Counter" has the same code as a "Dictionary Lookup Service." This is the single highest-impact fix available.
11+
12+
### Competitive Analysis
13+
learn.python's 261 projects across 13 levels is more comprehensive than any free competitor. The gaps are not in content volume but in **delivery**: no browser-based execution, no community infrastructure, no spaced repetition integration, no time-based pacing structure. The untapped opportunity: no major platform does spaced repetition well for programming.
14+
15+
### Innovation Research
16+
Three macro-trends: (1) browser-based Python via Pyodide eliminates setup friction, (2) modern Rust-powered tooling (uv, ruff) simplifies the developer experience dramatically, (3) AI tutoring is becoming table-stakes but must preserve cognitive engagement. Highest-ROI innovations: adopt uv, add Python Tutor visualization links, formalize progressive disclosure, teach type hints early.
17+
18+
### Infrastructure Audit
19+
One critical bug: hardcoded absolute path in `tools/rebuild_navigation.py:10`. Test homogeneity mirrors the project template problem. Shell scripts have minor cross-platform issues. CI has no PR triggers. No ruff/formatting checks in CI.
20+
21+
### Community Strategy
22+
The repo is private with 0 stars. The content is strong enough to compete, but distribution is the bottleneck. A specific launch playbook (social preview, Reddit/HN posts, GitHub Pages site) could drive initial traction. The learner-to-contributor pipeline (proven by Odin Project, freeCodeCamp) is the path to sustainability.
23+
24+
---
25+
26+
## Priority Tiers
27+
28+
### Tier 0: Must-Fix (Bugs and Blockers)
29+
30+
| # | Enhancement | Source | Effort | Impact |
31+
|---|------------|--------|--------|--------|
32+
| 1 | **Fix hardcoded path in `tools/rebuild_navigation.py:10`** — Replace `Path(r"E:\Web Development\learn.python")` with `Path(__file__).parent.parent` | Infra | 5 min | Critical |
33+
| 2 | **Fix broken links in `14_NAVIGATION_AND_STUDY_WORKFLOW.md`** — Elite extension links need `curriculum/` prefix | Content | 15 min | High |
34+
| 3 | **Fix unquoted `$py_files` in smoke scripts** — Word-splitting bug in `run_smoke_checks.sh:72` and `run_elite_smoke_checks.sh:45` | Infra | 15 min | Medium |
35+
| 4 | **Add `command -v rg` check to shell scripts** — Fail gracefully if ripgrep is missing | Infra | 30 min | Medium |
36+
| 5 | **Fix `XXXXX` placeholder in web-scraping module README** | Content | 5 min | Low |
37+
| 6 | **Extend portable path checker to scan `*.py` files** | Infra | 15 min | Medium |
38+
39+
### Tier 1: Quick Wins (High Impact, Low Effort)
40+
41+
| # | Enhancement | Source | Effort | Impact |
42+
|---|------------|--------|--------|--------|
43+
| 7 | **Add Python Tutor visualization links to concept docs** — Direct links to pythontutor.com examples for variables, loops, functions, collections, classes | Innovation | 2 hrs | High |
44+
| 8 | **Add "Reading Error Messages" concept doc** — Traceback anatomy, common errors, the `friendly` library | Innovation | 3 hrs | High |
45+
| 9 | **Create Python Feature Unlock chart** — Which features are introduced at each level (progressive disclosure) | Innovation | 4 hrs | High |
46+
| 10 | **Add AI usage guidelines per level** — No AI at Level 00, debugging hints at Level 3, pair programming at Level 7+ | Innovation | 2 hrs | Medium |
47+
| 11 | **Consolidate duplicate "Related exercises"/"Practice This" sections** in concept guides | Content | 1 hr | Medium |
48+
| 12 | **Add Advanced tier coding challenges** — 15 challenges for Level 6+ (generators, metaclasses, async, type system) | Content | 8 hrs | Medium |
49+
| 13 | **Improve quiz input normalization** — Accept `b`, `B`, `b)`, `(b)`, `option b` as equivalent | Content | 2 hrs | Medium |
50+
| 14 | **Create TRY_THIS.md for level-00 exercises** — 2-3 extension prompts per exercise | Content | 3 hrs | Medium |
51+
| 15 | **Update collections guide dict ordering** — Mark dicts as "Yes" for ordering (Python 3.7+) | Content | 15 min | Low |
52+
53+
### Tier 2: Strategic Investments (High Impact, Medium Effort)
54+
55+
| # | Enhancement | Source | Effort | Impact |
56+
|---|------------|--------|--------|--------|
57+
| 16 | **Replace 165 templated `project.py` files with bespoke starter code** — Each project gets code that matches its stated focus. Use expansion modules as quality benchmark. | Content | 40-80 hrs | **Transformative** |
58+
| 17 | **Replace 165 templated test files with project-specific tests** — Tests verify unique project requirements, not generic boilerplate | Content | 40-80 hrs | **Transformative** |
59+
| 18 | **Replace generic README body sections with project-specific instructions** — Alter/Break/Fix/Explain tailored to each project | Content | 20-40 hrs | High |
60+
| 19 | **Adopt uv as default package manager** — Replace all pip/venv instructions. Update setup guide, project templates, CI. | Innovation | 8 hrs | High |
61+
| 20 | **Introduce type hints early (Level 1)** — Function annotations, progress to generics by Level 4, add mypy to toolchain | Innovation | 8 hrs | High |
62+
| 21 | **Teach dataclasses before traditional classes** — Restructure OOP progression | Innovation | 6 hrs | Medium |
63+
| 22 | **Add match/case pattern matching** — Introduce at Level 2-3 after if/elif/else | Innovation | 4 hrs | Medium |
64+
| 23 | **Add PR-triggered CI** — Lightweight `py_compile` + link check + ruff on PRs | Infra | 4 hrs | High |
65+
| 24 | **Create social preview image** — 1280x640px branded image showing "261 Projects, Zero to Full-Stack" | Community | 2 hrs | High |
66+
| 25 | **Create TEACHING_GUIDE.md** — Semester mapping, fork instructions, assessment materials for educators | Community | 4 hrs | Medium |
67+
| 26 | **Make repo a GitHub template** — Enable "Use this template" for teachers | Community | 5 min | Medium |
68+
| 27 | **Create 5-10 "good first issue" issues** — Attract first contributors | Community | 1 hr | High |
69+
| 28 | **Structure GitHub Discussions categories** — Announcements, Q&A, Show Your Work, Curriculum Feedback | Community | 30 min | Medium |
70+
| 29 | **Expand certification doc** — Scoring rubrics, portfolio templates, defense formats for `50_CERTIFICATION_GRADE_COMPLETION_PROTOCOL.md` | Content | 4 hrs | Medium |
71+
72+
### Tier 3: Major Initiatives (Transformative, Significant Effort)
73+
74+
| # | Enhancement | Source | Effort | Impact |
75+
|---|------------|--------|--------|--------|
76+
| 30 | **Deploy GitHub Pages documentation site** — mkdocs-material or mdbook, searchable, navigable, dark mode | Innovation, Community | 16-24 hrs | High |
77+
| 31 | **Build Pyodide browser exercises for Level 00** — HTML page + CodeMirror + Pyodide, hosted on GitHub Pages | Innovation | 16-24 hrs | High |
78+
| 32 | **Automated progress tracking** — Script that checks test results, updates PROGRESS.md, generates dashboard | Innovation | 16-24 hrs | Medium |
79+
| 33 | **Create Python equivalents of shell CI checks** — Remove bash/ripgrep dependency for Windows learners | Infra | 16 hrs | Medium |
80+
| 34 | **SVG level completion badges** — Badge images for each level, displayable in GitHub profiles | Innovation | 8 hrs | Medium |
81+
| 35 | **Portfolio building guide** — How to present learn.python projects to employers, README templates | Community | 4 hrs | Medium |
82+
| 36 | **Career readiness track overlay** — Map levels to job roles (intern at Level 3, junior at Level 5, mid at Level 7) | Competitive | 4 hrs | Medium |
83+
| 37 | **"Fast track" entry point for experienced devs** — Skip Level 00, condense foundations, jump to projects | Competitive | 6 hrs | Medium |
84+
| 38 | **Spaced repetition integration** — Build review scheduling into the flashcard runner, add review prompts to curriculum flow | Competitive | 16 hrs | High |
85+
| 39 | **Launch Discord at 100+ stars** — Channels per level, show-your-work, study groups | Community | 8 hrs + ongoing | Medium |
86+
87+
### Tier 4: Long-Term Vision
88+
89+
| # | Enhancement | Source | Effort | Impact |
90+
|---|------------|--------|--------|--------|
91+
| 40 | Open Badges 3.0 verifiable credentials | Innovation | 40+ hrs | Medium |
92+
| 41 | marimo notebooks for data analysis levels | Innovation | 16+ hrs | Medium |
93+
| 42 | Full learning analytics platform | Innovation | 40+ hrs | Medium |
94+
| 43 | Mentoring network (learner-to-mentor pipeline) | Community | Ongoing | High |
95+
| 44 | Video companion content | Competitive | 40+ hrs | High |
96+
| 45 | GitHub Classroom integration | Community | 8+ hrs | Medium |
97+
98+
---
99+
100+
## Top 10 Highest-ROI Improvements
101+
102+
Ranked by (impact on learner experience) x (feasibility) / (effort):
103+
104+
1. **Fix hardcoded path in rebuild_navigation.py** — 5 minutes, prevents broken tool for every user
105+
2. **Add Python Tutor links to concept docs** — 2 hours, zero dependencies, massive visual learning boost
106+
3. **Create Python Feature Unlock chart** — 4 hours, helps every learner see the big picture
107+
4. **Replace 165 templated project.py/tests with bespoke code** — High effort but this IS the curriculum. Everything else is polish on top of this.
108+
5. **Adopt uv as default package manager** — Eliminates the #1 source of beginner frustration (venv/pip confusion)
109+
6. **Add "Reading Error Messages" concept doc** — Error messages are the first thing beginners encounter and the biggest source of frustration
110+
7. **Create social preview image and go public** — The content is ready. Distribution is the bottleneck. Everything else depends on visibility.
111+
8. **Deploy GitHub Pages site** — Makes the curriculum accessible without cloning, enables SEO, enables Pyodide exercises
112+
9. **Add PR-triggered CI + ruff checks** — Prevents regressions, signals active maintenance to contributors
113+
10. **Introduce type hints early** — Modern Python requires this; teaching it late creates bad habits
114+
115+
---
116+
117+
## Implementation Phases
118+
119+
### Phase A: Critical Fixes (1 day)
120+
Items 1-6. Fix bugs, broken links, and infrastructure issues.
121+
122+
### Phase B: Quick Wins (1 week)
123+
Items 7-15. Add concept docs, visualization links, feature chart, quiz improvements.
124+
125+
### Phase C: Core Content Overhaul (2-4 weeks)
126+
Items 16-18. The project template replacement. This is the biggest undertaking and the highest-impact change. Consider doing this level-by-level, starting with Level 0 as proof of concept.
127+
128+
### Phase D: Modernization (1 week)
129+
Items 19-22. Adopt uv, type hints, dataclasses, match/case.
130+
131+
### Phase E: Launch Preparation (1 week)
132+
Items 23-29. CI improvements, social preview, teaching guide, GitHub features, good-first-issues.
133+
134+
### Phase F: Public Launch
135+
Make repo public. Execute the community strategy launch playbook (Reddit, HN, Dev.to, Twitter).
136+
137+
### Phase G: Platform Features (ongoing)
138+
Items 30-39. GitHub Pages, Pyodide, progress tracking, badges, portfolio guide.
139+
140+
---
141+
142+
## Verification Checklist
143+
144+
- [ ] No hardcoded absolute paths in any tracked file
145+
- [ ] All navigation links resolve correctly
146+
- [ ] Shell scripts check for dependencies before using them
147+
- [ ] Every project has bespoke starter code matching its focus
148+
- [ ] Every project has tests that verify its unique requirements
149+
- [ ] Python Tutor links in all beginner concept docs
150+
- [ ] Feature Unlock chart exists and is linked from README
151+
- [ ] uv instructions in setup guide
152+
- [ ] Type hints introduced at Level 1
153+
- [ ] Social preview image set
154+
- [ ] PR-triggered CI active
155+
- [ ] GitHub Pages site deployed
156+
- [ ] Repo is public
157+
158+
---
159+
160+
## Source Reports
161+
162+
| Report | File |
163+
|--------|------|
164+
| Content Quality Audit | `_audit_content_quality.md` |
165+
| Competitive Analysis | `_audit_competitive_analysis.md` |
166+
| Teaching Innovations | `_audit_innovations.md` |
167+
| Technical Infrastructure | `_audit_infrastructure.md` |
168+
| Community Strategy | `_audit_community_strategy.md` |
169+
170+
---
171+
172+
*Generated from 5 parallel research agents. Last updated: February 2025.*

0 commit comments

Comments
 (0)