SPOC学校专有课程
Data Structures
分享
spContent=Data Structure, key to Computer Science, plays a decisive role in constructing efficient algorithms. As fundamental theories for programming, Data Structure is not only among core courses of the major of computer, but also prevails in computer-related application.
—— 课程团队
课程概述

This course will instruct the students to master the basic methods of data organizing, representing and processing in computer science, train their problem-solving abilities in data structure and algorithm, and improve their algorithm designing and programming level. The course will lay a solid theoretical foundation for many IT-related follow-up courses, such as “Digital Image Processing and Image Communication”, “Network Technology and Application” and “Database Technology and Application”, which will benefit the development of non-numerical application software under the background of "Big Information". Besides, this course will help IT-related majors solve the problems of software design in their respective fields.

 Including common data structures such as linear data structures, stacks and queues, arrays, trees and binary trees, collections, search trees, hash tables and graphs, this course will discuss recursive algorithms, typical searching algorithms and sorting algorithms and delivers basic methods of algorithm analysis.

By the end of this course, students should be able to (1) understand and master the common data structures such as linear data structures, stacks, queues, arrays, trees and graph from three aspectsdata logical structure, storage structure, and operations; (2) implement the sorting and searching operations on the basis of various commonly-used data structures.; (3) acquire the ability to analyze time and space complexity of the algorithm; (4) process with appropriate data structure and effective algorithms to solve common application problems.

授课目标

    As a basic course in computer software design both theoretically and practically, this course will focus on abstract representation, algorithm design and algorithm implementation of various data.

   Course Objective 1: Students can understand the basic concepts of data structures, become familiar with the basic methods to reasonably organize data, and form computational thinking to analyze relevant engineering problems in computer-applied fields, building a good theoretical basis for the follow-up major study and further software development.

   Course Objective 2: Students can apply computational thinking to specific problems by analyzing the composition and logical relationship of data elements, designing flexible and efficient data storage structures, and implementing required operations to work out feasible research plans for complicated engineering problems in computer realm.

   Course objective 3: Students can integrate basic theories with design methods of data structure to research and design individual data structure for complicated engineering problems in the computer application, and carry out feasibility study.

成绩要求

Grades for the onlie learning: 20%

Grades for the offline test: 30%

Grades for the experiment reports and final test: 50%

课程大纲
预备知识

Advanced mathematics 

C language programming

参考资料

[1] Algorithms and Data Structures The Basic Toolbox[M]. Kurt Mehlhorn, Peter Sanders. Springer, 2008 

[2]:Sartraj Sahni.Data Structures, Algorithms and Applications in C++(Second Edition)[M].Universities Press, 2005.