http://mitpress.mit.edu/sicp/full-text/book/book.html The book Structure and Interpretation of Computer Programs by Gerald Sussman and Hal Abelson is available for free online. This was the introductory computer science textbook at MIT for several decades.