10 Books that will Substitute A Computer Science Degree (debate?)
techoozie.com
techoozie.com
Degrees are not just about the literal content. They are three/four/five/ years of intense experience in a play pen where highly skilled people correct your every move and thoughts guiding you toward a greater understanding.
Of course, the whole topic is quite silly; if you really wanted to substitute for a CS degree, the easiest way to do it would be to examine (for example) the MIT course catalog, put together the appropriate course plan, and then order the textbooks used by those courses. And, with the video lectures and lecture notes showing up on OCW, you would actually be approximating (in a loose sense) the experience, provided one actually does the coursework and exams.
Also Godel, Escher, Bach is really more a popular science book, isn't it? Enjoyable read that it was (when I was a teenager), I think it is actually more confusing than actually helpful in understanding the underlying concepts.
Design Patterns: Elements of Reusable Object-Oriented Software
Introduction to Algorithms
Going the 10-books-will-do-route will also make sure that you won't get exposed to specialized fields such as embedded and real-time systems, machine learning, computational geometry, bio informatics, etc.
A degree is also about knowing that certain fields exist; you don't necessarily need to have studied everything. You can read up on them when you need specialized knowledge, but if you've never heard of some obscure field because your "ten books" didn't mention it, then you are screwed.
At a good university you will be exposed to a much wider variety of topics than any (reasonably sized) set of books will do.