Learning Principles
Core Principles
These principles guide how algorithm concepts are presented in this documentation.
1. Understanding the "Why" Before the "How"
Understand the reasoning behind solutions, not just the implementation.
2. See the Thought Evolution, Not Just the Final Answer
Follow the journey from confusion to clarity, including wrong approaches and insights.
3. Separate Conceptual Layers
Designer vs Coder
- Designer: conceptual understanding, pattern recognition
- Coder: implementation details, data structures
Algorithm vs Implementation
- Algorithm: what to do and why
- Implementation: how to code it
4. Identify Prerequisite Understanding
Key Question
What makes this possible?
Recognize the foundational concepts and properties that enable the solution.
5. Test Understanding Boundaries
Edge Cases as Concept Validators
Use edge cases not just for testing, but to validate and deepen understanding.
6. Learn the Meta-Process
Most Important
How to think, not just what to think
Develop thinking frameworks that apply across problems, not just memorized solutions.