Learn Computer Science Interactively
1,017 topics across 20 areas, from beginner programming to distributed systems and quantum computing. Every topic has a plain-English explanation, real-world use cases, common pitfalls and FAQs, plus visualizers, quizzes and timed tests.
Start here
- Variables — Named storage locations holding values that can change during execution.
- Data Types — Classifications such as integer, float, boolean and string that define valid operations.
- Operators — Symbols that perform arithmetic, comparison or logical computation on operands.
Who it is for
- Beginners who want to understand how computers work, one idea at a time.
- Students who need a clear companion for a computer science course.
- Working developers who want a quick, correct explanation of an unfamiliar topic.
See the suggested learning paths
Explore by area
💻 Programming Fundamentals
Variables to functional paradigms.
🧱 Data Structures
Organizing data for efficient access.
⚙️ Algorithms
Sorting, graphs, DP and beyond.
🔌 Computer Architecture & Logic
From transistors to pipelines.
🖥️ Operating Systems
Processes, memory, files, scheduling.
🌐 Computer Networks
How data moves across the world.
🗄️ Databases
Storing, querying and scaling data.
🏗️ Software Engineering
Building software that lasts.
🕸️ Web Development
Frontend, backend and the browser.
🔐 Security & Cryptography
Protecting systems and secrets.
∑ Theory & Discrete Math
Logic, automata, computability.
🧬 Languages & Compilers
How code becomes behavior.
🤖 AI & Machine Learning
Learning from data.
☁️ Distributed Systems & Cloud
Scaling across many machines.
🎨 Graphics, Vision & Media
Pixels, polygons and perception.
📐 Math for Computing
Linear algebra, probability, numerics.
🔀 Concurrency & Parallelism
Doing many things at once.
📱 Mobile, Embedded & IoT
Software beyond the desktop.
🛠️ DevOps & Tooling
Shipping and operating software.
🚀 Emerging & Frontier Topics
Quantum, blockchain, HCI and more.
Interactive visualizers
- Sorting Algorithms — Bubble, selection, insertion, merge and quick sort animated.
- Linear vs Binary Search — See how halving beats scanning.
- Graph Traversal — BFS, DFS and Dijkstra on a weighted graph.
- Stack, Queue & Linked List — Push, pop, enqueue and dequeue interactively.
- Binary Search Tree — Insert keys and run traversals.
- Hash Table — Hash function, buckets and chaining collisions.
- Binary & Two's Complement — Flip bits and watch the number change.
- Logic Gates — Toggle inputs and see gate outputs and truth tables.
- Recursion Tree — Fibonacci call tree with and without memoization.
- DP Table (LCS) — Watch the longest common subsequence table fill.
- Growth Rates (Big-O) — Chart O(1) to O(n!) as n grows.