The list author says: "I once wrote a blog article on getting "An Undergraduate CS Education for Under $1,000". It focused on selection of appropriate texts and resources for self-study. Since then, my opinion on texts has changed as has my opinion on an Undergraduate CS education. Principally, I feel that actually coding and working on projects (open source or otherwise) is a better motivator and leads to more retained knowledge than books and exercises. Nonetheless, these are valuable texts and one should be familiar with these subjects even without experience hacking on an "applied" project. But to really learn, code. As a disclaimer, I have also re-enrolled in school.
This list is, of course, opinion. I will continue to refine it as I complete more of the books on my shelf and learn more about CS through self-study and school. There are a few conspicuous absences like Databases or Distributed Systems. In time, hopefully a book to fill these needs will come to my attention. Finally, there are Mathematics prerequisites for these books which this list does not cover. I hope to publish another list for math and other texts and a potential course sequencing/dependency tree at some point in the future.
(Edit 09/25/11: I've changed the list once again, now it looks something like this: * Structure and Interpretation of Computer Programs * Computer Systems: A Programmer's Perspective * Paradigms of Artificial Intelligence Programming * C Interfaces and Implementations * Programming Pearls * Algorithm Design Manual * Modern Compiler Implementation in ML"
"The First CS Text SICP and HTDP are treated as though they are the only two choices. HTDP I felt assumes a bit too little of the reader, it begins slowly. The beginning could be breezed over but I prefer brevity. The amount SICP covers and the determination and maturity it expects of its reader is perhaps too much. I would recommend this book instead. SICP is worth returning to later."
"A First Data Structures Text It is difficult to introduce Data Structures without Algorithms. Different schools approach the course sequence differently. I think this is a suitable first text for many reasons to be followed up with a more Algorithms-focused text later."
"A First Algorithms Text I am no fan of CLRS as an introductory text, it is better suited as reference. Particularly for self-learners, well-motivated material helps. Both Levitin and Kleinberg-Tardos are immensely more enjoyable for self-study than CLRS. Additionally, they stress methods over specific problem types. Kleinberg-Tardos is best to read, afterwards you can consider CLRS or others."