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.

Preface ix
I Hardware
1 Boolean Logic 9
2 Boolean Arithmetic 31
3 Memory 45
4 Machine Language 61
5 Computer Architecture 83
6 Assembler 103
II Software 
7 Virtual Machine I: Processing 125
8 Virtual Machine II: Control 147
9 High-Level Language 171
10 Compiler I: Syntax Analysis 191
11 Complier II: Code Generation 211
12 Operating System 245
13 More Fun to Go 273
Appendices 277
1 Boolean Function Synthesis 277
2 Hardware Description Language 283
3 Test Description Language 299
4 The Hack Chip Set 313
5 The Hack Character Set 315
6 The Jack OS API 317
Index 321
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.

About

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.

Table of Contents

Preface ix
I Hardware
1 Boolean Logic 9
2 Boolean Arithmetic 31
3 Memory 45
4 Machine Language 61
5 Computer Architecture 83
6 Assembler 103
II Software 
7 Virtual Machine I: Processing 125
8 Virtual Machine II: Control 147
9 High-Level Language 171
10 Compiler I: Syntax Analysis 191
11 Complier II: Code Generation 211
12 Operating System 245
13 More Fun to Go 273
Appendices 277
1 Boolean Function Synthesis 277
2 Hardware Description Language 283
3 Test Description Language 299
4 The Hack Chip Set 313
5 The Hack Character Set 315
6 The Jack OS API 317
Index 321

Author

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.

Books for National Depression Education and Awareness Month

For National Depression Education and Awareness Month in October, we are sharing a collection of titles that educates and informs on depression, including personal stories from those who have experienced depression and topics that range from causes and symptoms of depression to how to develop coping mechanisms to battle depression.

Read more

Horror Titles for the Halloween Season

In celebration of the Halloween season, we are sharing horror books that are aligned with the themes of the holiday: the sometimes unknown and scary creatures and witches. From classic ghost stories and popular novels that are celebrated today, in literature courses and beyond, to contemporary stories about the monsters that hide in the dark, our list

Read more

Books for LGBTQIA+ History Month

For LGBTQIA+ History Month in October, we’re celebrating the shared history of individuals within the community and the importance of the activists who have fought for their rights and the rights of others. We acknowledge the varying and diverse experiences within the LGBTQIA+ community that have shaped history and have led the way for those

Read more