This book teaches programming in a problem-driven way that focuses on problem solving rather than syntax. We make introductory programming interesting by using thought provoking problems in a broad context. The central thread of early chapters is on problem solving. Appropriate syntax and library are introduced to enable readers to write programs for solving the problems. To support the teaching of programming in a problem driven way, the book provides a wide variety of problems at various levels of difficulty to motivate students. To appeal to students in all majors, the problems cover many application areas, including math, science, business, financial, gaming, animation, and multimedia.
The book focuses on fundamentals first by introducing basic programming concepts and techniques before designing custom classes. The fundamental concepts and tecnique3s of loops, methods, and arrays are the foundation for programming. Building this strong foundation prepares students to learn object oriented programming and advanced Java programming.