The Practice Of Computing Using Python by William Punch, Richard Enbody & William F. Punch