We now have a YouTube Channel. 

Computer Science Topics

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

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 GoF 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

Open Source

The project is OpenSource, 6th most starred project on GitHub and is visited by hundreds of thousands of developers every month.

Roadmaps Guides Videos About YouTube

roadmap.sh by Kamran Ahmed

Community created roadmaps, articles, resources and journeys to help you choose your path and grow in your career.

© roadmap.sh · FAQs · Terms · Privacy


The leading DevOps resource for Kubernetes, cloud-native computing, and the latest in at-scale development, deployment, and management.