Fog Creek Software
Discussion Board

CS book recommendations

Would anyone like to share good books that are useful for undestanding CS?  Books from a millenium ago about mathematics are perfectly fine, as long as they give insight into different computational models or useful algorithms.

I think this is very relevant to this forum, because I for one am an industry programmer, and I know I'm hitting my limits because I don't have a sound knowledge of the science.  I was able to understand Knuth well because I knew computers to the logic level, but when I read a book like SICP, I am painfully aware that there's a lot of underlying theory that isn't explained.

Tj G.
Thursday, January 17, 2002

"Introduction to Algorithms"
by Thomas H. Cormen (Editor), Charles E. Leiserson, Ronald L. Rivest

Evgeny Goldin
Thursday, January 17, 2002

Asking people and combing the web, I've found two others I want to look at:

Introduction to Automata Theory, Languages, and Computation (1st ed, NOT 2nd)

Introduction to the Theory of Computation

Also, I'm reading a book right now called:  An Introduction to Database Systems by C.J. Date.  It seems to be a very complete book on the subject, full of references, and I think the trick is to read the first 3 chapters.  From there on, you can pretty much read anything in any order, at leisure.

Tj G.
Thursday, January 17, 2002

My CS interest is distributed and network systems. I like George Coulouris' "Distributed Systems: Concepts and Design". It's very implementation heavy, but from an academic perspective.

Distributed Systems: Concepts and Design

Thursday, January 17, 2002

If you can follow everything in Knuth, you're probably already a better person than most of us. However, I really like "Algorithmics" by David Harel, which covers a lot of ground, although maybe at a less in-depth level than you are looking for. "Data Structures and Algorithms" by Aho et al is an oldie but goodie, as is "A Discipline of Programming" by Dijkstra. But still, for pretty much everything I do I find that Rule 3 from Rob Pike's "Notes on Programming in C" applies - "Fancy algorithms are slow when n is small, and n is usually small".

Andrew Simmons
Thursday, January 17, 2002

Heres a useful reference for algorythms.

They are all categorised with implementations for several languages and links to further explanations where they exist.

Ged Byrne
Friday, January 18, 2002

*  Recent Topics

*  Fog Creek Home