Free · C# or Python · save progress with an account

See every algorithm run, one step at a time

Short animations you control, with the code highlighted line by line, in C# or Python. Built for interview prep, from your first array to graphs, OOP and async.

  • animated lessons
  • practice problems
  • concept notes
  • AI interview topics
  1. Pick a topicFollow the path below or search for what you need.
  2. Watch it runPlay, pause or step. Try your own input.
  3. Check yourselfTick topics off, then practise in an AI mock interview.

New here? Start with these six

The gentlest lessons, in order. About five minutes each.

The full path

Five stages, from fundamentals to the language itself. Jump in anywhere.

Beyond the animations

What product-company interviews ask besides writing the algorithm.

Ready to test yourself?

Ten random questions in ten minutes, on DSA, C#, OOP or CS fundamentals. Every answer is explained at the end.

Reading the code

Types the lessons share

Conventions

  • Switch between C# and Python at the top of the page. C# snippets compile on .NET 8 with System, System.Collections.Generic and System.Linq imported. Python snippets are Python 3.10+ with type hints.
  • Lessons about the C# language itself (and C#-specific features such as overloading and new vs override) are shown in C# only.
  • Swaps use tuple syntax: (a[i], a[j]) = (a[j], a[i]) in C#, a[i], a[j] = a[j], a[i] in Python.
  • mid = lo + (hi - lo) / 2 is used instead of (lo + hi) / 2 so the sum cannot overflow int. Python ints never overflow, so the Python code uses (lo + hi) // 2.
  • Each lesson has an "In .NET" box naming the built-in type or method that does the same job in real code.
DSA/Visual Animated lessons in C# and Python. Free to start: sign in to open the lessons and save your progress. Privacy Terms Refunds Contact

Save your solutions

DSA/Visual

Sign in to start learning

Create a free account to open the lessons and practice tools. Your progress is saved and follows you to any device.