Welcome to your personalized Go tutoring system! This curriculum is designed to build genuine programming competency through deliberate practice and adaptive learning.
Current Level: Transitioning from Beginner → Junior Gopher Time Commitment: 20 hours/week (full-time dedication) Target: Mid-level Go proficiency in 16-24 weeks
Each module contains 15-17 progressive exercises ranging from simple to complex:
00-diagnostic/- Initial skill assessment ⬅️ START HERE01-fundamentals/- Variables, types, control structures02-data-structures/- Arrays, slices, maps, structs03-functions-methods/- Functions, methods, receivers04-error-handling/- Error values, wrapping, custom errors05-testing/- Unit tests, table-driven tests, benchmarks
06-interfaces/- Interface design and composition07-packages-modules/- Code organization, modules, packages08-http-apis/- HTTP servers, routing, middleware, JSON
09-concurrency/- Goroutines, channels, sync primitives, patterns
10-databases/- SQL integration, transactions, migrations11-performance/- Profiling, optimization, memory management
projects/01-cli-tool/- Week 4 capstoneprojects/02-rest-api/- Week 8 capstoneprojects/03-concurrent-processor/- Week 12 capstoneprojects/04-microservice/- Week 16 capstone
cd 00-diagnostic
cat README.md # Read instructionsThis 30-60 minute assessment will:
- Identify your current skill level
- Reveal knowledge gaps
- Create your personalized learning path
Check PROGRESS.md after completing diagnostic to see:
- Your strengths and areas for improvement
- Recommended starting point
- Customized exercise sequence
Follow the 4-hour daily structure:
- Hour 1: Review previous concepts (spaced repetition)
- Hours 2-3: New concept + guided exercises
- Hour 4: Independent practice + journal reflection
PROGRESS.md- Your detailed skill metrics and advancementJOURNAL.md- Daily reflections and learning insights- Each exercise directory contains
progress.txtfor module-specific tracking
To build genuine competency, AI usage is structured in phases:
Weeks 1-4 (Current Phase):
- ❌ No AI for code generation
- ✅ Documentation and Go.dev lookup allowed
- ✅ Compiler error interpretation help
Weeks 5-8:
- ✅ AI for debugging hints after 20min independent attempt
- ✅ Must explain all code in your own words
Weeks 9+:
- ✅ Gradual AI integration
- ✅ Mandatory code explanations with every submission
- ✅ Working code that passes all tests
- ✅
EXPLANATION.mdwith line-by-line breakdown - ✅ Alternative approaches you considered
- ✅ Why you chose your specific implementation
- Day 1: Learn new concept
- Day 2: Practice exercises
- Day 4: Quick review
- Day 7: Combined exercise
- Day 14: Refresher
- Day 30: Integration with new concepts
- ✅ Complete 15+ exercises per module with >75% first-attempt accuracy
- ✅ Build CLI application independently
- ✅ Explain all code without references
- ✅ Debug simple errors within 5 minutes
- ✅ Write basic tests for your code
- ✅ Complete HTTP API project with >70% test coverage
- ✅ Review code and identify issues
- ✅ Implement design patterns appropriately
- ✅ Handle errors consistently
- ✅ Write comprehensive test suites
- ✅ Design system architecture independently
- ✅ Implement concurrent systems without race conditions
- ✅ Optimize code using profiling
- ✅ Make informed trade-off decisions
- ✅ Write production-ready code
Week 1: Diagnostic + Fundamentals foundations Week 2-3: Data structures mastery Week 4: CLI Tool Project (Capstone 1) Week 5-7: Error handling, testing, interfaces Week 8: REST API Project (Capstone 2) Week 9-11: HTTP and web services Week 12: Concurrent Processor Project (Capstone 3) Week 13-15: Concurrency deep dive Week 16: Microservice Project (Capstone 4)
The resources/ directory contains:
- Curated articles and documentation links
- Common Go pitfalls and how to avoid them
- Worked examples with explanations
- Spaced repetition review sets
- Write code daily - Consistency beats intensity
- Explain your thinking - If you can't explain it, you don't understand it
- Make mistakes - They're your best learning opportunities
- Debug systematically - Don't just restart; understand the error
- Review regularly - Spaced repetition prevents forgetting
- Build projects - Apply concepts in real contexts
- Ask "why" - Understand the reasoning behind patterns
- Read the error message carefully - It usually tells you what's wrong
- Check the exercise README - Hints are provided
- Review the concept documentation - Linked in each module
- Attempt for 20 minutes - Struggle is part of learning
- Use debugging techniques - Print statements, delve debugger
- Consult Go.dev - Official documentation is excellent
- After genuine attempt - Ask for guidance (post-Week 4)
After each session, reflect in JOURNAL.md:
- What concept did you learn today?
- What was challenging? Why?
- What "clicked" or made sense?
- How would you explain this to someone else?
- What will you review tomorrow?
Remember: The goal isn't to accumulate hours or complete exercises quickly. The goal is to build deep understanding through thoughtful, deliberate practice. Quality over quantity, always.
Let's begin! Head to 00-diagnostic/ to start your assessment. 🚀