Sections covered since first midterm: 2.3-2.3.3 2.4-2.4.3 2.5-2.5.2 3.1 3.2-3.3.4 3.4 Note: We also covered 3.5-3.52 (streams) but streams will not be on the second midterm. They will be on the final exam. 2.3-2.3.3 symbolic data quotation differentiation example representing sets 2.4-2.4.2 multiple representations tagged data data-directed programming table of operations packages apply-generic message-passing 2.5-2.5.2 generic operations coercion 3.1 local state variables (bank account examples) message-passing random number generator Monte Carlo simulation imperative programming 3.2-3.3.4 environment model of evaluation environment frames bindings enclosing environment (environment a frame points to) one binding shadows another binding rules for evaluation use of frames to hold local state variables effect of internal (nested) definitions mutators mutable data sharing and identity queues deques representing tables memoization digital circuit simulation primitive function boxes wires agenda time segments 3.4 concurrency serializer mutex (mutual exclusion) semaphore test-and-set! deadlock