The Elements of Computing Systems and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $5.63 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading The Elements of Computing Systems on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

The Elements of Computing Systems: Building a Modern Computer from First Principles [Paperback]

Noam Nisan , Shimon Schocken
4.7 out of 5 stars  See all reviews (31 customer reviews)

Buy New
$27.55 & FREE Shipping. Details
Rent
$24.65
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Rented by RentU and Fulfilled by Amazon.
Want it tomorrow, May 24? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition $18.41  
Hardcover --  
Paperback $27.55  
Rent Your Textbooks
Save up to 70% when you rent your textbooks on Amazon. Keep your textbook rentals for a semester and rental return shipping is free.

Book Description

March 31, 2005 0262640686 978-0262640688

In the early days of computer science, the interactions of hardware, software, compilers, and operating system were simple enough to allow students to see an overall picture of how computers worked. With the increasing complexity of computer technology and the resulting specialization of knowledge, such clarity is often lost. Unlike other texts that cover only one aspect of the field, The Elements of Computing Systems gives students an integrated and rigorous picture of applied computer science, as its comes to play in the construction of a simple yet powerful computer system.Indeed, the best way to understand how computers work is to build one from scratch, and this textbook leads students through twelve chapters and projects that gradually build a basic hardware platform and a modern software hierarchy from the ground up. In the process, the students gain hands-on knowledge of hardware architecture, operating systems, programming languages, compilers, data structures, algorithms, and software engineering. Using this constructive approach, the book exposes a significant body of computer science knowledge and demonstrates how theoretical and applied techniques taught in other courses fit into the overall picture.Designed to support one- or two-semester courses, the book is based on an abstraction-implementation paradigm; each chapter presents a key hardware or software abstraction, a proposed implementation that makes it concrete, and an actual project. The emerging computer system can be built by following the chapters, although this is only one option, since the projects are self-contained and can be done or skipped in any order. All the computer science knowledge necessary for completing the projects is embedded in the book, the only pre-requisite being a programming experience.The book's web site provides all tools and materials necessary to build all the hardware and software systems described in the text, including two hundred test programs for the twelve projects. The projects and systems can be modified to meet various teaching needs, and all the supplied software is open-source.


Frequently Bought Together

The Elements of Computing Systems: Building a Modern Computer from First Principles + Code: The Hidden Language of Computer Hardware and Software + How Computers Work: Processor And Main Memory (Second Edition)
Price for all three: $42.99

Buy the selected items together


Editorial Reviews

Review

"A refreshingly new way of looking at computer systems as a whole by considering all aspects of a complete system in an integrated manner." Jonathan Bowen Times Higher Education Supplement

About the Author

Noam Nisan is Professor at the Institute of Computer Science and Engineering, Hebrew University of Jerusalem.

Shimon Schocken is the IDB Professor of Information Technologies and Dean of the Efi Arazi School of Computer Science, Interdisciplinary Center Herzliya.

Product Details

  • Paperback: 344 pages
  • Publisher: The MIT Press (March 31, 2005)
  • Language: English
  • ISBN-10: 0262640686
  • ISBN-13: 978-0262640688
  • Product Dimensions: 8 x 0.7 x 9 inches
  • Shipping Weight: 8 ounces (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (31 customer reviews)
  • Amazon Best Sellers Rank: #41,714 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.7 out of 5 stars
(31)
4.7 out of 5 stars
I highly recommend this book if you are interested in learning about computer science. Jonathan Yedidia  |  13 reviewers made a similar statement
The content is great, very well explained. Andre Pires  |  5 reviewers made a similar statement
Most Helpful Customer Reviews
108 of 110 people found the following review helpful
5.0 out of 5 stars Fantastic book--Ideal for self-study November 15, 2005
Format:Hardcover
I highly recommend this book if you are interested in learning about computer science. The book is organized around the idea of building a computer from the fundamental logic gates up--starting with the hardware (combinational logic gates, arithmetic logic units, sequential logic gates, the CPU and memory) and then through the software hierarchy (starting with the machine language, and working up through the assembler, a virtual machine, a compiler for a high-level language, and an operating system). As a "by-product," one learns, by very relevant examples, many fundamental concepts of computer science.

You can just read the book, but the best idea is to follow the authors' advice and do the projects where you implement every necessary piece of the computer system yourself. The projects are all very well organized. All the software necessary to emulate any part of the computer is available for free download from the authors' web-site. It all works beautifully. If you want to skip any of the projects, you can, because the software is organized in such a way that it will use built-in modules instead of the ones you built if necessary.

The authors seem to have extensively tested the whole approach through the courses they have taught using this material. I also noticed that Harvard's Computer Science 101 course is being taught based on this book. I have been using the book for self-study with absolutely no problems--in fact I have never had such a great experience with a self-study course. All you need is a Windows or Linux (edit: Mac OS X works fine too) computer and access to the internet, and you can give yourself a wonderful education in computer science.

In terms of prerequisites, you only really need to have some experience with programming (e.g. with C, or ideally with Java or Python). I think that the book should work well for students or hobbyists who don't have any more experience than that, but it is also great for much more experienced students, as a kind of integrative summary of the field. I also think the book is perfect for graduate students or researchers from other fields who want to learn how digital hardware and software systems are actually engineered.

Finally, I just want to compliment the authors on the extraordinary care that they have taken with the whole project. The computer design that you build up is wonderfully elegant--at every stage the design is just as simple as it can be while being sufficient. Every piece of emulation software works as advertised. Even the extra powerpoint or .pdf tutorials are nicely done. This is really quality work, and using it is just a real pleasure. Finally, the source code for all the software provided by the authors is available, so if you wanted to extend the provided emulators, you could do that.

In summary, I give this book my unqualified highest recommendation.
Comment | 
Was this review helpful to you?
34 of 35 people found the following review helpful
5.0 out of 5 stars Without any alternative May 27, 2009
Format:Paperback|Amazon Verified Purchase
I have used this book in my computer organization class (Istanbul Bilgi University, Computer Science dept.) and I must admit that it brought a very fresh perspective to second year computer science students. For the first time they were able to see the process of designing a computer from the ground up.

The book is very suitable for self-study or classroom use: it has an excellent website, all the required HDL simulator, assembler, CPU and VM emulator and compiler are freely available and easy to run on any platform (they are all coded in Java).

Of course there are simplifications such as the lack of interrupts and multhithreading but this book prepares the students very well for 3rd and 4th year courses. Every chapter has very well and clearly defined goals and projects that are %100 self-contained. That means even if you skip a chapter you can work out the next project without any loss in implementation.

If you or your students want to have a grasp what it means to build a computer starting from logic gates, hardware definition languages, up to the ALU, RAM, CPU, assembler, virtual machine and compilation of an object oriented high level language, then this book is the best choice. It is one of the most hands-on book I've ever seen in this subject matter and at that intermediate level.
Comment | 
Was this review helpful to you?
30 of 32 people found the following review helpful
Format:Paperback
I highly recommend this project-based book to anyone with a passion for programming and the curiosity to dig below its high-level incarnations. This book will show you how to build a computing system from the ground up. In the process, you'll learn about combinatorial & sequential logic, ALU & memory chips, CPU & von Neumann architecture, machine & assembly language, assemblers, virtual machines, parsing and code generation. The hardware part is built using a freely provided Hardware Simulator and the software part can be tackled in any programming language(s) you choose. You can get started right now by going to the book's website, [...], which has some sample chapters and all the tools (like the Hardware Simulator) you'll need to complete these wonderful projects. Each project comes with extensive test cases, giving you immediate feedback on your progress.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Great bool
Learn how to build a simple computer from his bones to the top. Sometimes frustrating, but very satisfying when you succeed come to the finished product.
Published 23 days ago by Or Asnin
5.0 out of 5 stars Loving doing the problem sets
Hours of endless joy :-) If you've been in the field for a few years, some of this stuff might not be anything new, but that doesn't make it any less fun to work through.
Published 2 months ago by Daniel Santa Cruz
5.0 out of 5 stars exactly as it lists
A little out of date, but still a good starting place for the electronically curious. not all the links worked, but i found the software via google.
Published 2 months ago by James
5.0 out of 5 stars More than just a book about how computers work
I really enjoyed this book. Though it is well written and thorough, saying that doesn't quite do it justice. Read more
Published 3 months ago by Matthew B
4.0 out of 5 stars Excellent Heuristic Overview of Computing
The text is written well, simple and not boring. The idea of building a computer from nand gates to a running an application on an OS is an epic challenge. Read more
Published 3 months ago by Roger W. Sheets
5.0 out of 5 stars awesome
Awesome book, describes how the rubber meets the road so to speak (or silicon meets code?).
Great to see what really goes on under the hood, how code maps to hardware.
Published 3 months ago by Todd Akita
4.0 out of 5 stars Quick delivery
The book takes you in an amazing journey to a world that very few people can see now days, the inner world of computers.
Published 4 months ago by Oda
4.0 out of 5 stars Looks good
I think I will have to give up my day job to engage in this project. I got through the first chapter. Read more
Published 5 months ago by Halifaxx
5.0 out of 5 stars Wonderful
Excellent. A step-by-step explanation for building a computer, suitable both for non technical people and skilled ones. From NAD gate to operating system.
Published 5 months ago by Murzi Mauro
2.0 out of 5 stars Stretches itself too thin
This book tries to do too much, many details are left out and the reader is left with only a cursory understanding of the material. Read more
Published 6 months ago by Billsdad
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Forums

Have something you'd like to share about this product?
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Search Customer Discussions
Search all Amazon discussions




Look for Similar Items by Category