Exam 2 Spring, 2017 Coverage: Lectures 12-27 HW 8-16 Reading assignments through session 28 (or whenever we finish letrec and named let implementations) Written part: Closed book and notes. Computer part: The usual references are allowed. Possible topics: programming with lists (and nested lists) grammars and derivations s-lists procedural abstraction including list-recur, sn-list-recur, bt-recur curried procedures (Know what set!, set-cdr!, set-car!, and vector-set! do) persistent data and creating procedures that behave like objects memoization case-lambda free and bound occurrences of variables lexical address (lexical depth and lexical position) know the difference between syntactic extension and procedure definition define-syntax abstract data types: interface, representation, implementation representation-independent interface define-datatype parse and unparse environment and closure diagrams (on earlier in-class part of the exam) environment ADT and our various representations/implementations make simple modifications to your interpreter: Add something new to the interpreted language. continuations, write code in CPS.