Topics include pointers, dynamic allocation, recursion, and structured data types such as objects, strings, lists, stacks, queues, templates, containers, binary trees, and hash tables. Also includes a group-oriented software design and implementation project. Includes a two-hour lab. Prerequisite: CS 2321.