Introduction to abstract data types as a unifying concept in the study of data structures. Topics include lists, queues, multi-linked lists, priority queues, trees, and graphs. The impact of these structures on algorithm design is explored. External memory management is discussed.