This document discusses data types and applications of data structures. It defines primitive, derived, and user-defined data types. Abstract data types (ADT) like stacks, queues, and lists are introduced along with their common operations. Various data structures - primitive, non-primitive, arrays, stacks, queues, linked lists, graphs, and trees - are described. Finally, examples of applications of these data structures are provided such as arranging game leaderboards with arrays, converting expressions with stacks, job scheduling with queues, viewing images with linked lists, social networks with graphs, and decision-making with trees.