資料結構

Download Report

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 的物件模型對學生較為陌生,牽涉簡單物件操作概念。
謝謝各位指教
問題討論與教學方法分享