This text is intended for a 1-, 2-, or 3-semester CS1 course sequence.Daniel Liang teaches concepts of problem-solving and object-oriented programming using a fundamentals-first approach. Beginning programmers learn critical problem-solving techniques then move on to grasp the key concepts of object-oriented, GUI programming, advanced GUI and Web programming using Java.Teaching and Learning ExperienceTo provide a better teaching and learning experience, for both instructors and students, this program offers:Fundamentals-First Approach: Basic programming concepts are introduced on control statements, loops, functions, and arrays before object-oriented programming is discussed.Problem-Driven Motivation: The examples and exercises throughout the book emphasize problem solving and foster the concept of developing reusable components and using them to create practical projects.A Superior Pedagogical Design that Fosters Student Interest: Key concepts are reinforced with objectives lists, introduction and chapter overviews, easy-to-follow examples, chapter summaries, review questions, programming exercises, and interactive self-tests.The Most Extensive Instructor and Student Support Package Available: The author maintains a website at www.cs.armstrong.edu/liang/intro10e that includes multiple interactive resources.