教務系統課程大綱

一、課程目標Course objectives:
介紹各種不同的資料結構與演算法,強調其基本觀念與使用的時機,使學生能撰寫出有效率的應用程式

二、師生晤談時間及地點Instructor office hours:
3bcd(管5047)

三、授課方式Teaching approach:
Lecture, 考題解析

四、評量方式Grading criteria:
作業與小考(60%), 期中考 (15%), 期末考(25%)

五、參考書目Textbook & references:
教科書:
1. Fundamentals of Data Structures in C++ 2nd, by E. Horowitz, S. Sahni, D. Mehta,
Sillicon Press, 2008. 開發代理, ISBN 0-929306-37-6
參考書:
2. Introduction to Algorithms 2nd, by T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein,
McGraw Hill, 2001.


六、教學進度(週次、授課主題、教學活動、評量方式/作業、章節)
Course schedule (week, topic, activities, evaluation/assignment, text, etc.):
第1週: Introduction to Sorting, Bubble Sort, Insertion Sort, Selection Sort
第2週: Quick Sort, Heap Sort, Merge Sort
第3週: Counting Sort, Radix Sort, Shell Sort(課外閱讀)
第4週: Introduction to Graphs, Graph Traversal
第5週: Biconnected Component, Min Heap, Minimum Cost Spanning Tree(紙筆考試)
第6週: Shortest Path Problem(紙筆考試)
第7週: Topological Sort, Critical Path Analysis
第8週: Single- and Double-Ended Priority Queues
第9週: Leftiest Tree(紙筆考試)
第10週: Binomial Heaps
第11週: Fibonacci Heaps
第12週: Optimal Binary Search Trees(Dynamic Programming)
第13週: AVL Trees(紙筆考試)
第14週: m-way Search Trees
第15週: Red-Black Trees(紙筆考試)
第16週: B Trees, B+ Trees
第17週: Dynamic Programming Problems(Fibonacci number, Cutting Woods, Matrix Mutliply)
第18週: 期末考(學生口頭報告)

七、TA協助事項Teaching Assistant tasks:作業批改, 問題解答

八、備註Remarks:

九、本課程可培養學生之核心能力與教學活動及評量方法對應表

教學活動:
1.課堂討論(含個案討論)
2.書面報告、作業、作品、實驗
3.學生口頭報告
4.課程規劃之校外參訪及實習
5.證照/檢定
6.參與課程規劃之校內外活動及競賽
7.課外閱讀
8.其他

評量方法:
1.紙筆考試或測驗
2.實作評量﹙含口頭、書面報告、實習、表現評量﹚
3.其他表現

培養學生資訊技術應用與創新能力(學士班)之教學活動:3,7
培養學生資訊技術應用與創新能力(學士班)之評量方法:1,2,3
最後修改: 2013年 06月 24日(週一) 06:11