Watch the algorithm run, then write it.
DSA Karle teaches data structures and algorithms by letting you see them move. Each lesson draws the data like a page in a notebook, lets you step through a real run, and only then shows the code. The goal is simple: when you meet a new problem, you recognise the shape of it.
How a lesson works
Every lesson follows the same beats, so you always know where you are. The order matters: the idea comes first, and the syntax comes last.
1. Picture
Start with one still drawing of the data, with a few handwritten notes. Before anything moves, you see the shape of the thing.
2. Watch
Step through a run, one move at a time. Play it, pause it, scrub back. Nothing is hidden behind a fast animation.
3. Predict
Before a step plays, you guess what happens next. Being wrong here is cheap, and it is where the idea sticks.
4. Try
Type in your own input and watch the same algorithm handle it. If you can break it, you are starting to understand it.
5. Code
Only now the code, in Python, Java or C++, lit up line by line in sync with what you just watched.
The colour language
In every lesson the same colours mean the same roles, so once you learn them in one lesson you can read all of them. Each colour also comes with a mark or a line style, so you never have to tell them apart by colour alone.
- ▲
Teal, with a ▲ tag below
The first pointer: the left, slow, low or previous one.
- ▼
Indigo, with a ▼ tag above
The second pointer: the right, fast, high or current one.
- 7
Coral, a solid ring
The element being processed right now.
- 3
Amber, a dashed outline
Two things being compared.
- ✓
Green, with a ✓
The answer, or a step that worked.
- ✕
Red, with a ✕
A rule was broken, or an answer was wrong.
What it is not
Not a judge. DSA Karle does not run or grade your code. Practice problems open on LeetCode, where you write and submit them.
No accounts. There is no sign-up and no login. The things you mark as solved and the lessons you finish stay in your browser, on this device, and nowhere else.
Questions
Made by
Made by Ayush Chougula, one lesson at a time.
The code is open on GitHub. Found a mistake or have an idea? Report an issue.