Books by Michael D. Smith
Problem Solving with Python
An innovative new way to teach computational thinking and problem solving that makes programming accessible to anyone.