Discrete Mathematics Using a Computer - by John Odonnell