| For beginners, these are good: - How to design programs (http://htdp.org) - The Little/Seasoned/Reasoned Schemer. - Code: The Hidden Language of Computer Hardware and Software by Petzold - Coders at work by Peter Seibel - The Pragmatic Programmer by Hunt and Thomas - Code Complete by McConnell For intermediate/experienced people: - Structure and Interpretation of computer programs (http://mitpress.mit.edu/sicp/full-text/book/book.html) - Software Tools in Pascal by Kernighan and Plauger. - Programming Pearls by Bentley - Smalltalk 80: The Language and Its Implementation by Adele Goldberg. - Paradigms of Artificial Intelligence Programming by Norvig - A Discipline of Programming by Dijkstra While I've ommited some important language specific books, and ignored essential areas (algorithms, discrete math, hw arquitecture), I think this is a good starting point. |