The Technique: Claude Code as a Persistent Learning Coach
Algotutor isn't just another coding challenge repository. It's a complete learning system built around Claude Code's ability to maintain context across an entire session. When you type train in a Claude Code session within the algotutor directory, Claude becomes your personal algorithm tutor with memory.
The system tracks your skill level across 32 algorithmic concepts—from basic arrays and strings up through dynamic programming and system design. Claude doesn't just give you random problems; it analyzes your progress file and selects the next challenge based on where you actually need practice.
Why It Works: Session Context + Structured Curriculum
This works because Claude Code maintains the entire session context, including:
- Your progress.json file with skill levels
- The problem directory structure
- Your previous solutions and attempts
- The review cards you've generated
Unlike one-off ChatGPT prompts where you'd need to re-explain your skill level every time, Claude Code remembers everything. The tutor adapts in real-time as you solve problems, creating a truly personalized learning path.
How To Apply It: Your New Go Learning Workflow
# 1. Clone and set up
git clone https://github.com/zuzuleinen/algotutor/
cd algotutor
# 2. Start Claude Code in the directory
claude code .
# 3. Type 'train' and start learning
# Claude will initialize your progress and begin the session
# 4. Work on problems in main.go
go run . # Validate your solution
# 5. Ask Claude to check your work
claude check
# 6. Review what you've learned
go run ./cmd/review # Or 'make review'
Key Features That Make This Effective
1. Automatic Review Card Generation
As you solve problems, Claude automatically creates Anki-style review cards that follow the SuperMemo 20 Rules for effective memorization. These capture:
- Algorithmic patterns you discovered
- Go syntax and idioms
- Data structure properties and trade-offs
2. FSRS-Based Spaced Repetition
The review system uses the FSRS (Free Spaced Repetition Scheduler) algorithm—the same modern algorithm powering Anki's latest versions. When you rate cards 1-4 (Again/Hard/Good/Easy), they reappear at scientifically optimized intervals.
3. Progressive Difficulty
Claude doesn't just throw hard problems at you. It builds up systematically:
- Fundamentals (arrays, strings, loops)
- Core Data Structures (maps, sets, stacks, queues)
- Core Techniques (sorting, binary search, two pointers)
- Advanced Topics (dynamic programming, system design)
4. Local-First Design
Your progress is stored locally in gitignored files. This means:
- No account creation required
- Your data stays private
- You can version control the curriculum while keeping progress separate
Pro Tips for Maximum Effectiveness
# Use this flag to avoid permission prompts for file operations
claude --dangerously-skip-permissions
# Structure your learning sessions:
1. Start with 'train' and work until stuck
2. Try to solve independently before asking for help
3. Use 'claude check' to verify solutions
4. Run reviews regularly with 'make review'
# The system works best when you:
- Try genuinely before saying "I don't know"
- Review cards daily (even just 5 minutes)
- Focus on understanding patterns, not just solutions
What This Teaches About Claude Code's Capabilities
Algotutor demonstrates several advanced Claude Code patterns:
Long-term session memory: Claude can maintain and update structured data (progress tracking) across an entire learning journey.
File system integration: The system reads and writes to multiple files (progress.json, main.go, review cards) while maintaining context.
Adaptive prompting: Based on your skill level, Claude generates appropriate problems and explanations.
Educational scaffolding: The tutor knows when to give hints versus when to let you struggle productively.
Building Your Own Version
Want to create something similar for another language or domain? The key insights are:
# 1. Structure your data for Claude to understand
- Use clear JSON schemas for progress tracking
- Organize content in predictable directory structures
- Include metadata about difficulty and prerequisites
# 2. Design prompts that leverage session context
- Reference previous files and progress
- Ask Claude to update tracking data
- Use consistent command patterns ('train', 'check', 'review')
# 3. Make it interactive but structured
- Provide clear next steps
- Include validation mechanisms
- Build in spaced repetition from the start
This approach transforms Claude Code from a coding assistant into a true learning companion—one that remembers where you've been and knows exactly where you need to go next.







