Computer Science A Structured Programming Approach - Forouzan (Cengage Learning, 2008)