Goodreads helps you keep track of books you want to read.
Start by marking “The Elements of Computing Systems: Building a Modern Computer from First Principles” as Want to Read:
The Elements of Computing Systems: Building a Modern Computer from First Principles
Enlarge cover
Rate this book
Clear rating
Open Preview

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

4.46  ·  Rating Details  ·  313 Ratings  ·  22 Reviews
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 o ...more
Kindle Edition, 344 pages
Published (first published March 31st 2005)
More Details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about The Elements of Computing Systems, please sign up.

Be the first to ask a question about The Elements of Computing Systems

This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

(showing 1-30 of 1,504)
filter  |  sort: default (?)  |  Rating Details
Eric
Apr 09, 2012 Eric added it
A good experience overall. This isn't a book you read, but one that you do. Worth looking into especially if you teach computing, or if you feel you need some refreshing as a practitioner. Basically, you build a simple computer practically from scratch, going from Nand to Tetris so to speak.

The most important thing to know about the book is how approachable it is, in other words, that you can do it!. You can start working on this with no background knowledge beyond programming (use whatever your
...more
Robin Andersson
Oct 11, 2013 Robin Andersson rated it it was amazing  ·  review of another edition
Reading this book as a self-taught programmer gave me a good introduction to computer engineering. I am well aware of that the computer architecture in the book is really simplified, but it was perfect to give a good understanding of how the different layers of abstraction actually work.
Dang Pham
Jul 03, 2013 Dang Pham rated it it was amazing  ·  review of another edition
Excellent book . It talks about the computational structure from the ground up with elegance. The concepts this book presents make things we don't usually appreciate, like the SIM card, seem like engineering wonders.
Pham Manh hiep
Jun 19, 2015 Pham Manh hiep rated it really liked it  ·  review of another edition
Only finished the hardware part but must admit that the book built the foundation for me to understand how the actual internal computer works. The book starts from guiding to build the smallest unit of a computer, which is a gate logic, to RAM and CPU. This definitely makes further studying about OS easier. The software part would need knowledge about some high-level languages. If your purpose of studying is to know how things work rather than actually build a OS, then I recommend read another b ...more
Roy Klein
Jun 22, 2012 Roy Klein rated it it was amazing  ·  review of another edition
Shelves: favorites
In this book you build a virtual computer, starting from a single component (NAND gate), and ending with an OS written in a custom high level language you implement.

This construction process is separated to layers where each chapter is dedicated to a single layer, and almost everything you need in order to implement it yourself (more about the almost later).

I've always had an interest in how the lowest levels of the computer works, and have tried reading more than a few books about the subject,
...more
Eddie
Jun 11, 2016 Eddie rated it really liked it  ·  review of another edition
Shelves:
Really good book. I wish I had found it earlier into my second career. You can't just read it; you have to do the work in each chapter to build up the machine. It's an accessible guide to building a computer from the bottom up.
But it could have been great. The simulators that accompany the book are certainly good enough to get through the hardware chapters. Even if they weren't buggy, the software simulators aren't enough to complete the second half of the book. You need experience with another
...more
Jeremy Carman
Aug 12, 2014 Jeremy Carman rated it it was amazing
Shelves: computer-science
This was a book for my Senior Seminar. It is a project based book and you go from designing gates in chapter 1 all the way to writing a simple OS at the end.

It did a great job putting all the pieces you learn throughout your degree into a big picture context.
Fred
May 04, 2014 Fred rated it it was amazing  ·  review of another edition
Shelves:
Unfortunately, many of these basics where dropped from most CS curricula they year before I enrolled, ~1987. This missing knowledge has been a handicap for me every since. Thank you Noam Nisan and the "http://www.nand2tetris.org" web site.
Pouya Kary
Mar 13, 2016 Pouya Kary rated it it was amazing  ·  review of another edition
great great book... so much work has been done to make it happen...
Flynn
Jan 18, 2014 Flynn rated it it was amazing  ·  review of another edition
I never finished this, but I thought it was amazing. You get to build an ALU and CPU out of the most basic logic gates, learn about virtual machines and write interpreters/compilers for a high-level language -> virtual machine language (stacks/push/pop) -> assembly -> machine code.

I felt like a total bad-ass after every completed exercise, and learned a lot about how computers work in the process.
Neal Aggarwal
Nov 05, 2013 Neal Aggarwal rated it it was amazing  ·  review of another edition
I use this book to teach a gestalt appreciation of computing. Following this text my students learn to build a computer from first principles. This is not the easiest of programs to follow but those that stick with it find that they overcome a series of hurdles in their thinking and eventually end up 'masters of the machine.' I cannot recommend this book enough - but it's not for the faint-hearted.
Dave
Jan 03, 2015 Dave rated it really liked it  ·  review of another edition
Shelves: programming
Excellent book! I learned a lot especially down at the hardware level. As I got further along in the book (closer to "normal" software development) I got less value, but still enjoyed the book. I did not however implement all of the last chapter (#12 Operating System / framework). Felt like stuff I'd done before with no real mystery and I don't feel like I would've gotten much out of it.
Luke
May 30, 2014 Luke rated it really liked it  ·  review of another edition
Not only an excellent textbook with many fun projects, TECS is great survey reading for computer scientists for whom everything under C is a black box. The authors also take care to describe in detail some of the great obscure, efficient, yet elegantly pragmatic algorithms that underlie the backbone of modern computing.
Nathan
Dec 15, 2013 Nathan is currently reading it  ·  review of another edition
Shelves: programming
Enjoying it, shows how to build a computer from the ground up ... NAND gates up to UI apps. Loving it so far, but haven't had time to do the exercises.
Stephen
Sep 08, 2014 Stephen rated it it was amazing  ·  review of another edition
If you want to get a better idea what is happening under the hood of your computer, get this book. This is one of the best investments I have made.
Michael
Jan 28, 2008 Michael rated it it was amazing  ·  review of another edition
Shelves: code, nonfiction
I liked this a lot. You implement a computer in software, building an adder to implementing the CPU, to writing a compiler, and so on. Lots of fun.
Waqar Saleem
Jan 13, 2016 Waqar Saleem rated it really liked it  ·  review of another edition
A great book for a great course. Thoroughly enjoyed teaching the course though it was probably too advanced for 2nd semester students.
Reece
Jul 25, 2013 Reece rated it it was amazing  ·  review of another edition
Read as a hobbyist inquisition. Learned more than in any single semester of schooling.
Kyla Squires
Anybody with any interest in computer science should read this book.
Adamas
Nov 29, 2011 Adamas rated it really liked it  ·  review of another edition
i think they could have done a better job on explaining the virtual machine.
Nick Black
god bless that mit press!
Damian
Damian rated it really liked it
Jun 29, 2016
Elie Vogel
Elie Vogel marked it as to-read
Jun 27, 2016
Isaac
Isaac marked it as to-read
Jun 27, 2016
Andrew Harrison Lewis
Andrew Harrison Lewis rated it really liked it
Jun 23, 2016
Kay Aje
Kay Aje marked it as to-read
Jun 21, 2016
James Mishra
James Mishra marked it as to-read
Jun 19, 2016
Anton Petkov
Anton Petkov marked it as to-read
Jun 19, 2016
Passager
Passager marked it as to-read
Jun 19, 2016
« previous 1 3 4 5 6 7 8 9 50 51 next »
There are no discussion topics on this book yet. Be the first to start one »
  • Computer Systems: A Programmer's Perspective
  • Let Over Lambda
  • A Discipline of Programming
  • The Seasoned Schemer
  • Purely Functional Data Structures
  • Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP
  • Concepts, Techniques, and Models of Computer Programming
  • Compilers: Principles, Techniques, and Tools
  • On Lisp: Advanced Techniques for Common Lisp
  • Types and Programming Languages
  • LISP in Small Pieces
  • Land of LISP: Learn to Program in LISP, One Game at a Time!
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • Introduction to the Theory of Computation
  • How to Design Programs: An Introduction to Programming and Computing
  • Advanced Programming in the UNIX Environment
  • Programming Pearls
  • Hacker's Delight

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

Share This Book