Course Code: 314035040
Course Name: Data Structure and Algorithms
Total Hours: 64
Credits: 4
Course Description:
This course is an important theoretical and technical basis of programming, and also the core course of Cyberspace Security. In order to use computers to solve the practical problems of network security programming, students should learn and have a good grasp of the knowledge of data structure. Learning the course "data structure and algorithm" well can help students to learn other Cyberspace Security courses, such as operating system and security, database system and security, application cryptography, software security, etc.
After finishing this course, students should have a good grasp of the basic concept, characteristics and algorithm of data structure, be able to use and design appropriate data structure in practical application, and conduct basic algorithm complexity analysis, including:
1. Understand the basic concepts of data, data structure and abstract data type;
2. Understand the basic technologies of dynamic storage management in operating system and compiler;
3. Understand and master the common data structure logical form, storage form and algorithms for various operations, such as table, stack, queue, string, array, tree, graph, etc;
4. Understand and have a good grasp of common search algorithm, sorting algorithm, etc;
5. Learn to start from the problem, analyze and study the characteristics of the data structure of computer processing, so as to design appropriate logical structure, storage structure and corresponding operation algorithm for the data involved in the applications, and have a good grasp of the analysis technology for time and space complexity;
6. Learn to write the program that conforms to the software engineering specification. The source codes should be clear in structure, correct and easy to read, and be able to debug on the computer and eliminate errors;
7. Train the students' ability to collect relevant information and cooperate in teams.
The teaching method includes two parts: theoretical course and experimental course. The theoretical courses mainly introduce various concepts of data structure and related algorithms. In experimental courses, students are required to practice their theoretical knowledge. Practical projects involve linear table, binary tree, hash table, sorting, graph and other aspects.