#1. 1 pt data def'n 1 pt numeric? 2 pts subst 2 pts value All three programs are recursive and must follow the data def'n. If they mess up the data def'n, try to accomodate that in the programs. If they try to deal with "define", ignore any mistakes leading from it. #2. 1 pt hand-evaluation -- straightforward grading. #3. .5 pt for abstraction .5 pt for defining max and min with abstraction They should come up with something similar to foldr, except with comparison and combining function parameters, and no base case element parameter. Acceptable to use foldr instead IF they show steps in how to do this, e.g., the introduction of a local to avoid min/max recomputation. #4. 2 pts. Follow the standard grading guidelines. Remember, must have template. ec. .5 pt each for {identifying,explaining} {values,non-values}. Yes, that is somewhat redundant. A properly worded single sentence is sufficient for all explanation.