Hands-On Programming Fundamentals by Joseph R. Sweeney