Course Name (Chinese):高级数据结构
(English): Advanced Data Structures
Course Name: Advanced Data Structures |
Course Code: S2298024 |
||||
Semester: 1 |
Credit: 2 |
||||
Program: Computer Science |
|||||
Course Module: Specialized Compulsory |
|||||
Responsible: Mei Yu |
E-mail: yumei@tju.edu.cn |
||||
Department: College of Intelligence and Computing, Tianjin University |
|||||
Time Allocation (1 credit hour = 45 minutes) |
Exercise |
Lecture |
Lab-study |
Project |
Internship (days) |
Personal Work |
4 |
12 |
16 |
16 |
Course Description This course is required for TIEI's Master of Engineering in Computer Science. The advanced data structure is an important method to optimize data storage in the process of computer coding. Graduate students majoring in computer science have relevant knowledge of data structure, but the ability to analyze data structure and use the data structure to model still needs to be improved. The main content of this course includes graph theory and related operations on graphs and common operation methods of tree storage structures. This course aims to develop students' data structure modeling ability and programming abilities. |
|||||||
Prerequisite Ÿ Theoretical computer science: Computational time complexity and space complexity Ÿ Structure-oriented programming language or object-oriented programming language Ÿ Basic knowledge of sequence tables, linked lists, binary tree, and methods on the data structure Ÿ Graph theory, tree-related knowledge, and methods on the data structure. |
|||||||
Course Objectives This course mainly introduces the concept and construction method of data structure and related operations that can be performed using the data structure. After learning the theoretical knowledge, you can understand the modeling method and modeling process of the data structure. After completing this course, students should be able to: Ÿ Master the relevant methods and methods of using arrays, trees, and graphs to construct advanced data structures Ÿ Model and solve problems using data structures and implement coding Ÿ Master how to analyze the complexity of time and space |
|||||||
Course Syllabus Ÿ Basic data structures: linear list, stack, queue, tree, and graph Ÿ Tree data structure union search and its application Ÿ Tree Data Structure Binary Search Tree and Its Application Ÿ Basic path search algorithm and topological sorting Ÿ Connectivity: strong connectivity, correlation connectivity, etc. Ÿ Minimum tree coverage: Dijkstra algorithm, Kruskal algorithm Ÿ Shortest path algorithm: Dijkstra algorithm, Bellman-Ford algorithm |
|||||||
Textbooks & References Ÿ John E. Hopcroft, Rajeev Motwani.Introduction to automata theory, languages, and computation(3rd ed). Pearson, 2006. Ÿ Michael Sipser.Introduction to the Theory of Computation (3rd ed). Cengage Learning, 2012. Ÿ Jürgen Dassow, Gheorghe Paun.Regulated rewriting in formal language theory (1st ed). Springer Publishing Company, 2012. Peter Linz.An Introduction to Formal Languages and Automata (5th ed). Jones & Bartlett Learning, 2011. |
|||||||
Capability Tasks Descriptions of each level are illustrated below: CT1: To understand basic science, and to have analytical ability and the ability to integrate related knowledge. CT2: To apply relevant professional knowledge to the field of science and technology: understanding of the basic concepts and its connotation, application of different methods and concepts which have been learned, capability of judging the scope and limitations of such applications. CT3: To grasp methodologies and engineering tools: identifying, utilizing and solving problems. Even if the students are not familiar with the content, they can turn to computer tools for systematic analysis. CT4: To carry out experiments in research environment with the abilities to utilize tools, especially for data collection and processing. CT11: To have the capacity to understand and evaluate one’s work and understand one’s own abilities (especially in a certain respect of the discipline) and to be able to make correct career choice. CS1: Master the basic theoretical knowledge of own major and understand the development status and trend of own major. CS2: Firmly master the core knowledge and relevant engineering knowledge for computer major, and possess the primary capability of applying the core knowledge and engineering knowledge to system development. CS3:Able to possess relatively good system analysis and software design capabilities, master advanced technologies for solving the actual project problems, able to participate in formulating actual engineering solutions, participate in formulating implementation plans, implement project solutions and complete project tasks, and able to undertake engineering or management work, and effectively solve actual engineering problems in the field of computer science. |
|||||||
Achievements Understand concepts related to advanced data structures-LevelN Encode data structures using familiar programming languages-LevelM Analyze time complexity and space complexity of existing data structure systems-LevelN Use data structures to model problems and optimize legacy systems-Level M |
|||||||
Students:Computer Science,Year 1 |
|||||||
Assessment: |
|||||||
Exam |
Assignment |
Experiment |
Attendence |
Presentation |
Others |
||
√ |
√ |
√ |
√ |
√ |
|||
Language of assessment:chinese Attendance: 5% Homework: 20 % Presentation: 5% Experiment: 20% Final report/test: 50 % |