Algorithms and Data Structures
Complexity and Measured Performance
Relate asymptotic growth to the time and memory consumed by real implementations.
OPEN TEXTBOOKS
Start with a mechanism you want to understand. Every available lesson is free to read without signing up.
13 lessons available
Algorithms and Data Structures
Relate asymptotic growth to the time and memory consumed by real implementations.
Computer Architecture
Connect bit patterns and logic operations to instructions a processor can execute.
Computer Architecture
Explain how locality and caching bridge the speed differences between storage layers.
Computer Architecture
Follow an instruction through a processor and examine where overlapping execution can stall.
Computer Architecture
Trace how processors coordinate with devices and share memory across cores.
Concurrency
Find executions that break shared-state invariants and determine what must be atomic.
Discrete Mathematics, Logic, and Proof
Turn informal claims into precise statements and learn how to prove or refute them.
Operating Systems
Follow a request across the protection boundary between an application and the operating system.
Operating Systems
Understand execution state, resource sharing, and the cost of switching between tasks.
Operating Systems
Translate virtual addresses and examine the costs and protection provided by paging.
Programming Foundations
Trace a program's state and organize its behavior into functions and modules.
Programming Foundations
Trace the boundaries between source code, language tools, the runtime, and the operating system.
Programming Foundations
Follow how programs allocate, share, access, and release memory.