Nand2Tetris(The Elements of Computing Systems)由 Noam Nisan 和 Shimon Schocken 開發,從最基礎的 NAND 閘開始,逐步建構出完整電腦系統,包含硬體平台、虛擬機器、編譯器和作業系統。採用專案式學習,讓學習者全面理解計算機系統的每個層次。
第一部分(硬體):布林邏輯、布林運算、記憶體、機器語言、電腦架構、組譯器。第二部分(軟體):虛擬機器 I/II、編譯器 I/II、作業系統。
每個專案都建立在上一專案基礎上,最終產出一台可執行 Tetris 的完整電腦。