CCU Course Intro
Course Title (Chinese): 資料結構 Teaching Unit: 資訊工程學系(Department of Computer Science and Information Engineering)
Course Title (English) Data Structure Course Code 4102062_01
Lecturer: 郭建志 Number of Credits 3
Mandatory/Elective Mandatory Year 2
Program Design
Course Introduction:
This course covers the introduction to the use, design, and analysis of fundamental data structures to construct efficient solutions to problems.
Learning Goals:
1. Learn to design data structures
2. Learn to implement data structures in C
3. Learn to use suitable data structures to solve problems
4. Learn to analyze data structures in Big O notation
Fundamentals of Data Structures in C (2/E) by Horowitz, Sahni & Anderson-Freed Silicon Press
ISBN 9780929306407

Course Syllabus Number of Hours Core Capabilities Remarks
Topic Content Lecture Demonstration Assignment Others
Basic Concepts 3
Arrays 4.5
Stacks and Queues 3
Linked Lists 4.5
Trees 6
Before Mid-Term Exam
Graphs 7.5
Sorting 7.5
Hashing 3
Before Final Exam
Efficient Binary Search Trees 6
Selected Topics
Multiway Search Trees 3
Selected Topics

Education Goals
1.專業基礎知識. 使學生擁有扎實的專業基礎知識,成為資訊及相關領域的專業人才
2.培養創造能力. 使學生具有運用所學到的各種專業知識與理論以科學的方法解決問題與創新
3.自我挑戰能力與終身學習. 讓學生習於自我挑戰、獨立思考,學會思維創新、領導及組織團隊、有效溝通、終身學習之能力
4.社會人文素養與國際視野. 讓學生具備關懷社會的情操與人文素養,並具國際觀,奉獻社會國家及人類

Core Capabilities
1.1.具有資訊工程相關基礎知識之吸收與了解的能力(Capability to grasp foundational knowledge in computer science.)
1.2.具有運用資訊工程理論及應用知識,分析與解決相關問題的能力(Capability to use computer science theory and application knowledge to analyze and solve related problems.)
1.3.在資訊工程的許多領域中,具有至少某一項專業能力,例如:硬體、軟體、多媒體、系統、網路、理論等(Professional in at least one area, including hardware, software, multimedia, system, networking, and theory.)
2.1.具有資訊工程實作技術及使用計算機輔助工具的能力(Capability to perform computer science implementations and use computer-aided tools.)
2.2.具有設計資訊系統、元件或製程的能力(Capability to design computer systems, components, or processes.)
2.3.具有科技寫作與簡報的能力。(Capability to write and present technical materials.)
3.1.具有除了已有的應用領域之外,亦可以將自己的專業知識應用於新的領域或跨多重領域,進行研發或創新的能力。(Capability to apply one’s professional knowledge to a new application domain or across multiple different application domains.)
3.2.具有領導或參與一個團隊完成一項專案任務的能力並且具有溝通、協調與團隊合作的能力。(Capability to lead or participate in group projects, with effective communication, coordination, and teamwork.)
3.3.具有因應資訊科技快速變遷之能力,培養自我持續學習之能力。(Capability to adapt to rapidly changing computer science technology and to develop self-learning capabilities.)
4.1.具有社會責任、人文素養及奉獻精神。(The awareness of social responsibilities, humanity, and contribution.)
4.2.具有工程倫理、宏觀能力、國際觀及前瞻視野。(The awareness of engineering ethics, broad capabilities, and global and contemporary vision.)

Please respect to the intellectual property rights, do not photocopy the textbooks which assigned by professors.

Course Details:
1. Teaching Materials:Self DevelopedProvided by Textbook Authors
2. Teaching Method:Lecture SlidesBlackboard Teaching
3. Grading Method:Attendance 0%, Quiz0%, Assignment0%, Programming50%, Technical Report0%,
                       Project0%, Mid-Term Exam20%, Final Exam30%, Final Report0%, Others0%,
4. Teaching Resources:Course Web Site Downloadable Electronic Materials Lab Web Site
5. Other requirements:

Relationship between course education goals and core capabilities        
Please select:
1.1 具有資訊工程相關基礎知識之吸收與了解的能力(Capability to grasp foundational knowledge in computer science.)
Why is it related:
Achieving indicators:
Grading Method:
1.2 具有運用資訊工程理論及應用知識,分析與解決相關問題的能力(Capability to use computer science theory and application knowledge to analyze and solve related problems.)
Why is it related:
Achieving indicators:
Grading Method: