Structure and Interpretation of Computer Programs SICP book: http://mitpress.mit.edu/sicp/full-text/book/book.html