This book lays the foundation for programmers to build their skills. The focus is placed on how to implement effective programs using the JCL instead of producing mathematical proofs. The coverage is updated and streamlined to provide a more accessible approach to programming. They ll be able to develop a thorough understanding of basic data structures and algorithms through an objects-first approach. Data structures are discussed in the context of software engineering principles. Updated case studies also show programmers how to apply essential design skills and concepts.