Welcome to Starting Out with Java: From Control Structures through Data Structures, Second Edition. This book is intended for a traditional two-semester CS1/CS2 sequence of courses. The first half of the book, intended for a CS1 class, teaches fundamental programming and problem-solving concepts using Java. The second half of the book, intended for a CS2 class, teaches advanced concepts and provides an introduction to algorithms and data structures. The book is written for students with no prior programming background, but experienced students will also benefit from its depth of detail.
Starting Out with Java: From Control Structures through Data Structures is designed to be used in a 2 or 3 semester/quarter sequence for beginning programmers. Tony Gaddis emphasizes problem-solving and program design by teaching the Java programming language through a step-by-step detailed presentation. He introduces procedural programming early and covers control structures and methods before objects. Students are engaged and have plenty of opportunity to practice using programming concepts through practical tools that include end-of-section and chapter exercises, case studies and programming projects.