While Java texts are plentiful, it's difficult to find one that takes a real-world approach, and encourages novice programmers to build on their Java skills through practical exercise. Written by an expert with 19 experience teaching computer programming, Java Programming Fundamentals presents object-oriented programming by employing examples taken from everyday life. * Provides a foundation in object-oriented design principles and UML notation * Describes common pitfalls and good programming practices * Furnishes supplemental links, documents, and programs on its companion website, www.premnair.net * Uses day-to-day life examples to introduce every object-oriented and programming concept * Includes an extensive stand-alone chapter on GUI and event programming * Contains numerous examples, self-check questions, quick review material and an extensive list of both programming and non-programming exercises The text presents object-oriented design and programming principles in a completely integrated and incremental fashion. It correlates each concept to a real-world application example and then introduces the corresponding Java language construct. The approach continues throughout the book, in that every concept is first introduced through practical examples, followed by short programming tutorials. To round out its coverage, the book provides several case studies, which illustrate various design issues and demonstrate the usefulness of techniques presented throughout the book. Using its one-of-a-kind approach, Java Programming Fundamentals demonstrates the object-oriented design techniques required to simulate actual real-life situations without compromising study of traditional programming constructs and structures.