How to think like a programmer : problem solving for the bewildered - Vickers, Paul, 1966- (Course Technology Cengage Learning, 2008)