An Introduction to Programming with Mathematica(R) by Richard J. Gaylord & Samuel N. Kamin