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

The Elements of Computing Systems Building a Modern Computer from First Principles 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 Wi

  • Title: The Elements of Computing Systems: Building a Modern Computer from First Principles
  • Author: Noam Nisan Shimon Schocken
  • ISBN: 9780262640688
  • Page: 174
  • Format: Paperback
  • 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 oIn 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.

    • Best Read [Noam Nisan Shimon Schocken] ✓ The Elements of Computing Systems: Building a Modern Computer from First Principles || [Philosophy Book] PDF ↠
      174 Noam Nisan Shimon Schocken
    • thumbnail Title: Best Read [Noam Nisan Shimon Schocken] ✓ The Elements of Computing Systems: Building a Modern Computer from First Principles || [Philosophy Book] PDF ↠
      Posted by:Noam Nisan Shimon Schocken
      Published :2020-01-24T00:02:20+00:00

    About " Noam Nisan Shimon Schocken "

  • Noam Nisan Shimon Schocken

    Noam Nisan Shimon Schocken Is a well-known author, some of his books are a fascination for readers like in the The Elements of Computing Systems: Building a Modern Computer from First Principles book, this is one of the most wanted Noam Nisan Shimon Schocken author readers around the world.

  • 601 Comments

  • 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 [...]


  • Note: I'm evaluating this more as a course than as a book.The big idea behind this course is, "CS students often miss the forest for the trees. We want to zoom out and show them the forest." I really really like this idea, and I think the authors did a fantastic job showing us the forest. a) It's useful to see the forest. b) It's useful for an app developer who doesn't want to spend 4 years in a CS program to get a full overview of how computers work in a more reasonable length of time.Somehow, [...]


  • 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, [...]


  • 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 [...]


  • One of the best books out there on computer architecture, and it provides everything most Computer Scientists will need. A great place to start your exploration of the nuts and bolts of how computers operate.


  • 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.


  • 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.


  • 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.


  • 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.



  • In conjunction with Nand2Tetris courses at Coursera (part I and part II), this book belongs to the ones having the biggest positive influence on my life. It's hard to work through all the problems, took me months, but at the end of it, you feel it's worth so much. I recommended it people interested in technology, who don't have a degree in computer science. Fills a lot of the gaps in your understanding of computer systems.


  • Great approach to teaching computer architecture from the ground up. Starts with NAND gates, all the way through processor design, language design, OS, and Compilers. Very minimalist but touches all the bases. Only problem is that this is a stack based machine and not a load-store, which would be much more relevant. But hey I can't complain this is still incredible.


  • This book is just wonderful. It guides you through the whole process of designing a computer until you can write assembler programs; step by step. Not too hard, not too fast - no, just right. This was an excellent read and I've learned so incredibly much.


  • Read this as a text book 4-5 times as a part of my Masters in ComputerScience. Its a basic book and great as a refresher. It helps me think creatively .


  • I've been teaching this curriculum for many years using this book. Love it's approach, it never becomes outdated, and my students are engaged. Curriculum is free, and the book is incredibly cheap. I teach to HS students and we only get through the first half of the book which is available for free as PDF on the site. I would LOVE for someone to update the software by building a web app out of all simulators and then integrate the curriculum into that app. The material would be exponentially more [...]


  • 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 [...]


  • 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.


  • 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.


  • 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.


  • 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 "nand2tetris" web site.


  • 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.





  • 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.



  • 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.


  • A great book for a great course. Thoroughly enjoyed teaching the course though it was probably too advanced for 2nd semester students.



  • Post Your Comment Here

    Your email address will not be published. Required fields are marked *