2017-03-29
,离现在 8
年 209
天,建議確認內容是否仍然適用。運算思維簡介
Introduction to Computational Thinking
教育部運算思維推動計畫
什麼是運算思維
教育部運算思維推動計畫
什麼是運算思維
•
運算思維的定義
•
運算思維的內涵
教育部運算思維推動計畫
3
什麼是運算思維-定義
4
運算思維
資訊科技
應用
程式設計
資訊科學
•
運算思維不等於 . . .
什麼是運算思維-定義
•
“運算思維是利用
電腦科學
的基本概念進行問題
解決、系統設計與人類行為理解的思維模式”
(Wing, 2006)
•
“運算思維讓我們能擁有
電腦科學
家面對問題時
所持有一種的思維模式” (Grover & Pea, 2013)
教育部運算思維推動計畫
5
資料來源:
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-‐35.
Grover, S., & Pea, R. (2013). Computational Thinking in K-‐12: A Review of the State of
the Field. Educational Researcher, 42(1), 38–43.
什麼是運算思維-定義
•
各國
課綱
所提及的運算思維定義
•
美國CSTA
1
「電腦科學」課程
•
一種能
利用電腦
解決問題的思維,包含使用如抽象化、遞迴、迭代等概念來
處理與分析資料,並產出實體與虛擬作品的能力(CSTA, 2011)
•
澳洲「數位科技」課程
•
利用數位科技設計
與
實作演算法
解決問題的思維(ACARA, 2013)
•
英格蘭「運算」課程
•
一種凌駕於電腦軟硬體之上,能
針對系統與問題提出思考架構
的思維模式
(DOEE, 2013)
•
我國「資訊科技」課程
•
具備
運用運算工具
之思維能力,藉以分析問題、發展解題方法,並進行有效
的決策(國教院,2015)
註1:美國資訊科學教師組織(Computer Science Teachers Association, CSTA)
教育部運算思維推動計畫
6
什麼是運算思維-定義
•
根據Google的定義,運算思維包含
•
抽象化
: 為定義主要概念去識別並萃取相關資訊
•
演算法設計
: 產出有序指令以解決問題或完成任務
•
自動化
: 利用電腦或機器重覆任務
•
資料分析
: 透過歸納模式或發展深入分析方法以理解資料
•
資料蒐集
: 蒐集與問題解決相關的資料
•
資料表示
: 用適合的圖表、文字或圖片等表達與組織資料
•
解析
: 將資料、程序、問題拆解成較小、較容易處理的部分
•
平行化
: 同時處理大任務中的小任務以有效達到解題目的
•
樣式一般化
: 產生所觀察樣式的模型、規則、原則或理論以測試預測的結果
•
樣式辨識
: 在資料中觀察樣式、趨勢或規則
•
模擬
: 發展模型以模仿真實世界的程序
資料來源:Google (2015). Exploring Computational Thinking. Retrieved from
https://www.google.com/edu/resources/programs/exploring-computational-thinking/
教育部運算思維推動計畫
7
什麼是運算思維-定義
•
Grover & Pea認為運算思維應包含
•
抽象化與樣式一般化
•
模型化
•
模擬
•
系統化資訊處理
•
符號系統與表示
•
演算法與流程控制
•
迭代、遞迴與平行思考
•
條件式邏輯
•
結構化問題解析
•
效能分析
•
除錯與系統化偵錯
教育部運算思維推動計畫
8
9
Wing
(2006)
(2010)
Barr &
Stephenson
(2011)
CSTA
(2011a)
CSTA
(2011b)
ISTE &
CSTA (2011)
Lee et al.
(2011)
Grover &
Pea (2013)
Abstraction
V
V
V
V
V
V
V
V
Simulation
V
V
V
V
V
V
Algorithm design & procedure
V
V
V
V
V
Data analysis
V
V
V
V
V
Data representation
V
V
V
V
V
Problem decomposition
V
V
V
V
V
Automation
V
V
V
V
Modelling
V
V
V
V
Problem solving
V
V
V
Parallelization
V
V
V
Data collection
V
V
Pattern generalization
V
V
V
Transformation
V
V
Conditional logic
V
Connection to other fields
V
Debug & error detection
V
Efficiency & performance
constraint
V
Pattern recognition
V
Reduction
V
Systematic processing
V
Visualization
V
什麼是運算思維-定義
•
各文獻所提出的運算思維內涵
運算思維
什麼是運算思維-定義
教育部運算思維推動計畫
10
•
運算思維與問題解決
實體世界問題
運算工具
什麼是運算思維-內涵
•
抽象化(Abstraction)
•
除去細節以簡化並聚焦於重點
•
辨識與描述普遍化的性質(一般化)
資料來源:
Kramer, J. (2007). Is abstraction the key to computing?. Communications of the ACM, 50(4),
36-42.
教育部運算思維推動計畫
11
什麼是運算思維-內涵
•
藝術的抽象化
教育部運算思維推動計畫
12
國王的哀愁
Icarus的墜落
什麼是運算思維-內涵
•
語文的抽象化
教育部運算思維推動計畫
13
什麼是運算思維-內涵
•
日常生活中的抽象化
教育部運算思維推動計畫
14
什麼是運算思維-內涵
•
運算的抽象化
教育部運算思維推動計畫
15
圖片來源:
http://www.gitta.info/SpatPartitio/en/html/RegDecomp_learningObject3.html
什麼是運算思維-內涵
•
抽象化包含哪些歷程?
•
辨識並擷取與解題相關的關鍵部分,抽取基本的解題
單元,以重複利用此一解題單元,並擴展解題領域
à
樣式辨識/一般化
•
從複雜的現實世界映射到簡化的抽象模型
à
模型化、模擬
教育部運算思維推動計畫
16
什麼是運算思維-內涵
•
樣式一般化(Pattern generalization)
•
產出共通的模式、規則、原則或理論
教育部運算思維推動計畫
17
2
10
2
x
a
x
圖片來源:
https://zh.wikipedia.org/wiki/%E6%B0%B4%E5%BE%AA%E7%8E%AF
圖片來源:
http://www.businessinsider.com/scientists-‐can-‐now-‐see-‐individual-‐atoms-‐2012-‐9
蒸發
凝結
降水
逕流
什麼是運算思維-內涵
教育部運算思維推動計畫
18
•
樣式辨識(Pattern recognition)
辨識資料表示樣式
辨識演算法樣式
問題
V
n
(j) = Min{d
ij
+V
n
-‐1(i)}, 1≤j≤N
什麼是運算思維-內涵
•
樣式辨識與一般化讓運算發揮其能力
教育部運算思維推動計畫
19
河內之塔:透過解題規則的找
尋,讓運算幫我們處理人腦難
以運作的盤子數量。
碎形:透過繪製規則的找尋,讓運算
幫我們繪製人類難以處理的複雜圖形。
什麼是運算思維-內涵
•
模型化(Modelling)
•
根據不同需求(為了容易瞭解、定義、量化、
視覺化或模擬等),將複雜的現象以簡化的方
式表達
•
可用以將抽象的概念視覺化
•
可作為實驗結果闡釋的依據
•
可作為預測的基礎
教育部運算思維推動計畫
20
什麼是運算思維-內涵
•
演算法思維(Algorithmic thinking)
•
產出有序指令以解決問題或完成任務
教育部運算思維推動計畫
21
什麼是運算思維-內涵
•
資料表示(Data representation)
•
用適合的圖表、文字或圖片等表達與組織資料
教育部運算思維推動計畫
22
圖片來源:
https://www.opengl.org/discussion_boards/s
howthread.php/124961-‐Increasing-‐
Brightness-‐Contrast-‐of-‐an-‐Image
運算思維的重要性
教育部運算思維推動計畫
運算思維的重要性-日常生活
•
美國卡內基梅隆大學教授 Jeannette M. Wing 認為在基礎語言能力中應該
加入電腦運算的因素,在讀、寫和算數之外,還需要該加上電腦運算的概
念:「電腦運算思考的技巧,並不是只有電腦科學家的專利,而是每個人
都應該具備的能力及素養。」
•
日常生活與運算的關係愈來愈密切
•
社交網路
•
智慧型居家
•
醫療
•
交通
•
購物
•
…
•
具備運算思維能更善用運算解決日常生活問題
教育部運算思維推動計畫
24
運算思維的重要性-職涯發展
•
科學與工程領域
•
利用運算模擬建築結構,以確認安全性
•
利用運算預測氣象,以增加準確性
•
人文與社會領域
•
利用運算分析並優化廣告投放策略
•
利用運算分析人口老化趨勢與醫療資源分布
•
藝術領域
•
利用運算建構三維動畫
•
利用運算創作數位音樂
教育部運算思維推動計畫
25
如何培養運算思維
教育部運算思維推動計畫
如何培養-
運算思維與資訊科技課綱
•
各國課綱與運算思維
教育部運算思維推動計畫
27
美國CSTA電腦科學課程
英格蘭運算課程
CSTA (2011). CSTA K–12 computer science standards. The ACM K-‐12 Education
Task Force. Retrieved from
http://www.csta.acm.org/Curriculum/sub/CurrFiles/CSTA_K-‐12_CSS.pdf
http://www.barebootcas.org.uk
教育部運算思維推動計畫
如何培養-
運算思維與資訊科技課綱
28
•
我國課綱與運算思維
如何培養-
運算思維與其他學科領域
運算思維元素
各領域應用範例
資訊科學
數學
科學
社會研究
語言藝術
抽象化
使用程序來封裝一組經
常重複使用的指令;使
用函數;使用條件敘述、
迴圈、遞迴等
使用代數的變數;辨識應
用問題中的基本事實;研
究代數函數並與程式函數
比較;使用迭代(iteration)
來解決應用問題
為一個物理
的實體建立
模式
總結事實,
從事實中演
繹結論
使用明喻和
隱喻;寫有
分支的故事
問題解析
定義物件和方法;定義
main和functions
利用表示式表達運算順序 對物種進行
分類
撰寫大綱
資料表示
使用資料結構,例如:
陣列(array), 鏈結串列
(linked list), 堆疊(stack),
佇列(queue), 圖(graph),
雜湊表(hash table)等
用長條圖、圓餅圖表示資
料;使用集合、數列、圖
等表示資料
從實驗資料
做出結論
總結並表達
趨勢
為不同句型
呈現其樣式
模式化與模擬
利用動畫呈現演算法,
參數掃值(parameter
sweeping)
繪製笛卡爾平面上的函數
並修改變數的值
模擬太陽系
運動
玩世紀帝國、
Oregon trail
重現一個故
事
演算法思維
學習經典演算法;針對
某一領域的問題實作演
算法
做長除法、因數分解;作
加減法的進位
進行實驗程
序
撰寫操作說
明
•
運算思維元素於各領域之應用範例
29
資料來源:Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K-12: What is involved and what is the role of
the computer science education community? ACM Inroads, 2, 48
–54.
各領域培養運算思維
•
程式設計融入教學是各領域培養運算思維的可行方法
「侵權舉報」
提交相關資料,我們將儘快核實並處理。