Learning Roadmap¶
Your journey from Python novice to algorithm master!
Overview¶
Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6 Phase 7 Phase 8
FOUNDATIONS → DS → ALGORITHMS → ADV DS → PATTERNS → ADV ALGO → CHALLENGES → MASTERY
2wk 4wk 3wk 3wk 4wk 4wk ongoing ongoing
Phase 1: Foundations (2 weeks)¶
Week 1: Python Basics¶
- Variables and data types
- Strings and string manipulation
- Lists, tuples, and sets
- Dictionaries
Week 2: Control Flow & Functions¶
- Conditionals (if/elif/else)
- Loops (for, while)
- Functions and parameters
- Error handling
Phase 2: Data Structures (4 weeks)¶
- Arrays and Lists
- Strings
- Hash Tables
- Linked Lists
- Stacks and Queues
- Trees (Binary, BST, AVL)
- Graphs (DFS, BFS)
Phase 3: Basic Algorithms (3 weeks)¶
- Linear Search
- Binary Search
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Recursion basics
Phase 4: Advanced Data Structures (3 weeks)¶
- Heaps (Min/Max)
- Trie
- Segment Trees
- Disjoint Sets (Union-Find)
- Balanced Trees
Phase 5: Coding Patterns (4 weeks)¶
- Sliding Window
- Two Pointers
- Fast & Slow Pointers
- Merge Intervals
- Cyclic Sort
- Tree BFS/DFS
- Subsets
- Modified Binary Search
Phase 6: Advanced Algorithms (4 weeks)¶
- Dynamic Programming
- Graph Algorithms
- Greedy Algorithms
- Backtracking
- String Algorithms
Phase 7: Challenges (Ongoing)¶
LeetCode Problems¶
- 50+ Easy problems
- 50+ Medium problems
- 20+ Hard problems
System Design¶
- URL Shortener
- Rate Limiter
- LRU Cache
Phase 8: Mastery (Ongoing)¶
- Optimize existing solutions
- Mock interviews
- Real-world projects
- Contributing to open source
Progress Tracking¶
Use PROGRESS.md to track your XP and achievements:
Tips for Success¶
- Consistency over intensity - Code every day, even if just 30 minutes
- Understand before memorizing - Focus on concepts, not just solutions
- Practice actively - Write code, don't just read it
- Review regularly - Revisit topics you've learned
- Teach others - Explaining concepts solidifies understanding