Introduction to Computation and Programming Using Python by John V. Guttag