By Lesley Anne Robertson - Simple Program Design: A Step by Step Approach (5th Revised edition) (8/30/06)