Getting Started 🚀
Welcome to DSA-30 — your 30-day, click-along crash course in Data Structures and Algorithms. By the end you’ll go from “I know what an array is” to “I can solve graph problems in three languages without breaking a sweat.”

What makes this different
This isn’t a textbook. Every concept page mixes prose with interactive components — push values onto a heap, animate a recursion tree, step through DFS on a graph, watch quicksort partition in real time. Every practice problem ships solutions in C++, Python, and Java side by side.
The whole site is built around three rules:
- Patterns over recipes. We teach the template (hash-map + complement, fused traversal, sliding window) so each new problem feels like one you’ve already solved.
- Visualize first, code second. If you can see the data structure move, you can write it from scratch tomorrow.
- Predictable rhythm. Every chapter has the same shape — Overview → Concept pages → Basic Questions → Practice — so you always know what comes next.
How to use this guide
- Pick your language. Every solution has C++/Python/Java tabs. Read whichever you’d write the answer in.
- Click everything. The visualizers are there to be poked. Try inputs that look like they should break it.
- Don’t skip the “Basic Questions” warm-ups — they’re the bridge between “I read it” and “I can write it cold.”
- Do the practice problems in order. Easy → Medium → Hard within each day. They build on each other.
The hidden curriculum. Every chapter ends with a “this pattern also solves…” table that links the current problem to its cousins in other chapters. Following those cross-references is how you wire patterns together.
Prerequisites
You don’t need much:
- Basic programming literacy. You should be comfortable with variables, loops, functions, and conditionals in any language. We use C++/Python/Java but the logic is universal.
- How to run a “Hello World” program in at least one language.
- A willingness to debug. Bugs will happen. They’re not failure — they’re the work.
You don’t need:
- A computer science degree.
- Prior LeetCode experience.
- Math beyond high-school algebra.
- The ability to “see” recursion in your head (we’ll build that on Day 5).
Your toolkit
- IDE: VS Code, IntelliJ, PyCharm — whatever you’re fastest in.
- A notebook (paper or digital) for drawing graphs and trees by hand. This actually matters.
- Coffee/tea. Fuel for the debugging sessions.
- Persistence. The only algorithm that guarantees success.
Curriculum status
The full 30-day curriculum is laid out, but content is being filled in:
- ✅ Phases 1–4 are complete (Days 1–13 + Day 17 — Fundamentals, Trees & Hashing, Graphs, Sorting & Searching, Bit Manipulation). Full concept pages, multi-language solutions, interactive visualizers, 5–10 practice problems each.
- 📋 Phases 5–8 are placeholders (Days 14–16, 18–30) — each has a topic preview and learning outcomes, with full content rolling out over time.
Check the 30-tile roadmap on the home page for a visual status overview — green-dotted tiles are live, the others have proper “Coming Soon” pages with what to expect.
Ready?
Start with Day 1
Big O notation, the language we’ll use to reason about every algorithm for the next 29 days.
Go to Day 1 →