Principles of program design problem solving with Javascript - Addison, Paul 1943-2020 (Course Technology Cengage Learning, 2012)