Transcript 資料結構
資訊科學選修科目- 進階程式語言 教學示例 Chang Chi-Chung 國立大里高級中學 資訊科學選修科目 普通高級中學選修科目「資訊科學」課程綱 要建議開設之科目 基礎程式設計 ( 1-2學分) 進階程式設計 ( 2學分) 資訊科學與應用專題 (2-4學分) 課程目標 培養學生深入學習資訊科學相關主題之能力。 培養學生多元探索資訊科學各領域之研究精神。 培養學生邏輯思維與創新思考之能力。 培養學生統合運用資訊科技工具以解決問題之能力。 進階程式設計課程主題 模組化程式設計 (0-6節) 進階資料型態 (8-12節) 資料結構 (10-12節) 演算法 (10-12節) 資料結構課程內容 佇列 佇列用途 佇列使用方法 堆疊 堆疊用途 堆疊使用方法 鏈結串列 鏈結串列用途 鏈結串列使用方法 樹狀結構(※選授) 樹狀結構用途 樹狀結構使用方法 集合(※選授) 集合用途 集合使用方法 資料結構 – 容器 Container 堆疊 佇列 陣列 樹 鏈結串列 雜湊 集合 資料結構教授重點 依據課綱精神,本單元主要是讓學生瞭解各種資料結構的用 途及使用方法,各資料結構的實作細節並非授課的重點。 教學時應著重於各資料結構的性質、應用方式以及使用時機 介紹,資料結構實作的細節應當作黑箱處理。 為何隱藏實作細節? 因為現在的程式語言,除了語法本身外,均提供資料結構的函 式庫,確切的瞭解每種資料結構的優缺點及其使用方式,非常 有助於電腦問題解決。 學習「資料結構」的目的在能將其運用於程式設計中,以解決 問題。 C++ STL、 Java Class Library、 C# .Net Framework 程式語言選用考量 資料結構獨立於程式語言,即各資料結構的特性在 任何程式語言中應當不會改變。唯在教學中,卻有 一些選用考量。 選用考量 學生的熟悉度 資料結構相關函式庫的支援 發展工具的取得 選用程式語言 C:Standard C 並沒有提供相關的函式庫,需使用第三方的函式庫, 或由教師自行準備。 C++:在 STL 提供有基礎的資料結構,可以直接使用 VB.Net:在 .Net Framework 中提供有相關類別,可以直接引用。 資料結構教學設計 讓學生瞭解資料結構的梗概 (例如:以日常生活例子舉例) 使用方法教學(基本操作說明) 在資訊領域中應用說明 解題示範與練習 資料結構教學方式(1) 結合日常生活與既有之經驗,提出適當的例子,讓 學生對於要學習的「資料結構」有大致的瞭解。 佇列 排隊買票 堆疊 紙杯拿取、教師超額 鏈結串列 樹狀結構 生物的分類、祖譜 集合數學上的集合 以實物操作活動,讓學生明瞭資料結構的特性。 堆疊以筒子放球、紙杯堆疊等示例。 對於複雜結構,可先定義名詞。 樹狀結構的名詞介紹 樹的名詞介紹 A node children B C E siblings D degree B, D E parent B K 1 L leaf F G H M 2 3 J 3 ancestors 4 I A, D, H height or depth = maximum level of any node in the tree = 4 degree of a tree = maximum of the degree of the nodes = 3 資料結構教授方式(2) 使用方法教學 建立、新增、刪除、尋找、其他操作 透過與學生討論或分析資料結構的特性、優缺點以及使用時機,作為總 結。 在資訊領域的應用 此部份可以透過討論、講述方法進行 目的在讓學生更深入瞭解所學習的資料結構(經驗結合與內化) ,並初 步認識資訊科學的內涵。 示範與練習 透過實際解題,讓學生瞭解資料結構 題目何處尋? 平日蒐集 教師自己出題 Zero Judge、ACM Judge 我的夢想與計畫? C++ STL 介紹 C++ Standard Template Library http://www.cppreference.com 提供有 Queues Stacks Lists Sets Maps Vectors 「資訊科學與應用專題-資料庫」 教學示例 Chang Chi-Chung 國立大里高級中學 2010.04.06 資訊科學與應用專題課綱 課綱安排 (1-4學分) 導論 主題簡介 1-1學習內容概述 1-2主題內容在日常生活或工作場所之應用 主題內容 相關知識 相關工具 實作 課綱建議之教學方式 教學應以「做中學」為重點,並鼓勵學生進行自主性、 探索式的學習。 教學活動之設計宜強調分組合作解決問題。 資料庫專題的教學設計 教學時數:1學分18節課,建議一週一節。 教學目標 認識資料庫系統軟體 瞭解並能建構出簡單的資料庫系統 認識並能使用資料庫查詢語言 教學設計理念 教師以一個完整的例子,以此例子貫穿整個課程,循序漸進引導 學生瞭解資料庫各項概念。 目標導向,學生於開始時即進行分組,朝完整專題前進。 教師教完一個概念後,就讓學生分組進行相關的實作,以使學生 能由子功能逐漸組合成完整系統。 展示簡報、書面報告也是學習的一環,一定要安排足夠時間進行 此項活動。 資料庫選用 輕量型之資料庫(建議) MS Office 之 Access Open Office 之 Dbase MS SQL Express 大型資料庫 MySQL MSSQL (需注意版權問題) 主要教學內容概念 認識資料庫及類型 瞭解資料庫系統的應用 認識資料表 資料表關聯 資料庫維護(資料庫查詢語言) 表單 報表 資料庫專題舉例 8-12 便利商店進銷貨系統 鐵牛人事管理系統 美少女漫畫出租系統 個人通訊錄管理系統 個人零用金管理系統 校園新聞公告系統 校園物品修繕登記系統 其他…(由各小組提出並經教師審核同意) 程式設計的配合 有些學生程度較佳,可以考慮加上程式語言配合 資料庫運作。 可以等學生於專題分組製作時,個別分組指導。 考量點 PHP + MySQL 學生熟習 HTML原理、網頁製作技術嗎? 學生的程式設計具有一定基礎嗎? Access 與 VBA Access 的物件模型對學生較為陌生,牽涉簡單物件操作概念。 謝謝各位指教 問題討論與教學方法分享