NOTE: This loose-leaf, three-hole punched version of the textbook gives students the flexibility to take only what they need to class and add their own notes - all at an affordable price. For courses in Java Programming. A fundamentals-first introduction to basic programming concepts and techniques Introduction to Java Programming and Data Structures seamlessly integrates programming, data structures, and algorithms into one text. With a fundamentals-first approach, the text builds a strong foundation of basic programming concepts and techniques before teaching students object-oriented programming and advanced Java programming. Liang explains programming in a problem-driven way that focuses on problem solving rather than syntax, illustrating basic concepts by example and providing a large number of exercises with various levels of difficulty for students to practice. The 12th Edition is completely revised in every detail to enhance clarity, presentation, content, examples, and exercises.