課程名稱:資料結構 (3學分/3學時)
一、課程總學習目標:
資料結構課程目的在教授學生組織和操作數據的基本概念和技能。學生將掌握各種資料結構的基本操作,分析演算法複雜度並應用於問題解決。課程重點在於培養學生的問題解決能力,完成課程後,學生將具備深入理解和應用資料結構的能力。
二、各單元學習目標:
單元1:演算法導論。
本單元將介紹演算法的設計、分析和應用。課程目標包括:教授常見的演算法設計技巧,如遞迴法(recursive method)、貪婪法(greedy method)、個別擊破法(divide and conquer)與動態程式法(dynamic programming);引導學生學習演算法的時間和空間複雜度分析方法,以評估演算法效率;培養學生將演算法應用於解決實際問題的能力,例如排序、圖形演算法等。完成課程後,學生將具備理解、分析和應用演算法的能力。
單元2:陣列。
本單元課程目標包括:理解陣列的基本概念和特性,包括索引、存取和更新操作;掌握陣列的常見應用,如資料存儲、排序和搜尋;了解動態陣列的實現和操作,以及其與靜態陣列的區別;學習如何解決與陣列相關的實際問題,理解陣列操作的時間和空間複雜度,並學會進行效能分析和優化。完成課程後,學生將具備理解和應用陣列的能力。
單元3:鏈結串列。
本單元課程目標包括:理解鏈結串列的概念和特性,包括節點(node)、指標(pointer)和連接操作;掌握鏈結串列的基本操作,如插入、刪除和搜尋;了解不同類型的鏈結串列,包括單向、雙向和循環鏈結串列,以及它們的應用場合。完成課程後,學生將具備理解和應用鏈結串列的能力。
單元4:堆疊與佇列。
本單元課程目標包括:理解堆疊和佇列的基本概念、特性和操作,包括進出原則和常見應用場景;掌握堆疊和佇列的基本操作,如新增資料、刪除資料並學習如何解決與堆疊和佇列相關的實際問題。完成課程後,學生將具備理解和應用堆疊和佇列的能力。
單元5:樹狀結構。
本單元課程目標包括:理解樹狀結構的基本概念和特性,包括節點(node)、樹根(root)、父子關係和樹葉節點(leaf node);掌握樹狀結構的常見類型,如二元樹(binary tree)、二元搜尋樹(binary search tree)等;學習樹的追蹤演算法,包括前序、中序與後序追蹤;了解樹狀結構的操作,如插入、刪除和搜尋,並學會分析時間複雜度。完成課程後,學生將具備理解和應用樹狀結構的能力。
單元6:圖。
本單元課程目標包括:理解圖的基本概念,包括節點(頂點)和邊,以及不同類型的圖(有向圖、無向圖、加權圖等);掌握圖的表示方法,如相鄰矩陣和鄰接表,以及它們的適用場景和效能分析;學習圖的常見算法,如深度優先搜索(DFS)、廣度優先搜索(BFS)、最短路徑算法等,並了解它們的運作原理和應用;探討圖的應用,如路徑規劃等實際場景。完成課程後,學生將具備理解和應用圖的能力。
單元7:排序。
本單元課程目標包括:理解各種排序演算法的原理,如氣泡排序、選擇排序、插入排序、快速排序、合併排序等;學習排序演算法的實現和操作,並了解它們的時間和空間複雜度。完成課程後,學生將具備深入理解和應用各種排序算法的能力。
單元8:搜尋。
本單元課程目標包括:理解各種搜尋演算法的原理,包括線性搜尋、二元搜尋、雜湊搜尋等;學習搜尋演算法的實現和操作,並了解時間和空間複雜度;探討搜尋演算法的優化策略,如二元搜尋法等。完成課程後,學生將具備理解和應用各種搜尋算法的能力。
三、學分數:3
週次 |
上課日期 |
教 學 與 作 業 進 度 |
學習活動 |
1 |
113/09/12 |
單元1: 演算法導論 (part1) 1-1 演算法基本觀念 1-2 演算法分析 包含以下五項學習活動: (1)課前預習教材。 (2)上實體課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)課程討論板--參與討論。 |
實體課程1 |
2 |
113/09/19 |
單元1: 演算法導論 (part2) 1-3 常用程式設計方法 1-4 發展程式的方法 包含以下七項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)單元測驗:請在上課後一周內(下次上課前)完成測驗。 (7)課程討論板--參與討論。 |
非同步 線上課程1 |
3 |
113/09/26 |
單元2: 陣列 2-1 基本觀念 2-2 陣列儲存方法 2-3 陣列求址公式 2-4 特殊矩陣表示法 包含以下六項學習活動: (1)課前預習教材。 (2)上同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)課程討論板--參與討論。 |
同步 線上課程1 |
4 |
113/10/03 |
單元3: 鏈結串列(part1) 3-1基本知識 3-2串列, 鏈結串列用法/實際範例/特性 3-3鏈結串列/陣列 包含以下七項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。(本周作業為群組作業) (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)單元測驗:請在上課後一周內(下次上課前)完成測驗。 (7)課程討論板--參與討論。 |
非同步 線上課程2 |
5 |
113/10/10 |
單元3: 鏈結串列(part2) 3-4單向鏈結串列 3-5環狀鏈結串列 3-6雙向鏈結串列 包含以下六項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)課程討論板--參與討論。 |
非同步 線上課程3 |
6 |
113/10/17 |
單元4: 堆疊與佇列(part1) 4-1 堆疊(stack) 包含以下七項學習活動: (1)課前預習教材。 (2)上同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)單元測驗:請在上課後一周內(下次上課前)完成測驗。 (7)課程討論板--參與討論。 |
同步 線上課程2 |
7 |
113/10/24 |
單元4: 堆疊與佇列(part2) 4-2 佇列(queue) 包含以下六項學習活動: (1)課前預習教材。 (2)上同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)課程討論板--參與討論。 |
同步 線上課程3 |
8 |
113/10/31 |
單元5: 樹狀結構(part1) 5-1基本觀念 5-2樹狀結構簡介 5-3樹的三項必要特性 5-4樹的定義 5-5重要名詞 5-6二元樹(binary tree) 5-7樹 vs. 二元樹 5-8二元樹重要定理 包含以下七項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)單元測驗:請在上課後一周內(下次上課前)完成測驗。 (7)課程討論板--參與討論。 |
非同步 線上課程4 |
9 |
113/11/07 |
期中考試 包含以下二項學習活動: (1)複習第一周至第八周上課內容。 (2)課程討論板--參與討論。 |
實體課程2 |
10 |
113/11/14 |
單元5: 樹狀結構(part2) 5-9特殊二元樹 5-10二元樹表示法 包含以下五項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)課程討論板--參與討論。 |
非同步 線上課程5 |
11 |
113/11/21 |
單元5: 樹狀結構 (part3) 5-11二元樹追蹤 5-12二元樹追蹤範例 包含以下六項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。(本周作業為群組作業) (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)課程討論板--參與討論。 |
非同步 線上課程6 |
12 |
113/11/28 |
單元6: 圖 (part1) 6-1圖形基本知識 6-2圖形分類 6-3圖形重要名詞 6-4圖形表示法 包含以下七項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。(本周作業為群組作業) (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)單元測驗:請在上課後一周內(下次上課前)完成測驗。 (7)課程討論板--參與討論。 |
非同步 線上課程7 |
13 |
113/12/05 |
單元6: 圖 (part2) 6-5圖形追蹤 6-6最小成本擴展樹 6-7拓樸排序 包含以下六項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)課程討論板--參與討論。 |
非同步 線上課程8 |
14 |
113/12/12 |
單元7: 排序 (part1) 7-1排序定義與簡介 7-2插入排序法 7-3選擇排序法 7-4氣泡排序法 包含以下六項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)課程討論板--參與討論。 |
非同步 線上課程9 |
15 |
113/12/19 |
單元7: 排序 (part2) 7-5快速排序法 7-6合併排序法 7-7實例練習 包含以下七項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)單元測驗:請在上課後一周內(下次上課前)完成測驗。 (7)課程討論板--參與討論。 |
非同步 線上課程10 |
16 |
113/12/26 |
單元8: 搜尋 (part1) 8-1搜尋定義 8-2循序搜尋法 8-3二元搜尋法 包含以下六項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)課程討論板--參與討論。 |
非同步 線上課程11 |
17 |
114/01/02 |
單元8: 搜尋 (part2) 8-4雜湊搜尋法 8-5雜湊函數設計 8-6碰撞處理 8-7實例練習 包含以下七項學習活動: (1)課前預習教材。 (2)上非同步線上課程。 (3)課後複習教材。 (4)作業:繳交期限為上課後一周內(下次上課前)完成線上繳交。 (5)作業互評:請在上課後一周內(下次上課前)完成評定其他同學上周繳交之作業共5份(由系統隨機安排)。 (6)單元測驗:請在上課後一周內(下次上課前)完成測驗。 (7)課程討論板--參與討論。 |
非同步 線上課程12 |
18 |
114/01/09 |
期末考試 包含以下二項學習活動: (1)複習第一周至第十七周上課內容。 (2)課程討論板--參與討論。 |
實體課程3 |