For Computer Systems, Computer Organization and Architecture courses in CS, EE, and ECE departments.
Few students studying computer science or computer engineering will ever have the opportunity to build a computer system. On the other hand, most students will be required to use and program computers on a near daily basis. Computer Systems: A Programmer’s Perspective introduces the important and enduring concepts that underlie computer systems by showing how these ideas affect the correctness, performance, and utility of application programs. The text's hands-on approach (including a comprehensive set of labs) helps students understand the “under-the-hood” operation of a modern computer system and prepares them for future courses in systems topics such as compilers, computer architecture, operating systems, and networking.
Visit the CS:APP web page http://csapp.cs.cmu.edu for more information and access to all student and instructor resources.
Also check out the new CS:APP blog for interesting stories, updates on the book contents and extra material, and the authors' experiences in using this book in courses at CMU: http://csappbook.blogspot.com.