Thanks to Jonathan for pointing me to these lectures by Abelson and Sussman. http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/