This course is the third in a series of three in which students learn the C++ programming language and how to implement and use different types of data-structures. This leads students to create data-driven programs and algorithms. Students also learn more about linked lists, stacks, queues, binary trees, and binary search, recursion, and sorting. The course starts at a level that assumes a good working knowledge of C++. Prerequisite: CS 162 with a 2.5 or better.