Introduction to Problem Solving with Computers (A Java Language Course).