Principles of Computer Systems Design
This lecture introduces foundational design principles of computer systems such as modularity, abstraction, layering, virtualization, hierarchy, concurrency, caching, indexing, replication, and logging to build robust systems.