Big Quiz #1 Topics

1. Chapter 2: Basic Lisp primitives
   Taking lists apart: first, rest, car, cdr  p. 17
   Assigning values: setf  p. 21
   Constructing lists: cons, append, list  p. 24
   Shortening lists: nthcdr, butlast, last  p. 28
   Working on top level elements: length, reverse  p. 30
   Looking for indexed sublists: assoc   p. 31
   Operations on integers, ratios, floats  p. 32

2. Chapter 3: Defining procedures with defun
   p. 42-43:  exchange, rotate-left/right, palindrome
   Local variables: let, let*  p. 44

3. Chapter 4: Predicates and Conditionals
   Testing equality: equal, eql  p. 50
   Testing for membership with eql: member   p. 51
   Keywords used to modify behavior of member, testing using equal
   Data-Type predicates: listp, atom, numberp, symbolp  p. 53
   An empty list and also an atom: Nil   p. 55
   Empty list predicates: null, endp  p. 56
   Various predicates for numbers: p. 57
   AND, OR, NOT  p. 60
   Choosing alternatives: if, when, unless  p. 61
   Choosing alternatives: cond  p. 63
   Choosing alternatives: case  p. 65
 
   Defining functions with predicates:
      divisible-by-three, palindromep   p. 59

4. Chapter 5: Recursion
   Recursive exponent  p. 72
   Recursive fibonacci  p. 73
   Recursive count-elements  p. 75
   Efficient recursion with tail recursion, using an auxiliary
     function with count-elements   p. 75
   Counting all the atoms in a list and sublists  p. 79
   Optional parameters (act similarly as auxiliary function calls) 
        p. 83
   Other special types of parameters: rest, key, aux  p. 87

   Defining functions with recursion:
      my-nthcdr, keep-first-n  p. 78
      add p. 81
      mystery and strange p. 82

5. Chapter 6 Data abstraction and Mapping functions
     mapcar  p. 104
     funcall, apply, #'   p. 107
     lambda  p. 109
     remove-if  p. 110

6. Chapter 7  Iteration on Numbers and Lists
     Iteration on numbers: dotimes p. 113-114
     Iteration on lists:   dolist  p. 115
     A general iteration loop: do  p. 117
     Another general loop: loop   p. 120
     Blocking sequences of expressions: prog1, progn  p. 121

7. Box and pointer diagrams (Chapter 17 - List storage)
   Cons cells, car and cdr parts of the cons cell p. 234
   Building new lists and cons cells: cons  p. 237
   Building new lists by copying: append p. 239
   Building new cons cells for a series of arguments: list