Examines data structures and their software implementation. Topics include top-down design; pointer variables and dynamic data structures; linked lists, stacks, queues, recursion, graphs, tree search and backtracking; and sorting/searching techniques.