Computer Science Topics

Computer Science curriculum with free resources for a self-taught developer.

All Topics

Browse through all topics in the Computer Science roadmap

Readme
Pick a Language
C++
C
Java
Python
Go
C#
Rust
Data Structures
Array
Linked Lists
Stack
Queue
Hash Table
Tree
Binary Tree
Binary Search Tree
Full Binary Tree
Complete Binary Tree
Balanced Tree
Unbalanced Tree
Graph
Directed Graph
Undirected Graph
Spanning Tree
Graph Representation
Heap
Asymptotic Notation
Big O Notation
Big Theta Notation
Big Omega Notation
Common Runtimes
Constant
Logarithmic
Linear
Polynomial
Exponential
Factorial
Common Algorithms
Sorting Algorithms
Bubble Sort
Selection Sort
Insertion Sort
Heap Sort
Quick Sort
Merge Sort
Tree Algorithms
Pre-Order Traversal
In-Order Traversal
Post-Order Traversal
Breadth First Search
Depth First Search
Graph Algorithms
Breadth First Search
Depth First Search
Bellman Ford’s Algorithm
Dijkstra’s Algorithm
A* Algorithm
Greedy Algorithms
Dijkstra’s Algorithm
Huffman Coding
Kruskal’s algorithm
Ford Fulkerson Algorithm
Prim’s Algorithm
Back Tracking Algorithm
Finding Hamiltonian Paths
Solving n Queen Problem
Maze Solving Problem
Knight’s Tour Problem
Rabin-Karp’s algorithm
Recursion
Tail Recursion
Non-tail recursion
Search Algorithms
Binary Search
Linear Search
Cache Algorithms
LRU Cache
LFU Cache
MFU Cache
String Search and Manipulations
Suffix Arrays
Search Pattern in Text
Substring Search
Brute Force Search
Knuth Morris Pratt
Boyer Moore Algorithm
Rabin-Karp’s algorithm
Bitwise Operators
Floating Point Numbers
Endianess
Big Endian
Little Endian
Character Encodings
Unicode
ASCII
UML
Class Diagrams
Usecase Diagrams
Activity Diagrams
State Machine Diagrams
Sequence Diagrams
Design Patterns
Design Patterns
Architectural Patterns
Dependency Injection
Null Object Pattern
Type Object Pattern
Basic Math Skills
Probability
Combinatorics
Complexity Classes
P
NP
Co-NP
NP-Hard
NP Complete
Travelling Salesman Problem
Knapsack Problem
Longest Path Problem
P = NP
Tries
Balanced Search Trees
AVL Trees
Red/Black Trees
2-3 Search Trees
2-3-4 Search Trees
N-ary (K-ary, M-ary) Trees
B-Trees
System Design
Horizontal vs Vertical Scaling
Clustering
Load Balancing
Caching
Content Delivery Network (CDN)
Proxy
CAP Theorem
Queues
Architectural Styles
REST
GraphQL
gRPC
Cloud Design Patterns
Long Polling
Short Polling
Web Sockets
Server Sent Events
Databases
SQL vs NoSQL databases
Normalization vs Denormalization
Entity Relationship Model
DDL (Data Definition Language)
DML (Data Manipulation Language)
DQL (Data Query Language)
DCL (Data Control Language):
Locking
ACID
BASE Model
CAP Theorem
PACELC Theorem
Database Indexes
Views
Transactions
Stored Procedures
Database Federation
Replication
Sharding
Networking
Sockets
TLS / HTTPS
HTTP?
DNS
OSI and TCP/IP Models
OSI and TCP/IP Models
Security
Public Key Cryptography
Hashing/Ecncryption/Encoding
Hashing Algorithms
OWASP
How Computers Work?
How CPU Executes Programs?
How Computers Calculate?
Registers and RAMs
Instructions and Programs
CPU Cache
Processes and Threads
Process Forking
Memory Management
Lock / Mutex / Semaphore
Concurrency in Multiple Cores
Scheduling Algorithms
CPU Interrupts
Processes and Threads
K-D Trees
Skip Lists
Total of 196 topics
Loved by 100K+ Developers

Start Your Learning
Journey Today

Join thousands of developers who are leveling up their skills with structured roadmaps and expert guidance

No credit card required
Always free
Track your progress