B. Rmv - Will extend next week
C. Tree Recursion - Difference is algorithm, not iteration vs. recursion O(1.7N)
B. Small &key examples. See FIND below for example of use.
B. find/find-if/remove/remove-if/remove-if-not
Running example: ((Name Course-Num Grade) ...)
ii. Find 80 :key #'Grade {default #'Identity}
iii. Find C - below 80 -- :test #'>
iv. Find 0 (compare (find-if #'zerop ...))
v. Find all non-zeros (remove-if)
vi. Find all zeros (remove-if-not)
vii. Remember :test #'equal for strings/lists
(sqrt (apply #'+ (mapcar #'Square List)))
ii. Vector-Dot-Product -
(apply #'+ (mapcar #'* V1 V2))
iii. Vector-Angle 
B. Without append or butlast
C. Square-Sum - 
(defun Square-Sum (Start End)
(if
(> Start End)
0.0d0
(+ (Square Start)
(Square-Sum (1+ Start) End))))

(defun Pi-Sum (Start End)
(if
(> Start End)
0.0d0
(+ (/ 8 (* Start (+ Start 2)))
(Pi-Sum (+ Start 4) End))))
B. Compare the following for exponentiation: 
B. (defun Add-N (List N)
(mapcar #'(lambda (X) (+ X N)) List))
(defun Add-N (List-of-Nums N)
(mapcar #'(lambda (X) (+ X N))
List-of-Nums)
(defun Make-Counter (&key (Start 0) (Step 1))
(setq Start (- Start Step))
#'(lambda () (setq Start (+ Start Step))) )
Normal funcall version, plus:
(setf (symbol-function 'Foo) (Make-Counter))
(Foo)
(defun Make-Fancy-Counter (&optional (Initial-Value 0))
(list
#'(lambda () Initial-Value)
#'(lambda (New-Value) (setq Initial-Value New-Value)))))
(defun Get-Value (Fancy-Counter)
(funcall (first Fancy-Counter)))
(defun Set-Value (Fancy-Counter New-Val)
(funcall (second Fancy-Counter) New-Val))