Exercises from "Structure and Interpretation of Computer Programs"