Problem Solving and Program Design in C (1996)