Good Job, John.
I also have a question (not a challenge though, - just curious).
Consider the example from NB09TablesFinal.nb:
Grid[{{11, 12, 13, 14, 15, 16, 17, 18},
{21, 22, 23, 24, 25, 26, 27, 28},
{31, 32, 33, 34, 35, 36, 37, 38},
{41, 42, 43, 44, 45, 46, 47, 48}}, Frame -> All,
Background -> {{}, {}, {{2, 5} -> Orange}}]
This makes the code shorter:
Grid[Range[#[[1]], #[[2]]] & /@
Table[{10i + 1, 10i + 8}, {i, 1, 4}], Frame -> All,
Background -> {{}, {}, {{2, 5} -> Orange}}];
What are the better ways?