This course examines the representation (data structures) and manipulation (algorithms) of information. The emphasis is on choosing the most memory and/or time-efficient implementation for a particular application. Topics: common implementations of lists, sets, maps, stacks, queues, trees and graphs and a survey of some common algorithms for processing these data structures. Students will compare implementations of the data structures commonly provided by language-specific libraries. Prerequisite: COSC 130.