Sections covered: 1.1-1.2.4 1.3 2.1-2.1.3 2.2-2.2.3 2.2.4 1.1-1.2.4 primitive expressions means of combination means of abstraction substitution model for procedure application applicative-order evaluation normal-order evaluation special forms basic scheme procedures procedures as black-box abstraction bound variables free variables scope internal definitions block structure linear recursion, recursive process iteration, iterative process tail-recursion tree recursion orders of growth 1.3 higher-order procedures lambda expressions procedures as general methods fixed points of functions procedures as returned values procedures as first-class entities 2.1-2.1.3 data abstraction constructors selectors abstraction barriers message-passing paradigm 2.2-2.2.3 hierarchical structures closure property of a constructor list structures lists map sequences as conventional interfaces (functional composition) enumerators filters transducers accumulators nested mappings 2.2.4 picture language painters frames meta-operators stratified design (levels of language)