Why you should start a Computer Science book club

TiltedListener
Jul 24, 2017 · 5 min read
Computer reading room at Ada’s. Photo by Cindy Apple

Each third Tuesday for the last year, at Ada’s Technical Books in Seattle, I’ve hosted a computer science book club. Ada’s is the perfect spot for it — coffee, long wood tables, surrounded by entire room filled with computer books.

It’s surprising that while there are plenty of meetups, socials, and hackathons for programmers and tech industry folks, alongside widespread enthusiasm for technology, there isn’t much appreciation for computer science literature.

There’s no disturbing trend to point to or implied derision meant in this. Most programmers will typically have the classics lying around — one or two volumes of Knuth, Design Patterns, Algorithms — and generally the nerdy programmer has the reputation as a bookworm, so the audience is there. We just need a few more clubs.

Objections

I Don’t Program

It would be a bad idea to focus a computer science book club on programming. One, this reduces the possible size of your group; two, different skillsets will lead to markedly different interactions with the book, meaning some will excel, others might feel embarrassed; and three, even if you are a rockstar programmer, another book may seem like work or be unchallenging.

CS books are dry and instructive

Not true. That said, if the only thing you’ve ever read was a Learn X in 24 Hours, then yeah, that would make sense.

But there’s a pantheon of topics to cover in computer science — exciting histories (The Code Book, Masters of Doom, Crypto, Ada’s Algorithm), speculations on humanity’s future (The Master Algorithm, Superintelligence, [Insert Kurzweil title here]), and everyman-style explanations that’s more than a How-to (Code, 9 Algorithms that Changed the Future, MIT’s Essential Knowledge Series).

You could even throw in Neil Stephenson or Cory Doctorow, close enough.

What is there to discuss?

This was my most pressing thought when getting started. Unlike standard book clubs, computer science doesn’t involve much in the realm of interpretation. This is what happened or this is how it works. Done.

However, there are two primary starting points:

Why did I like or dislike this book?
Seems obvious, but it’s surprising the varied opinions people develop around dry subjects. Grab three different books on learning Go, and folks will develop strong opinions on who was the better teacher and why.

How does this relate to me and my experience?
Taking inspiration from computer clubs, not everything needs to have an objective goal. Sometimes, people simply like to tinker and share ideas that come to mind. My most recent book club on The Annotated Turing shifted from Lambda Calculus to Commodore owner Jack Tramiel within ten minutes. The book at hand is ultimately a starting point.

Why

Enter a larger world

Clearly, the more you read the better. With the history of science in particular, reading helps clarify why we have arrived at where we are, and this can be very subtle. Isaacson’s Steve Jobs explains indirectly why Apple has the NS prefix type declarations in Xcode. There’s a whole history behind two letters any Apple dev would see hundreds of times a day.

As programmers and IT folks are prone to quickly ruling technology as stupid or over engineered, knowing the background of your laptop, including the people involved in its design, the engineering of its chips, and what its languages and operating systems are optimized for, can at least make these pronouncements a little less frequent or a perhaps little more severe.

Discover new heroes

Too often, the current saints of computer science are anyone who has the most money right now. Books such as Crypto, Where the Wizards Stay Up Late, Turing’s Cathedral, Commodore: A Company on the Edge reveal people who were committed to creating new possibilities regardless of the financial gain.

Take Whitfield Diffie who spent decades trying to solve the public key exchange problem that allows for encrypted web transactions; J.C.R. Licklidler paved the way for the Internet after writing about the “Intergalactic Computer Network”; and Chuck Peddle at Commodore was working on digital cameras and designing cost effective processors when Steve Jobs was focused on rounded corners. Course, most of these guys still got the financial gain part to some degree.

Tech folks get so focused on creating the next Google because it’s big, and typically not because of the problems it helped solve. Even if you’re in tech for the money (no judgement), analyzing problem solvers instead of angel investors might get you to it faster.

Warehouses of What You Don’t Know

It’s so difficult to get an “I don’t know” out of programmers. This is for a couple reasons — tech is a human capital-centered business and ignorance can be seen as a personal defect; there’s a ton of ego in tech; and ultimately for most things, you can just look it up on StackOverflow.

What happens a lot is, while tech folks are exposed to a plethora of topics, and know generally what the subject at hand is, they couldn’t precisely define it.

Take Turing’s Halting problem (a term he didn’t use):

  • Can you describe it generally?
  • Can you describe a demonstration of it?
  • Can you describe it how Turing proved it?

As mentioned previously, having just finished The Annotated Turing where author Charles Petzold held my hand through Turing’s paper, I still can’t answer the third one and could almost describe the second if you gave me a few minutes.

Call it humble pie or, more positively, being able to cite primary sources, in whatever perspective, a rush of awareness can be as satisfying as being right.

Advice

Keep it light

When you get there and you find that you have nothing to talk about, no worries. Some books are bad, while others are so simple you say “got it” and move on. No need to have a profound insight.

Pick realistic books

While it may sound like a good idea to finally work through The Structure and Interpretation of Computer Programs or Godel, Escher, Bach with a group, there is no way everyone is going to be able to trudge through those tomes in one month and, assuming you span the reading out, the book is probably not going to hold everyone’s interest for six.

Make it live

Reading about vintage computers? Maybe pull a few out of the garage. Learning about logic gates? Buy a few transistors and see what you can wire together. Studying hackers? Set up a fake server that your group can attempt to break into.

Ready?

You’ve heard my opinion, but of course, the amount of reading is so broad that you could specialize your group (maybe Atari history, game programming, AI) or see if there actually are people out there ready to go through the entirety of The Art of Computer Programming.

Below I’ll list the selections I’ve made over the past year. Comment if you have your own suggestions. If you’re in Seattle and interested in joining Ada’s group, checkout our Facebook group. Good luck!

Previous Reading List:

  • Racing the Beam
  • Code: The Hidden Language of Computer Hardware and Software
  • 9 Algorithms that Changed the Future
  • Superintelligence
  • Soul of a New Machine
  • The Advent of the Algorithm
  • The Master Algorithm
  • Ada’s Algorithm
  • The Code Book
  • Ghost in the Wires
  • The Annotated Turing

Upcoming for Fall:

  • Flash: Building the Interactive Web
  • The Most Human Human
  • Little Schemer
  • How to do Things with Videogames
  • !# (Shebang)
  • Just for Fun: The Story of an Accidental Revolutionary

TiltedListener

Written by

My name is Corey. Developer. Ghost N' Goblins Champion 1989 - 1991, 1993

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade