Computer Systems: A Programmer's Perspective, 3rd Edition
©2016 |Pearson | Available
Mastering
Randal E. Bryant, Carnegie Mellon University
David R. O'Hallaron, Carnegie Mellon University
©2016 |Pearson | Available
Mastering
Introducing Pearson+ 1500+ eTexts and study tools, all in one place. Subscriptions starting at $9.99/month.
K-12 educators: This link is for individuals purchasing with credit cards or PayPal only. Contact your Savvas Learning Company Account General Manager for purchase options.
This package includes MasteringEngineering®
Computer Systems: A Programmer’s Perspective.
This book (known as CS:APP) is for computer scientists, computer engineers, and others who want to be able to write better programs by learning what is going on “under the hood” of a computer system. The aim of the text is to explain the enduring concepts underlying all computer systems, and to show the concrete ways that these ideas affect the correctness, performance, and utility of application programs. Many systems books are written from a builder’s perspective, describing how to implement the hardware or the systems software, including the operating system, compiler, and network interface.
This book is written from a programmer’s perspective, describing how application programmers can use their knowledge of a system to write better programs. Of course, learning what a system is supposed to do provides a good first step in learning how to build one, so this book also serves as a valuable introduction to those who go on to implement systems hardware and software. Most systems books also tend to focus on just one aspect of the system, for example, the hardware architecture, the operating system, the compiler, or the network. This book spans all
of these aspects, with the unifying theme of a programmer’s perspective.
Personalize Learning with MasteringEngineering
MasteringEngineering is an online homework, tutorial, and assessment system, designed to improve results through personalized learning. This innovative online program emulates the instructor’s office hour environment, engaging and guiding students through engineering concepts with self-paced individualized coaching With a wide range of activities available, students can actively learn, understand, and retain even the most difficult concepts.
Personalize Learning with MasteringEngineering®
MasteringEngineering is an online homework, tutorial, and assessment system, designed to improve results through personalized learning. This innovative online program emulates the instructor’s office hour environment, engaging and guiding students through engineering concepts with self-paced individualized coaching ith a wide range of activities available, students can actively learn, understand, and retain even the most difficult concepts.
Computer Systems: A Programmer’s Perspective uses the following features to facilitate learning:
NEW! The book now exclusively bases its presentation on x86-64
A carefully planned 12 chapter layout that covers all of the core topics of computer programming
Changes in each chapter make the text flow easier for students to understand
MasteringEngineering is an online homework, tutorial, and assessment system, designed to improve results through personalized learning. This innovative online program emulates the instructor’s office hour environment, engaging and guiding students through engineering concepts with self-paced individualized coaching ith a wide range of activities available, students can actively learn, understand, and retain even the most difficult concepts.
The book now exclusively bases its presentation on x86-64
Changes in each chapter make the text flow easier for students to understand
Part I: Program Structure and Execution
Chapter 1: A Tour of Computer Systems
Chapter 2: Representing and Manipulating Information
Chapter 3: Machine-Level Representation of Programs
Chapter 4: Processor Architecture
Chapter 5: Optimizing Program Performance
Chapter 6: The Memory Hierarchy
Part II: Running Programs on a System
Chapter 7: Linking
Chapter 8: Exceptional Control Flow
Chapter 9: Virtual Memory
Part III: Interaction and Communication Between Programs
Chapter 10: System-Level I/O
Chapter 11: Network Programming
Chapter 12: Concurrent Programming
Appendix
Error Handling
Instructor Lab Manual (Download only) for Computer Systems: A Programmer's Perspective, 3rd Edition
Bryant & O'Hallaron
©2016
Laboratory Exercises (Download only) for Computer Systems: A Programmer's Perspective, 3rd Edition
Bryant & O'Hallaron
©2016
Mastering Engineering without Pearson eText -- Instructor Access Code, 10th Edition
Pearson Education
©2010
Format | Digital Access Code | |
ISBN-13: | 9780136091882 | |
Availability |
Live
|
Instructors, request access |
PowerPoint Lecture Slides for Computer Systems: A Programmer's Perspective, 3rd Edition
Bryant & O'Hallaron
©2016
Pearson offers affordable and accessible purchase options to meet the needs of your students. Connect with us to learn more.
K12 Educators: Contact your Savvas Learning Company Account General Manager for purchase options. Instant Access ISBNs are for individuals purchasing with credit cards or PayPal.
Savvas Learning Company is a trademark of Savvas Learning Company LLC.
Bryant & O'Hallaron
©2016  | Pearson
Format | Website | |
ISBN-13: | 9780134154299 | |
Online purchase price | $69.99 | Students, buy access |
Availability |
Live
|
Bryant & O'Hallaron
©2016  | Pearson
Format | Website | |
ISBN-13: | 9780134071947 | |
Online purchase price | $69.99 | Students, buy access |
Availability |
Live
|
Bryant & O'Hallaron
©2016  | Pearson  | 1128 pp
Randal E. Bryant received his bachelor’s degree from the University of Michigan in 1973 and then attended graduate school at the Massachusetts Institute of Technology, receiving his PhD degree in computer science in 1981. He spent three years as an assistant professor at the California Institute of Technology, and has been on the faculty at Carnegie Mellon since 1984. For five of those years he served as head of the Computer Science Department, and for ten of them he served as Dean of the School of Computer Science. He is currently a university professor of computer science. He also holds a courtesy appointment with the Department of Electrical and Computer Engineering.
Professor Bryant has taught courses in computer systems at both the undergraduate and graduate level for around 40 years. Over many years of teaching computer architecture courses, he began shifting the focus from how computers are designed to how programmers can write more efficient and reliable programs if they understand the system better. Together with Professor O’Hallaron, he developed the course 15-213, Introduction to Computer Systems, at Carnegie Mellon that is the basis for this book. He has also taught courses in algorithms, programming, computer networking, distributed systems, and VLSI design.
Most of Professor Bryant’s research concerns the design of software tools to help software and hardware designers verify the correctness of their systems. These include several types of simulators, as well as formal verification tools that prove the correctness of a design using mathematical methods. He has published over 150 technical papers. His research results are used by major computer manufacturers, including Intel, IBM, Fujitsu, and Microsoft. He has won several major awards for his research. These include two inventor recognition awards and a technical achievement award from the Semiconductor Research Corporation, the Kanellakis Theory and Practice Award from the Association for Computer Machinery (ACM), and the W. R. G. Baker Award, the Emmanuel Piore Award, the Phil Kaufman Award, and the A. Richard Newton Award from the Institute of Electrical and Electronics Engineers (IEEE). He is a fellow of both the ACM and the IEEE and a member of both the US National Academy of Engineering and the American Academy of Arts and Sciences.
David R. O’Hallaron is a professor of computer science and electrical and computer engineering at Carnegie Mellon University. He received his PhD from the University of Virginia. He served as the director of Intel Labs, Pittsburgh, from 2007 to 2010.
He has taught computer systems courses at the undergraduate and graduate levels for 20 years on such topics as computer architecture, introductory computer systems, parallel processor design, and Internet services. Together with Professor Bryant, he developed the course at Carnegie Mellon that led to this book. In 2004, he was awarded the Herbert Simon Award for Teaching Excellence by the CMU School of Computer Science, an award for which the winner is chosen based on a poll of the students.
Professor O’Hallaron works in the area of computer systems, with specific interests in software systems for scientific computing, data-intensive computing, and virtualization. The best-known example of his work is the Quake project, an endeavor involving a group of computer scientists, civil engineers, and seismologists who have developed the ability to predict the motion of the ground during strong earthquakes. In 2003, Professor O’Hallaron and the other members of the Quake team won the Gordon Bell Prize, the top international prize in high-performance computing. His current work focuses on the notion of autograding, that is, programs that evaluate the quality of other programs.
We're sorry! We don't recognize your username or password. Please try again.
The work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning.
You have successfully signed out and will be required to sign back in should you need to download more resources.