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