This course is an important intermediate course after programming fundamentals. This course introduces typical relationships and patterns that people store and use datasets in programs, including general set, linear set, tree and graph. Specifically, this course will discuss the logical structure, storage structure, basic operation, implementation, and typical application of the aforementioned data structures respectively. The goal of this course is to enable students to analyze the characteristics of data, and grasp the methods of organizing, storing and processing data. Students will be capable to utilize appropriate data structures and design suitable algorithms in real applications.