You might consider reading "Structure and Interpretation of Computer Programs" (SICP) by Abelson & Sussman
At least one version available here: http://sicpebook.wordpress.com/ebook/
At least one version available here: http://sicpebook.wordpress.com/ebook/