I got to know Brian when he contributed a chapter to O’Reilly’s book Beautiful Code, and he recently sent me a copy of D is for Digital. In Kernighan’s signature crystalline style, it lays out an array of topics from what bits are to how digital signatures work and the risks of Infrastructure as a Service cloud computing.

D is for Digital reflects the experience Brian has culled from years of teaching a course on computer concepts to non-technical students at Princeton University. In his course, he goes so far as to show short programs to help his audience appreciate how problems are turned into algorithms and the importance of good design and testing. The book contains very little code–just a few lines in one or two places to illustrate the concepts–but is weighted toward technical explanations to root Brian’s forays into social issues such as privacy.

His criteria for including topics focused on how they contributed to three overarching themes:

How computer hardware works

The ideas behind software (algorithms, and getting from the mathematical algorithm to an actual computer implementation)

How computers communicate, and the issues raised by the Internet

In fact, the book contains a few topics that I think the average citizen could manage without but that clearly occupy Brian’s interest, such as the layout of a typical filesystem (modeled of course on Unix). I would have suggested starting with a plan that laid out much more detailed goals, and choosing topics that led up to a particular lesson.

For instance, the dreaded term “buffer overflow” has been aired enough to reach mainstream ears, so one could describe its behavior by explaining how commonly a program must step through an array, show an old for (i=0; i<1000; i++) loop in C, and explain how easy it would be to use a <= operator in place of <.

But these are ramblings of an editor. D is for Digital is a contemporary approach to issues that arise all the time when computing and the Internet are debated, and it could be a valuable tool in educating members of the general public, who wouldn’t be hurt any by knowing the basic layout of the Unix filesystem. They’d also learn what Flash cookies are doing on their computer, the value of open source software, and other topics that lead them to make different decisions in the public sphere.

Featured Video

The Internet of Things That Do What You Tell Them: Cory Doctorow passionately explains how computers are already entwined in our lives, which means laws that support lock-in are much more than inconveniences.