nand to tetris

Two years ago I belatedly reported on Shimon Schocken’s and Noam Nisan’s book ‘The elements of computing systems: Building a modern computer from first principles’ (2005). Since then quite some things have happened, and at the website From NAND to Tetris you’ll now find a Massive Open Online Course (MOOC ;)—the whole course, including all the materials, has been put online open-source fashion. The idea is to lead you from the uttermost basics, in this case the logical NAND gate [Negated AND or NOT AND] to build a system on which you finally can program and run a Tetris game. The rationale behind that is to correct the fact that first principles got lost within much of our contemporary computer science syllabi. Here’s from the TED talk above:

So, it’s not surprising that about twelve years ago, when Noam and I were already computer science professors, we were equally frustrated by the same phenomenon. As computers became increasingly more complex our students were losing the forest for the trees. And indeed it is impossible to connect to the soul of the machine if you interact with a black box PC or a Mac which is shrouded by numerous layers of closed proprietary software. So Noam and I had this insight, that if you want those students to understand how computers work, understand it in the marrow of their bones, then perhaps the best way to go about it is to have them build a complete working general purpose useful computer, hardware and software, from the ground up. [from 03:30 onwards | my transcription—put the blame on me]

Whenever I hear about the first principles of computer science, I am reminded of something engineer Frederic Williams (1911-1977) said. Williams, together with Tom Kilburn (1921-2001), oftentimes is quoted as having invented the Manchester Mark 1, the ‘Manchester Baby,’ the first stored-program digital computer. But Williams himself impressively set the record straight:

Now let’s be clear before we go any further that neither Tom Kilburn nor I knew the first thing about computers when we arrived in Manchester University […] Newman explained the whole business of how a computer works to us.
    Tom Kilburn and I knew nothing about computers […] Professor Newman and Mr A. M. Turing […] knew a lot about computers […] They took us by the hand and explained how numbers could live in houses with addresses […]. (Williams cf. Copeland 2006: 112—bold emphasis mine)

The creation of the computer as we envision it today mainly began during World War II and came to full fruit immediately after the war. This span of time is the historical threshold of the discourse ‘modern computer,’ if you’d like it in Foucaultian terms. The sames is true for cybernetics. Sometimes, especially during the 1970s, it was spread that cybernetics came first, and that the ‘invention of the computer’ was founded on it. That’s an ill conception. Rather both discourses were very much in parallel chronologically and mutually inseminated and influenced each other, had and have a dialectical relationship, if you will. Put the other way round: they depend on each other. The cybernetic cosmology, among many other things, very much influenced that shape of our educational systems. The whole idea that education and learning can be controlled, regulated and steered by using the tools of quantification stems from the enormous success of cyberntics, especially during the 1960s. In respect to this I only can again urge everybody capable of reading German, to dive into David Gugerli’s great article ‘Kybernetisierung der Hochschule’ [‘Cybernetification’ of the university] (2008).
    Shimon Schocken, musing about the thousands who are going through his and Noam Nisan’s MOOC, has matching thoughts:

These people can not care less about grades. They are doing it because of one motivation; they have a tremendous passion to learn. And with that in mind I’d like to say a few words on traditional college grading—I’m sick of it. We are obsessed with grades because we are obsessed with data. And yet grading takes away all the fun from failing. And a huge part of education is about failing. Courage, according to Churchill, is the ability to go from one defeat to another without losing enthusiasm. And, and Orwell—Orwell said that mistakes are the portals of discovery. And yet we don’t tolerate mistakes, and we worship grades. So, you collect your B-plusses and your A-minusses, and we aggregate them into a number like 3.4, which is stamped on your forehead and sums up who you are. Well, in my opinion we went too far with this nonsense and grading became degrading. So, with that I’d like to say a few words about upgrading. [from 10:00 onwards | my transcription—put the blame on me]

And now scroll up again and watch the whole of Shimon Schocken’s TED talk.

COPELAND, B. JACK. 2006. “Colossus and the rise of the modern computer,” in Colossus: The secrets of Bletchley Park’s codebraking computers edited by B. Jack Copeland, pp. 101-115. Oxford: Oxford University Press.
GUGERLI, DAVID. 2008. “Kybernetisierung der Hochschule: Zur Genese des universitären Managements,” in Die Transformation des Humanen: Beiträge zur Kulturgeschichte der Kybernetik edited by Michael Hagner and Erich Hörl, pp. 414-439. Frankfurt am Main: Suhrkamp.
SCHOCKEN, SHIMON AND NOAM NISAN. 2005. The elements of computing systems: Building a modern computer from first principles. Cambridge: MIT Press.