Exercises completed working through Structure and Interpretation of Computer Programs