CS61AS - The Structure and Interpretation of Computer Programs; Professor Paul Hilfinger; Spring 2014.