Curio (noun) a rare, unusual, or intriguing object

Monday, November 21, 2022

"The Elements of Computing Systems"

 

Not as intimidating as it sounds.

As a kid, I always liked museums: paintings, sculptures, dinosaur fossils, natural history: they were all fun, and science museums were my favorite. "The Elements of Computing Systems" (ECS) is a bit like a science museum in a book, and in conjunction with the author's free online class is also one of the best courses I've ever taken.

ECS's authors Noam Nisan and Shimon Schocken teach computer science at the university level. They noticed that many students, in their words, fail to see the forest for the trees: students learn ideas in programming theory, algorithms, engineering concepts, and the like in depth, but still have "an uneasy feeling that, well, they don't fully understand what's going on inside computers."

The authors' solution? Give the motivated learner everything they need to design and build their own computer from scratch. The book's accompanying web site provides tools that let the student play around with the electronic circuits underlying logic gates (NAND, AND, OR, NOT, etc.), and from there build up the components used in modern computing. They show how to store bits of information, create read/writeable memory, construct a CPU capable of performing specific arithmetic operations, design an interface on top of that to combine those operations into the basic functions of computer hardware, and ultimately write an operating system and user interface exactly tailored to the hardware specifications created in earlier chapters. The sense of accomplishment building each new layer upon previous projects keeps the process engaging.

I went through the whole online course while reading the book, and came away both with a much deeper understanding of the "stack" of operations underlying modern computing, and also an appreciation for how simple operations can, in aggregate, lead to machines of incredible complexity.

Verdict: Deep while remaining accessible, and most importantly, fun, ECS teaches many fundamental computing concepts in an interactive way. Highly recommended.

No comments:

Post a Comment