Revolutionizing the CS2 course, this innovative book teaches programming concepts and techniques essential for working in a modern software development environment. While also teaching the fundamental concepts of data structures, the authors change the traditional emphasis from how to design and build them to learning how to analyze and use them. This treatment of data structures gives students the information they need to make informed decisions about which classes in the framework are most appropriate for their needs, while freeing up significant blocks of time for the treatment of other essential topics.