CSAPP-Labs is a repository that organizes and provides practical lab exercises corresponding to the famous textbook Computer Systems: A Programmer’s Perspective (CS:APP), helping students deepen their understanding of how computer systems work at the machine level. The exercises cover core topics such as data representation, assembly language, processor architecture, cache behavior, memory hierarchy, linking, and concurrency, contextualizing abstract concepts from the book in real code and experiments. Each lab is structured to include test programs, Makefiles, harnesses, and step-by-step instructions that guide students through hands-on interaction with low-level programming and system behavior. By actually building and debugging code that runs close to hardware, learners acquire intuition about performance trade-offs, bit-level manipulation, stack frame layout, and how compilers and OS features influence execution.
Features
- Machine-level programming exercises
- Assembly and linking labs
- Memory and cache experimentation
- Automated test suites
- Structured Makefile workflows
- Educational documentation and scaffolding