https://github.com/hamza-rafique/foundations-of-problem-solving
A complete roadmap to build strong problem-solving and debugging skills with structured phases, resources, and daily practice plans.
https://github.com/hamza-rafique/foundations-of-problem-solving
algorithms bug-fixing coding-interview coding-practice competitive-programming daily-coding data-structures debugging developer-roadmap dsa javascript learning-roadmap leetcode logic-building problem-solving programming-basics software-engineering technical-skills typescript
Last synced: 2 months ago
JSON representation
A complete roadmap to build strong problem-solving and debugging skills with structured phases, resources, and daily practice plans.
- Host: GitHub
- URL: https://github.com/hamza-rafique/foundations-of-problem-solving
- Owner: Hamza-Rafique
- Created: 2025-03-14T16:35:33.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-07-22T06:30:45.000Z (3 months ago)
- Last Synced: 2025-07-22T08:43:09.083Z (3 months ago)
- Topics: algorithms, bug-fixing, coding-interview, coding-practice, competitive-programming, daily-coding, data-structures, debugging, developer-roadmap, dsa, javascript, learning-roadmap, leetcode, logic-building, problem-solving, programming-basics, software-engineering, technical-skills, typescript
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π§ Problem Solving & Debugging Roadmap
Welcome! This roadmap is designed to help you build a strong foundation in **problem-solving** and **debugging**. Whether you're a beginner or aiming to sharpen your skills, follow this structured path step-by-step.
---
## π Phase 1: Fundamentals (Week 1β2)
### π― Goal:
Understand programming basics and learn to think logically.### π§ Topics to Cover:
- Variables, Data Types
- Loops and Conditionals
- Functions and Recursion
- Arrays, Strings, and basic Input/Output### π§© Practice:
- [HackerRank: 10 Days of JavaScript](https://www.hackerrank.com/domains/tutorials/10-days-of-javascript)
- [LeetCode Easy Problems](https://leetcode.com/problemset/all/?difficulty=Easy)### π Resources:
- [freeCodeCamp - JavaScript Basics](https://www.freecodecamp.org/)
- Book: *Eloquent JavaScript* (First 4 chapters)---
## π Phase 2: Learn Data Structures & Algorithms (Week 3β5)
### π― Goal:
Grasp essential data structures and common algorithms.### π§° Topics:
- Arrays, Linked Lists
- Stacks, Queues
- HashMaps, Sets
- Binary Trees, Graphs (Intro)
- Sorting: Bubble, Selection, Merge, Quick
- Searching: Binary Search, BFS, DFS### π§© Practice:
- [NeetCode 75](https://neetcode.io/)
- [GeeksforGeeks β DSA for Beginners](https://www.geeksforgeeks.org/data-structures/)### π Resources:
- Book: *Grokking Algorithms*
- Visualizer: [VisuAlgo](https://visualgo.net/en)---
## π Phase 3: Master Problem Solving Patterns (Week 6β8)
### π― Goal:
Apply techniques to solve unknown problems efficiently.### π Patterns:
- Sliding Window
- Two Pointers
- Fast & Slow Pointers
- Divide & Conquer
- Backtracking
- Dynamic Programming (Basics)### π§© Practice:
- [LeetCode Patterns Sheet](https://seanprashad.com/leetcode-patterns/)
- [AlgoExpert Pattern List](https://algoexpert.io/product)---
## π Phase 4: Real Debugging Skills (Week 9β10)
### π― Goal:
Identify and fix bugs confidently in real-world code.### π οΈ Techniques:
- Read error messages carefully
- Use print/console.log debugging
- Use IDE tools (VS Code Debugger, breakpoints)
- Binary search in code (narrow down)
- Rubber duck debugging
- Unit testing### π§© Debugging Practice:
- Solve buggy problems: [Codewars](https://www.codewars.com/), [Exercism](https://exercism.io/)
- Create intentional bugs in your code and fix them### π§ͺ Tools:
- Chrome DevTools
- VS Code Debugger
- Node.js Debugging
- Python `pdb` / JavaScript `debugger` keyword---
## π Phase 5: Competitive Programming & Deep Dive (Ongoing)
### π― Goal:
Tackle complex problems under constraints and improve speed.### π§© Platforms:
- [Codeforces](https://codeforces.com/)
- [AtCoder](https://atcoder.jp/)
- [LeetCode Weekly Contest](https://leetcode.com/contest/)### π§ Learn:
- Time & Space Complexity
- Mathematical Problems
- Advanced DP & Graph Problems---
## ποΈ Tools for Practice
| Tool | Purpose |
|------|---------|
| [LeetCode](https://leetcode.com/) | Problem-solving platform |
| [GeeksforGeeks](https://www.geeksforgeeks.org/) | DSA learning & practice |
| [VS Code](https://code.visualstudio.com/) | IDE for writing/debugging code |
| [Codeforces](https://codeforces.com/) | Competitive programming |---
## π Tips to Improve Consistently
- Practice daily β consistency is key.
- Solve at least 2β3 problems per day.
- After solving a problem, explain it aloud.
- Revisit problems you failed after 2β3 days.
- Join developer communities like Discord, Reddit, StackOverflow.---
## π Sample Weekly Plan
| Day | Task |
|-----|------|
| MonβFri | 2 Problems + 1 Debug Challenge |
| Sat | Learn a new pattern/technique |
| Sun | Revisit wrong problems + contest |---
## β Final Checklist
- [ ] Know basic data structures
- [ ] Comfortable with problem patterns
- [ ] Debug efficiently using tools
- [ ] Solve medium-hard LeetCode problems
- [ ] Participate in coding contests---
**Start now β even 20 minutes a day can create a big change. Good luck, coder! π**