The Benedict Year

A strand of the Benedict Year

The workshop

Build a working computer out of one kind of logic gate, beside the year’s twelve units. At the end, the computer the child built runs a program the child wrote.

Download PDF 3 pages

Before the first week, set up the bench with the setup guide. It is written to the child, and takes about half an hour with a parent beside them.

What it is

Nand to Tetris is the course by Noam Nisan and Shimon Schocken in which you build a computer from the ground up. It starts from a single chip, the NAND gate, and climbs through the adder, memory and the processor to a computer that runs programs. Part I is that hardware, in seven projects. Part II goes on to the software, all the way up to a game of Tetris, and is for a second year.

Everything the strand needs is free: the online IDE, which runs in a web browser with nothing to install and no account, and the course’s own lectures on YouTube, which need no account either. The course is also sold as a Coursera class; this strand does not use it, and nothing here needs a certificate.

Why it belongs in this year

It takes apart a gap that only seems real until you look at it, the one between the machines and the spirit. A child who has built a computer from NAND gates knows that it is not magic and not a mind. It is matter given an order by a maker and kept to a rule from outside, and what it is for is in none of its parts. The map has a word for each step, so each project walks beside the units whose kind of answer it shows.

The essay Brother Electron walks the same descent, from the gate and the flip-flop to the clock and the memory, and asks what “law” can mean at each step. It is for the parent before the strand begins.

The strand at a glance

It is optional and takes about an afternoon a week beyond the year’s project days: a lecture or two, something on paper, then the chip in the IDE. If it runs into the summer, let it.

ProjectBesideWatch
Project 0 · The workbenchUnit 1 · Reading · weeks 1–35 lectures, about 27 min
Project 1 · The gatesUnit 2 · Number, Unit 3 · Nature · weeks 4–98 lectures, about 128 min
Project 2 · The addersUnit 4 · Making · weeks 10–126 lectures, about 66 min
Project 3 · MemoryUnit 5 · Memory · weeks 13–156 lectures, about 84 min
Project 4 · The machine’s languageUnit 6 · The Person, Unit 7 · Being, Unit 8 · God · weeks 16–2410 lectures, about 187 min
Project 5 · The computerUnit 9 · The Act, Unit 10 · The City · weeks 25–306 lectures, about 95 min
Project 6 · The assemblerUnit 11 · Law · weeks 31–338 lectures, about 123 min
The last weeks · The machine runsUnit 12 · Worship · weeks 34–36—

All 49 lectures of Part I come to about 11 hours 50 minutes, or about twenty minutes a week.

Starting late

Start at Project 0 in whatever week you are in, and keep the strand’s own order. Each project names the units it was written to walk beside, but no project needs its unit to have come first, and none of the units needs the workshop.

Mr. Benedict would approve

Every chip comes with a test, and the IDE says whether it passes. It cannot be talked into a pass, and nothing in it rewards recitation. The answers to every project are easy to find online, so the strand is the end-of-term trial’s offered answers, every week. It is passed by not looking them up. A child who stumbles on a page of answers and says so has passed the honesty question.

The course’s authors ask that solutions never be posted publicly. Keep your child’s chips at home: not on a public website, a forum, or a public code repository.

The lectures

Part I has 49 lectures, most between eight and twenty minutes, about twelve hours in all: roughly twenty minutes a week. Each project page links its lectures one by one, in the order to watch them. They are the course’s own lectures, collected in a YouTube playlist by a viewer, under the Coursera course’s title. Nothing there needs signing in.

Watch them together on a shared screen, with autoplay turned off. Not signed in, YouTube still shows a sidebar of other videos and a comments section; if you would rather not have those in the room, a privacy-respecting front end such as FreeTube on a computer or NewPipe on an Android phone plays the same videos without them.

The book

Nisan and Schocken’s The Elements of Computing Systems (MIT Press, second edition 2021) is the course in print, one chapter a project. It is not needed, but a child who would rather read than watch will like it, and it makes a good gift at the end of the year.

After this year

Part II, projects 7 to 12, builds the software: a virtual machine, a compiler for a small language, an operating system, and at last a game. It needs a real programming language, so it is for a second year, and so is learning one. Project 6’s lectures on writing an assembler as a program are the first look ahead.

Nand to Tetris is by Noam Nisan and Shimon Schocken, and its materials and tools are theirs, under CC BY-NC-SA 3.0. These pages link to the course and copy nothing from it; the plan, the order and the words around them are this site’s.

Public domain I have dedicated this page to the public domain under CC0 1.0. Copy it, change it, translate it, print it and share it, for any purpose, without asking. Quotations from other writers keep their own terms.