Problem Solving & Programming Concepts by Jim Hubbard & Maureen Sprankle