SICP lecture examples and exercises