The Elements of Computing Systems: Building a Modern Computer from First Principles, 2/e (Paperback)

Nisan, Noam, Schocken, Shimon




A new and extensively revised edition of a popular textbook used in universities, coding boot camps, hacker clubs, and online courses.


The best way to understand how computers work is to build one from scratch, and this textbook leads learners through twelve chapters and projects that gradually build the hardware platform and software hierarchy for a simple but powerful computer system. In the process, learners gain hands-on knowledge of hardware, architecture, operating systems, programming languages, compilers, data structures and algorithms, and software engineering. Using this constructive approach, the book introduces readers to a significant body of computer science knowledge and synthesizes key theoretical and applied techniques into one constructive framework.The outcome is known known as Nand to Tetris: a journey that starts with the most elementary logic gate, called Nand, and ends, twelve projects later, with a general-purpose computer system capable of running Tetris and any other program that comes to your mind.

The first edition of this popular textbook inspired Nand to Tetris classes in many universities, coding boot camps, hacker clubs, and online course platforms. This second edition has been extensively revised. It has been restructured into two distinct parts--Part I, hardware, and Part II, software--with six projects in each part. All chapters and projects have been rewritten, with an emphasis on separating abstraction from implementation, and many new sections, figures, and examples have been added. Substantial new appendixes offer focused presentation on technical and theoretical topics.



理解電腦運作的最佳方式就是從頭開始建構一台,這本教科書引導學習者透過十二個章節和專案,逐步建立硬體平台和軟體層次,打造一個簡單但功能強大的電腦系統。在此過程中,學習者將獲得實務上的硬體、架構、作業系統、程式語言、編譯器、資料結構和演算法、軟體工程等相關知識。透過這種建設性的方法,本書將讀者引入一個重要的計算機科學知識體系,並將關鍵的理論和應用技術綜合成一個建設性的框架。結果就是所謂的「從 Nand 到 Tetris」:一段旅程,從最基本的邏輯閘「Nand」開始,經過十二個專案後,構建出一個能運行「Tetris」和其他任何你能想到的程式的通用電腦系統。

這本受歡迎教科書的第一版啟發了許多大學、編碼訓練營、駭客俱樂部和線上課程平台開設「從 Nand 到 Tetris」課程。這第二版經過大幅修訂,重新結構為兩個獨立的部分──第一部分為硬體,第二部分為軟體──每個部分有六個專案。所有章節和專案都經過重寫,強調抽象與實作的分離,並新增了許多新的節、圖和例子。大量的新附錄提供了針對技術和理論主題的專題介紹。


Noam Nisan is Dean of the School of Computer Science and Engineering at the Hebrew University of Jerusalem.

Shimon Schocken is Professor of Computer Science, and Founding Dean, Efi Arazi School of Computer Science, IDC Herzliya, Israel.


Noam Nisan 是耶路撒冷希伯來大學計算機科學與工程學院的院長。

Shimon Schocken 是以色列赫茲利亞IDC計算機科學學院的計算機科學教授和創院院長。