Computer Science is a deep discipline. The range of areas of specialization is dizzying and encompasses enough fascinating applications to keep anyone busy for a lifetime. Arguably, all of these areas rely on the basic understanding of the foundation of our field: computation. What is computation? Why is understanding it important, and how can we learn it from a book? It turns out you just need to find that certain kind of book.
That certain kind of book is one that has a point of view, that is obviously the product of a lot of thought, that has obviously made the rounds and kicked around for long enough that it's here to stay. It has a system built in, answers as many questions as it can, and compromises as little as possible.
In other words, books work and are worth it. I've spent a decent amount of 2013 trying to understand what computers do without actually sitting in front of them, and I'm pretty sure it's working.
As 2014 draws near, why not consider indulging in a year long project of reading one or more of the following books, which for me are that certain kind of book.
Structure and Interpretation of Computer Programs by Gerald Jay Sussman and Hal Abelson
Learn from the masters, through the lens of Scheme. Available online for free and a great place to start.
Concepts, Techniques, and Models of Computer Programming by Peter Van Roy and Seif Haridi
Take a small kernel language and evolve it beyond your imagination, implode paradigms, and break all rules. I recommend the hardcover edition, a highlighter, and several free months.
Essentials of Programming Languages by Daniel P. Friedman and Mitchell Wand
Learn to compute by learning to understand interpreters in Scheme. Dense and rich, I'm planning to work through this in 2014.
The Architecture of Symbolic Computers by Peter M. Kogge
Cast off the shackles of von Neumann and study the implementations of Functional and Logic programming languages. Worth the trouble to find it for a reasonable price. Another 2014 project.
Finally, I'd like to say thank you all for your support and for reading my writing in 2013. Your comments and encouragement make it worthwhile.