Roadmap · Step 1 of 8
Computer Basics roadmap
How computers, the terminal, Git and networks work, plus your first data structures. Start here if you are new. Read the series from top to bottom, and each series from its first lesson to its last.
- Level
- Beginner
- Series
- 5
- Lessons
- 92
- Cost
- Free
Loading your progress…
Start here
- Step 1
Computer Basics
How computers, the terminal, Git and networks work, plus your first data structures. Start here if you are new.
CS Foundations - 0How a Computer Runs Your Program
- 1Memory, CPU Caches and Why Array Order Matters
- 2Floating Point: Why 0.1 + 0.2 Is Not 0.3
- 3Unicode, UTF-8 and Strings That Lie
- 4Binary, Endianness and Bit Tricks
- 5Combinatorics and Probability for Interviews
- 6P, NP and Hard Problems: What to Say in an Interview
- 7String Searching: Naive, KMP, Rabin-Karp and Z
Linux & Shell - 0The Terminal, the Shell and the Linux File System
- 1Users, Permissions and Ownership
- 2Processes, Signals and Job Control
- 3Pipes, Redirection and Text Tools: grep, sed, awk, find and xargs
- 4Shell Scripting: Variables, Conditions, Loops and Functions
- 5SSH, Networking Commands and Transferring Files
- 6Packages, Services, Cron and systemd
- 7Disks, Memory, Logs and Troubleshooting a Slow Server
- 8Linux and Shell Interview Questions With Model Answers
Git & GitHub Networking for Developers - 0How the Internet Works: Layers, Packets and Addresses
- 1IP Addresses, Subnets, NAT and Routing
- 2TCP and UDP: Connections, Reliability and Congestion
- 3DNS: How Names Become Addresses
- 4HTTP/1.1, HTTP/2 and HTTP/3
- 5TLS and Certificates: How HTTPS Really Works
- 6Load Balancers, Proxies, CDNs and Firewalls
- 7WebSockets, Server-Sent Events and Real-Time Networking
- 8Debugging Network Problems and Networking Interview Questions
DSA - 1What a Program Is, and How to Run One
- 2Variables and Data Types
- 3Conditions: if / else
- 4The for Loop
- 5The while Loop
- 6Nested Loops and Patterns
- 7Functions
- 8Arrays
- 9Strings
- 10Objects, Map and Set
- 11How to Read a Problem
- 12Big-O: Counting the Steps
- 13Basic Maths for DSA
- 14Recursion Basics
- 15Basic Hashing
- 16Selection, Bubble and Insertion Sort
- 17Merge Sort
- 18Quick Sort, and When to Just Use .sort()
- 19Array Traversal Problems
- 20Prefix Sum
- 21Two Pointers
- 22Sliding Window: Fixed Size
- 23Sliding Window: Variable Size
- 24Kadane's Algorithm
- 252-D Arrays and Matrices
- 26Two Sum and “Seen Before?”
- 27Frequency Maps and Grouping
- 28Binary Search on a Sorted Array
- 29Binary Search on the Answer
- 30String Patterns
- 31Substrings and Windows
- 32Recursion Trees
- 33Subsets and Permutations
- 34Backtracking
- 35Building a Linked List
- 36Reverse and Fast/Slow Pointers
- 37Merging and Cycle Problems
- 38Stacks
- 39Queues and Deques
- 40Monotonic Stack
- 41Binary Trees and Traversals
- 42Level Order (BFS) on Trees
- 43DFS on Trees
- 44Binary Search Trees
- 45Lowest Common Ancestor and Building Trees
- 46Heaps and Top-K
- 47Greedy Algorithms
- 48Interval Problems
- 49What a Graph Is
- 50Graph Traversal: BFS and DFS
- 51Topological Sort
- 52Shortest Paths
- 53Union-Find
- 54Dynamic Programming From Recursion
- 551-D Dynamic Programming
- 562-D Dynamic Programming
- 57DP on Strings
- 58Tries and Bit Manipulation
- 59The Interview Playbook
- 60Your Revision Plan