For courses in computer science and programming
Starting Out with Java: From Control Structures through Data Structures provides a smooth introduction to programming with Java that moves fluidly from beginner to more advanced topics. The first half of the book is taught for a CS1 course and teaches fundamental programming and problem solving concepts, while the second half, meant for a CS2 course, teaches advanced topics, algorithms, and data structures.
The Third Edition is extremely flexible in its organization, which teaches programmers to implement data structures with or without generics. As with all text in Gaddis’ Starting Out series, the tone is friendly, the material detailed, and major concepts easy to understand. With rich examples throughout, programmers learn to use Java through real programming practice.