1. Home
  2. All topics

All topics

96 interactive 3D lessons across 8 subjects. Start typing to filter, or compare them all in theBig-O cheat sheet.

Data Structures

3DBeginner✓ Learned

Arrays & Strings

The most basic data structure — a row of boxes in memory. See why reading any element is instant but inserting in the middle is slow.

10 min · Interactive
3DBeginner✓ Learned

Stack

A pile of plates you can only touch from the top. Learn push, pop and peek — and why all three are O(1).

8 min · Interactive
3DBeginner✓ Learned

Queue

First come, first served. See how enqueue and dequeue work — and why the circular queue is so clever.

9 min · Interactive
3DBeginner✓ Learned

Linked List

A chain of nodes connected by pointers. Watch insertion, deletion and the famous "reverse a linked list" happen one arrow at a time.

12 min · Interactive
3DIntermediate✓ Learned

Binary Search Tree (BST)

A tree where smaller values go left and bigger values go right — so every search throws away half of the tree. Insert, search, delete and traverse it in 3D.

14 min · Interactive
3DIntermediate✓ Learned

Binary Heap & Priority Queue

A tree that always keeps the smallest value on top — stored secretly inside a plain array. See both views change together in 3D.

12 min · Interactive
3DIntermediate✓ Learned

Hash Table

The data structure behind dictionaries and maps — find anything in O(1) on average. See hashing, collisions, chaining and linear probing in 3D.

13 min · Interactive
3DIntermediate✓ Learned

Trie (Prefix Tree)

A tree that stores words letter by letter, so words with the same beginning share a path. The secret behind autocomplete.

11 min · Interactive
3DAdvanced✓ Learned

AVL Tree

A binary search tree that rebalances itself with rotations, so it never becomes a slow straight line. Watch LL, RR, LR and RL rotations in 3D.

15 min · Interactive
3DAdvanced✓ Learned

Red-Black Tree

A self-balancing BST that colours every node red or black. Insertions fix themselves with a recolouring or at most two rotations.

14 min · Interactive
3DAdvanced✓ Learned

Segment Tree

Answer "what is the sum of a[l..r]?" in O(log n) — even while the array keeps changing. Build, query and update it in 3D.

14 min · Interactive
3DAdvanced✓ Learned

Fenwick Tree (Binary Indexed Tree)

Prefix sums and single-element updates, both in O(log n), using one array and the lowest set bit of each index.

12 min · Interactive
3DIntermediate✓ Learned

Disjoint Set (Union–Find)

Keep track of which items belong to the same group — and merge groups — in almost constant time. See union by rank and path compression in 3D.

12 min · Interactive
3DBeginner✓ Learned

Graph Representation

How a computer actually stores a graph. Compare the adjacency matrix and the adjacency list side by side as you add edges.

10 min · Interactive
3DIntermediate✓ Learned

Monotonic Stack (Next Greater Element)

Keep a stack in sorted order and answer "what is the next bigger value?" for every element in a single pass.

11 min · Interactive
3DIntermediate✓ Learned

Bloom Filter

A tiny bit array that says "definitely not here" or "probably here". It saves huge amounts of memory at the price of rare false positives.

12 min · Interactive

Design & Analysis of Algorithms

3DBeginner✓ Learned

Binary Search

Find any item in a sorted list of a million in about 20 steps by halving the search space every time. Watch it in 3D.

9 min · Interactive
3DBeginner✓ Learned

Bubble Sort

The simplest sorting algorithm — compare neighbours, swap if they're out of order, repeat. Watch the big values bubble to the end in 3D.

8 min · Interactive
3DBeginner✓ Learned

Selection Sort

Find the smallest value, swap it to the front, repeat. Always O(n²) comparisons, but never more than n − 1 swaps.

8 min · Interactive
3DBeginner✓ Learned

Insertion Sort

Sort the way you sort playing cards — pick up one card at a time and slide it into place. Fast on almost-sorted data.

8 min · Interactive
3DIntermediate✓ Learned

Merge Sort

Divide and conquer in action. In 3D, every level of recursion literally steps towards you — then the pieces merge back in sorted order.

12 min · Interactive
3DIntermediate✓ Learned

Quick Sort

Pick a pivot, split the array into "smaller" and "bigger", and the pivot lands in its final spot. See the partition happen in 3D.

13 min · Interactive
3DIntermediate✓ Learned

Heap Sort

Build a max-heap, then repeatedly move the biggest element to the end. Guaranteed O(n log n) with no extra memory — see the tree and the array change together.

11 min · Interactive
3DIntermediate✓ Learned

Counting Sort & Radix Sort

Sorting without comparing. Counting sort uses values as positions, and radix sort repeats it digit by digit, beating the O(n log n) limit.

12 min · Interactive
3DIntermediate✓ Learned

Graph Traversal — BFS & DFS

Two ways to explore every node of a graph. BFS spreads out like ripples using a queue; DFS dives deep like a maze explorer using a stack. Compare them on a real 3D graph.

14 min · Interactive
3DIntermediate✓ Learned

Topological Sort

Put tasks in an order that respects every "do this first" arrow. Kahn's algorithm and DFS both do it in O(V + E), and both catch cycles.

11 min · Interactive
3DAdvanced✓ Learned

Dijkstra's Shortest Path

How maps find the cheapest route. Watch distances shrink as Dijkstra's algorithm relaxes edges on a 3D weighted graph.

15 min · Interactive
3DAdvanced✓ Learned

Bellman–Ford Algorithm

Shortest paths even when some edges are negative. Relax every edge V − 1 times, then one extra pass catches negative cycles.

12 min · Interactive
3DIntermediate✓ Learned

Minimum Spanning Tree — Prim & Kruskal

Connect every node with the cheapest total edge weight. Compare Kruskal's "cheapest edge first" with Prim's "grow one tree" on a 3D graph.

14 min · Interactive
3DIntermediate✓ Learned

Floyd–Warshall (All-Pairs Shortest Paths)

Find the shortest distance between every pair of nodes with three simple loops. Watch the distance matrix improve as each node becomes an allowed stop-over.

12 min · Interactive
3DIntermediate✓ Learned

0/1 Knapsack (Dynamic Programming)

Choose items to maximise value without exceeding a weight limit. Watch the DP table fill up as a 3D bar chart and trace back the chosen items.

14 min · Interactive
3DIntermediate✓ Learned

Longest Common Subsequence (LCS)

Find the longest sequence of letters that appears, in order, in two strings. A classic dynamic programming problem behind diff tools and DNA comparison.

12 min · Interactive
3DAdvanced✓ Learned

Matrix Chain Multiplication

(AB)C and A(BC) give the same matrix but can cost very different amounts of work. Dynamic programming finds the cheapest brackets.

13 min · Interactive
3DIntermediate✓ Learned

Huffman Coding

Compress text by giving frequent characters short codes. Watch the greedy algorithm merge the two rarest groups again and again into a 3D tree.

12 min · Interactive
3DAdvanced✓ Learned

KMP String Matching

Find a pattern in a text without ever reading a character twice. The LPS table tells the pattern how far it can jump after a mismatch.

13 min · Interactive
3DIntermediate✓ Learned

N-Queens (Backtracking)

Place N queens on a chessboard so none attack each other. Watch backtracking try, fail and undo moves on a 3D board.

12 min · Interactive
3DIntermediate✓ Learned

Edit Distance (Levenshtein)

How many inserts, deletes and replacements turn one word into another? Fill a dynamic-programming table to find the minimum.

13 min · Interactive
3DBeginner✓ Learned

Activity Selection (Greedy)

Attend as many non-overlapping events as possible. Sort by finish time and always take the earliest finisher that fits.

10 min · Interactive

AI & Machine Learning

3DBeginner✓ Learned

Gradient Descent

The algorithm that trains almost every AI model — walking downhill on a loss surface. Roll a ball across real 3D surfaces and tune the learning rate.

12 min · Interactive
3DBeginner✓ Learned

Linear Regression

The "hello world" of machine learning — fit the best straight line through data. See every error as a 3D square that shrinks as the model learns.

12 min · Interactive
3DIntermediate✓ Learned

Logistic Regression

Predict yes/no probabilities with an S-shaped curve. Watch a 3D probability sheet bend to separate two classes as it trains.

13 min · Interactive
3DIntermediate✓ Learned

Support Vector Machine (SVM)

Of all the lines that separate two classes, pick the one with the widest street between them. A kernel lifts data into 3D when no straight line works.

12 min · Interactive
3DBeginner✓ Learned

Neural Network (Forward Pass)

See exactly how a neural network turns inputs into a prediction — neuron by neuron, weight by weight — in a 3D network you can rotate.

15 min · Interactive
3DIntermediate✓ Learned

Convolutional Neural Network (CNN)

How computers see images. Watch a 3×3 filter slide over a picture, build a feature map, then ReLU, max-pooling and flattening — all in 3D.

14 min · Interactive
3DAdvanced✓ Learned

Transformers & Self-Attention

How ChatGPT-style models connect words. Every word asks a question (query), every word offers an answer (key), and softmax decides who to listen to.

14 min · Interactive
3DBeginner✓ Learned

K-Nearest Neighbours (KNN)

Classify a new point by asking its k closest neighbours to vote. See the distances, the neighbourhood bubble and the vote in 3D.

10 min · Interactive
3DBeginner✓ Learned

Naive Bayes Classifier

Count how often each word appears in spam and in normal mail, then use Bayes’ theorem to score a new message. Simple, fast and surprisingly accurate.

11 min · Interactive
3DBeginner✓ Learned

Decision Tree

A flowchart of yes/no questions learned from data. Watch each split appear as a wall on the floor while the tree grows above it.

12 min · Interactive
3DBeginner✓ Learned

K-Means Clustering

Let the computer discover groups in data by itself. Watch centroids hunt for the centre of each cluster in a 3D feature space.

11 min · Interactive
3DIntermediate✓ Learned

Principal Component Analysis (PCA)

Reduce the number of features while keeping most of the information. Watch a 3D cloud get centred, rotated onto its principal axes and flattened to 2D.

12 min · Interactive
3DIntermediate✓ Learned

A* Search

The path-finding algorithm behind games and maps. See how f = g + h focuses the search on the goal — and compare it with Dijkstra and greedy search on a 3D maze.

13 min · Interactive
3DIntermediate✓ Learned

Minimax & Alpha–Beta Pruning

How a computer plays games like tic-tac-toe and chess. Watch values flow up a 3D game tree — and see alpha-beta cut away branches that can't matter.

13 min · Interactive
3DIntermediate✓ Learned

Q-Learning (Reinforcement Learning)

An agent learns which action is best in every situation from rewards alone. Q-values spread backwards from the goal until a good path appears.

13 min · Interactive
3DBeginner✓ Learned

Perceptron

The simplest neural network: a single neuron that learns a straight line to separate two classes by fixing its mistakes one at a time.

12 min · Interactive
3DIntermediate✓ Learned

Genetic Algorithm

Evolve a solution like nature does: keep the fittest, mix their genes, add random mutations and repeat until the target appears.

12 min · Interactive

Operating Systems

3DBeginner✓ Learned

CPU Scheduling (FCFS, SJF, SRTF, Round Robin, Priority)

Which process gets the CPU next? Build Gantt charts in 3D for five classic scheduling algorithms and compare their waiting times.

14 min · Interactive
3DIntermediate✓ Learned

Process Synchronization (Semaphores & Mutex)

What goes wrong when processes share data — and how semaphores and locks fix it. See the producer–consumer problem and a race condition in 3D.

14 min · Interactive
3DIntermediate✓ Learned

Deadlock & Banker's Algorithm

How an operating system avoids deadlock by only granting requests that keep the system safe. Run the safety algorithm on 3D bar charts of Allocation, Need and Work.

14 min · Interactive
3DBeginner✓ Learned

Memory Allocation (First, Next, Best & Worst Fit)

Free memory is split into holes of different sizes. Which hole should each new process get? Four strategies, four different results.

10 min · Interactive
3DIntermediate✓ Learned

Paging & Address Translation (TLB)

Split a virtual address into page number and offset, look the page up in the TLB or page table, and build the physical address. Then compute the effective access time.

12 min · Interactive
3DIntermediate✓ Learned

Paging & Page Replacement (FIFO, LRU, Optimal)

When RAM is full, which page should be thrown out? Watch FIFO, LRU and Optimal handle the same page references — and see Belady's anomaly.

13 min · Interactive
3DIntermediate✓ Learned

Disk Scheduling (FCFS, SSTF, SCAN, C-SCAN, LOOK, C-LOOK)

Choose the order of disk requests so the read/write head travels as little as possible. Six algorithms race on the same queue.

12 min · Interactive
3DIntermediate✓ Learned

Dining Philosophers Problem

Five philosophers, five forks, and a table where everyone grabs a fork at once. See deadlock happen and two classic ways to prevent it.

12 min · Interactive
3DBeginner✓ Learned

File Allocation Methods

How does the OS remember which disk blocks belong to a file? Compare contiguous, linked and indexed allocation on the same scenario.

12 min · Interactive

Database Management Systems

3DBeginner✓ Learned

SQL Joins (INNER, LEFT, RIGHT, FULL)

Combine rows from two tables. Watch each join type match rows, fill in NULLs, and build its result table in 3D.

11 min · Interactive
3DIntermediate✓ Learned

Functional Dependencies, Closure & Candidate Keys

A → B means A decides B. Grow the closure X⁺ one dependency at a time to find out whether X is a key, then find every candidate key.

12 min · Interactive
3DIntermediate✓ Learned

Normalization (1NF, 2NF, 3NF)

Remove redundancy from tables step by step. Watch one messy table split into clean 1NF, 2NF and 3NF tables in 3D — and see which duplicate values disappear.

14 min · Interactive
3DIntermediate✓ Learned

Transactions & ACID

Why a bank transfer never loses money even when the server crashes. See atomicity, consistency, isolation and durability in four 3D scenarios.

13 min · Interactive
3DIntermediate✓ Learned

Conflict Serializability

Is an interleaved schedule as safe as running the transactions one by one? Draw an edge for every conflict and look for a cycle.

11 min · Interactive
3DAdvanced✓ Learned

B+ Tree Indexing

The data structure behind database indexes. Insert keys, watch nodes split and the tree grow upward, and run range queries along the linked leaves.

14 min · Interactive
3DBeginner✓ Learned

Relational Algebra (Select and Project)

The maths behind SQL. Filter rows with selection σ, pick columns with projection π, and see duplicates disappear.

10 min · Interactive
3DIntermediate✓ Learned

Deadlock Detection (Wait-For Graph)

Transactions that wait for each other forever form a cycle. Watch a depth-first search find it and the database abort a victim.

11 min · Interactive

Computer Networks

3DBeginner✓ Learned

OSI & TCP/IP Layers

Follow one web request down the 7 layers of the sender, across the wire, and up the receiver — watching each layer add and remove its header in 3D.

12 min · Interactive
3DIntermediate✓ Learned

CRC (Cyclic Redundancy Check)

A few check bits that let the receiver spot damaged frames. CRC is long division with XOR, and the remainder becomes the check bits.

11 min · Interactive
3DIntermediate✓ Learned

Hamming Code

Parity bits at positions 1, 2, 4, 8… each watch a different group. When one bit flips, the failed checks spell out its position in binary.

11 min · Interactive
3DIntermediate✓ Learned

Sliding Window Protocol

Send many frames before waiting for acknowledgements. Compare Stop-and-Wait, Go-Back-N and Selective Repeat when a frame gets lost — in 3D.

13 min · Interactive
3DIntermediate✓ Learned

Subnetting & CIDR (IPv4)

Split an IP address into network bits and host bits. Find the mask, network, broadcast and usable hosts, then carve one network into subnets.

13 min · Interactive
3DIntermediate✓ Learned

Routing Algorithms (Distance Vector)

How routers learn the best path to every network without seeing the whole map. Watch distance-vector tables update round by round in 3D.

13 min · Interactive
3DBeginner✓ Learned

TCP 3-Way Handshake

How two computers agree to start a reliable conversation — SYN, SYN-ACK, ACK — plus data acknowledgements and the 4-way close, as a 3D sequence diagram.

11 min · Interactive
3DIntermediate✓ Learned

TCP Congestion Control

TCP probes for the right speed. The window doubles in slow start, grows by one per round in congestion avoidance, and backs off after a loss.

12 min · Interactive
3DIntermediate✓ Learned

Token Bucket (Traffic Shaping)

Limit how fast a sender may transmit while still allowing short bursts. Tokens drip into a bucket and each packet spends one.

11 min · Interactive
3DBeginner✓ Learned

DNS Resolution

Follow a domain name from your browser through the resolver, root, TLD and authoritative servers until the IP address comes back.

10 min · Interactive

Theory of Computation

Computer Organization & Architecture