Playground.
Don't just read about it — run it.
Every lab here is a real, hand-built model of the idea: the algorithm actually runs, one visible step at a time. Change the input, press play, step back, try to break it.
- 106 interactive labs
- 855 concepts with a lab
- 11 topics
- Runs in your browser
Top labs
The most hands-on labs on IKSHA: the ones with the most to drag, tweak and step through.
No lab matches that search.
Algorithms
Watch every compare, swap and visit.
Data structures
Add, remove and follow the pointers.
How Python runs your code
Step inside real Python mechanics: loops, strings, lists, classes, files.
Databases & SQL
Run queries on a toy database and watch every row.
Networking & the web
Follow a request from DNS lookup to response.
Data formats
JSON, XML and bytes: see text become structure.
Math & bits
Flip bits and watch numbers change.
Machine learning
Drag the data, change a parameter, watch the model react.
Deep learning
Neurons, gradients and tensors, one step at a time.
Text & NLP
Turn text into tokens, ids and vectors.
Probability & randomness
Seeded experiments you can replay exactly.
Try one right now
No sign-up. Press Play, or step through with the arrow keys.
Try it: Bubble Sort
How bubble sort puts a list in order by repeatedly comparing neighbouring values and swapping the pairs that are out of order.
How it works
- Walk the list from left to right, comparing each value with its right-hand neighbour.
- If the left value is larger, swap the two.
- After one pass the largest remaining value has 'bubbled' to the end, where it stays.
- Repeat on the unsorted part. A pass with no swaps means the list is sorted, so stop early.
Default run (21 steps): Unsorted array: [8, 3, 5, 1, 9]. Bubble sort compares neighbours and swaps them when they are out of order. … Sorted: [1, 3, 5, 8, 9] after 10 comparisons and 5 swaps.
Simplified: Educational version of bubble sort on up to 12 numbers. Python's built-in sort() uses a different, faster algorithm (Timsort).
Loading the simulation…