SICP

While it did review many aspects of computer programming that I have long been acquainted with (ever since my introduction classes in 9th grade, I would go so far as to say), SICP succeeds where many introductions fail.  It thoroughly lays the foundation for an understanding of algorithms, programming paradigms, language compilers/interpreters, and every other serious study in Computer Science by guiding the reader through the development of one single tool: abstraction.