Using a fundamentals-first approach, Liang explores the concepts of problem-solving and object-oriented programming. Beginning programmers learn critical problem-solving techniques, then move on to grasp the key concepts of object-oriented and GUI programming using Java 5. Starts readers with essential problem-solving and programming concepts (control statements, methods, and arrays); moves on to object-oriented programming, graphical user interface (GUI), and applets; and finally introduces exception handling, binary I/O, and recursion. Enables readers to write short, interesting, graphical game programs early on (starting from Chapter 2). Offers an exceptionally broad range of carefully chosen examples; reinforces key concepts with objectives lists, introduction and chapter overviews, easy-to-follow examples, chapter summaries, review questions, programming exercises, and an interactive self-test. A useful reference for anyone interested in learning more about programming.