林育慈
國立台灣師範大學
資訊教育研究所
運算時代中的
思維與教學-運算思維簡介
大綱
資訊科技課綱
什麼是運算思維?
資訊科技課綱
各國教育趨勢
我國資訊教育課綱
• 資訊科技課程是以
運算思維
為主軸,透過電腦科學相關
知能的學習,培養邏輯思考、系統化思考等運算思維,
並藉由資訊科技之
設計與實作
,增進運算思維的
應用
能
想一想
• 過去的課綱雖亦強調問題解決,但各學科皆
強調問題解決,是否不同的學科都學習相同
的問題解決策略(分析問題、蒐集資訊、發展
解法、測試解法…)?
• 資訊科技課程該學習什麼問題解決策略?是
否有別於其他學科?
• 運算的時代中,我們該讓孩子多學什麼問題
解決策略?
什麼是運算思維
運算思維是 . . .
• Computational
thinking
• Computation
is
– the act or action of
computing
– the use or operation of a
computer
運算思維不等於 . . .
9
運算思維
資訊科技
應用
程式設計
資訊科學
什麼是運算思維-定義
• “運算思維是利用
電腦科學
的基本概念
進行問題解決、系統設計與人類行為理
解的思維模式” (Wing, 2006)
• “運算思維讓我們能擁有
電腦科學
家面
對問題時所持有一種的思維模式”
(Grover & Pea, 2013)
10
資料來源:
什麼是運算思維-定義
• 根據Google的定義,運算思維包含
– 抽象化
:為定義主要概念去識別並萃取相關資訊
– 演算法設計
:產出有序指令以解決問題或完成任務
– 自動化
:利用電腦或機器重覆任務
– 資料分析
:透過歸納模式或發展深入分析方法以理解資料
– 資料蒐集
:蒐集與問題解決相關的資料
– 資料表示
:用適合的圖表、文字或圖片等表達與組織資料
– 解析
:將資料、程序、問題拆解成較小、較容易處理的部分
– 平行化
:同時處理大任務中的小任務以有效達到解題目的
– 樣式一般化
: 產生所觀察樣式的模型、規則、原則或理論以測試
預測的結果
– 樣式辨識
:在資料中觀察樣式、趨勢或規則
– 模擬
:發展模型以模仿真實世界的程序
教育部運算思維推動計畫
11
什麼是運算思維-定義
• Grover & Pea認為運算思維應包含
– 抽象化
與
樣式一般化
• 模型化
• 模擬
– 系統化資訊處理
– 符號系統與表示
– 演算法與流程控制
• 迭代、遞迴與平行思考
• 條件式邏輯
– 結構化問題解析
– 效能分析
12
什麼是運算思維-定義
• 各文獻所提出的運算思維內涵
13
Wing
(2006)
(2010)
Barr &
Stephens
on (2011)
CSTA
(2011a)
(2011b)
CSTA
ISTE
&
CSTA
(2011)
Lee et al.
(2011)
Pea (2013)
Grover &
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
運算思維
什麼是運算思維-定義
• 運算思維與問題解決
14
實體世界問題
運算工具
什麼是運算思維-內涵
• 抽象化(Abstraction)
– 除去細節以簡化並聚焦於重點
– 辨識與描述普遍化的性質(一般化)
資料來源:
Kramer, J. (2007). Is abstraction the key to computing?. Communications of the ACM, 50(4),
36-42.
什麼是運算思維-內涵
• 藝術的抽象化
16
國王的哀愁
「畫中他重現了幾個重大的主題
-
音樂
、
舞蹈
、
生活
、
死亡
。畫
面中豔麗的
色彩
和無所不在的
花
瓣
,似乎是對黑色死亡的抗爭。
向左倒下的三個人物令人想起舞
蹈動作與音樂節奏。在此隱喻
中,作者向世人展現對生命快樂
的思考,超越裝飾繪畫的貧乏。」
(Edina Bemard,現代藝術,
閣林國際圖書有限公司)
什麼是運算思維-內涵
• 語文的抽象化
什麼是運算思維-內涵
• 日常生活中的抽象化
什麼是運算思維-內涵
• 數學與科學的抽象化
什麼是運算思維-內涵
• 運算的抽象化
20
圖片來源:
什麼是運算思維-內涵
• 樣式一般化(Pattern generalization)
– 產出共通的模式、規則、原則或理論
2
10
2
x
a
x
什麼是運算思維-內涵
• 樣式辨識(Pattern recognition)
– 在資料中觀察樣式、趨勢或規則
–
https://www.youtube.com/watch?v=VbELngQiRW4
什麼是運算思維-內涵
• 樣式辨識(Pattern recognition)
23
辨識資料表示樣式
辨識演算法樣式
問題
V
n(j) = Min{d
ij+V
n-1(i)}, 1≤j≤N
什麼是運算思維-內涵
• 樣式辨識與一般化讓運算發揮其能力
24
碎形:透過繪製規則的找尋,讓運算
幫我們繪製人類難以處理的複雜圖形。
什麼是運算思維-內涵
• 演算法思維(Algorithmic thinking)
– 產出有序指令以解決問題或完成任務
什麼是運算思維-內涵
• 資料表示(Data representation)
– 用適合的圖表、文字或圖片等表達與組織資料
26
圖片來源:
https://www.opengl.org/discussion_bo
為什麼要培養運算思維
這是一個運算的時代
The
Apple Watch
, released in 2015.
Paul Schottmiller
- March 19, 2013
GHETTO UBER
DRIVER頻道建立
者:
Latrell G.
需求與契機
• STEM人才需求增加,computing人才需求尤其顯著
資料來源:
U.S. Bureau of Labor
Statistics
(US-BLS)
各先進國家的因應
“Learning programming isn’t just
important for your future, it’s
困境與展望
英國金融時報(Financial Times)的分析報導一針見血地指出:
「台灣本土最優秀的企業要數台積電(TSMC):芯片製造業的領
軍者,市值超過600億美元,但其品牌幾乎算不上世界知名。台灣
最著名的企業或許要算富士康(Foxconn)。該公司幫助其他公司
組裝產品,包括蘋果(Apple)的iPhone,利潤率不到4%。」。
台灣人最自豪的兩大企業尚且如此自我設限,其他企業可見一斑。
「未來五年,台灣電子商務人才缺乏狀況會非常嚴重,
PChome集團現在也缺少三百至四百位左右的工程師,」
PChome Online網路家庭董事長詹宏志直言。。這個
困境同樣蔓延到雅虎奇摩、momo購物網、聖洋科技
(cacaFly)、沛星互動科技(Appier)、台灣雪豹科
技等,一系列不同規模的網路企業,同聲慨嘆工程師的
短缺。
如何培養運算思維
運算思維的教學
• 較缺乏運算思維的傳統教學
– 軟硬體操作
– 指令記憶
– 照步驟進行
– 缺乏策略、思維
– 培養電腦使用者,非善用與創造者
• 運算思維導向教學
• 了解軟硬體運作,進而
可活用(甚至創造)軟硬體
解決問題
• 設計程式解決問題
• 設計問題解決程序
• 根據電腦科學各式策略
設計解法
• 成為善用與創造者
運算思維的教學
• 運算思維導向問題解決教學
– 培養學生基於
電腦科學知能
,以利用
運算
解決問題
之能力
運算思維
電腦科學知能+問題解決
如何設計運算思維導向教學
學習內容
運算思維
學習表現
資D-IV-1
資料數位
化
之原理與方
法
資D-IV-2數位資料
的
表示方法
資D-IV-3
資料處理
概念與方法
資料表示與處理
抽象化
演算法思維
資t-IV-4能應用
運
算思維解析
問題
資p-IV-1能選用適
當的資訊科
技
組織思維
,
並進行
有效
的表達
選擇課綱
學習內容
對應重要
運算思維
對應主要
學習表現
提醒自己教學策略
與教材設計應注意
的原則
規劃教學內涵
運算思維導向教材設計
• 範例一
樣式辨識(Pattern recognition)
、
問題解
析(Decomposition)
– 透過視覺化圖形的辨識,了解
遞迴
的樣式(pattern)並
透過解析找到基本元素與遞迴關係
基本元素
(Base case)
遞迴關係
(Recursive case)
遞迴的擴展
運算思維導向教材設計
• 範例一
樣式辨識(Pattern recognition)
、
問題解
析(Decomposition)
– 透過觀察與繪製,了解並體驗
遞迴
的樣式(pattern)
運算思維導向教材設計
• 範例一
樣式辨識(Pattern recognition)
、
問題解析
(Decomposition)
運算思維導向教材設計
def koch(t, order, size):
if order == 0:
t.forward(size)
else:
koch(t, order-1, size/3
t.left(60)
koch(t, order-1, size/3)
t.right(120)
koch(t, order-1, size/3)
t.left(60)
koch(t, order-1, size/3)
基本元素
基本元素
遞迴關係
遞迴關係
運算思維導向教材設計
範例二
抽象化(Abstraction)
、
資料表示(Data representation)
• Data compression (Exploring Computational Thinking, Google for
Education)
運算思維導向教材設計
• 範例二
抽象化(Abstraction)
、
資料表示(Data
representation)
– 教出壓縮策略與資料表示的
精神
• 用最少位元數精確表達資訊
• 能夠解碼(解壓縮)
運算思維導向教材設計
範例三
問題解析(Decomposition)
、
演算法思維(Algorithmic thinking)
• Water Water Everywhere! (Exploring Computational Thinking, Google for
Education)
Instruction
Quantity in A (max 4)
Quantity in B (max 7)
START
0
0
Fill A
4
0
A -> B
0
4
Fill A
4
4
A -> B
1
7
Empty B
1
0
A -> B
0
1
運算思維導向教材設計
• 範例四
演算法設計(Algorithm design)
– 透過視覺化的地圖與路徑,了解
最小成本的
路徑
的演算法設計
43中學運算思維教材及評量工具之開發及推廣計畫
運算思維導向教材設計
• 範例五
資料表示(Data representation)
– 透過視覺化的地圖、花費、與陣列的對應,
了解
陣列資料結構與圖(Graph)
的資料表
示概念
44運算思維導向教材設計
• 範例六
樣式辨識(Pattern recognition)
、
模擬
(Simulation)
45Scratch 軟體模擬
實作機器車螺旋式移動
中學運算思維教材及評量工具之開發及推廣計畫
運算思維導向教材設計
• 範例七
樣式辨識(Pattern recognition)
運算思維導向教材設計
• 範例八
樣式辨識(Pattern recognition)
– 透過聽覺化音樂的辨識,了解
模組化
的樣式(pattern)
A’
A’
B
A
運算思維導向教材設計
• 範例八
樣式辨識(Pattern recognition)
– 透過聽覺化音樂的辨識,了解
模組化
的樣式(pattern),
進一步進行音樂創作
主歌Verse
副歌Chrous
範例九
資料表示與處理、演算法思維
資料壓縮
活動 拼出間諜的長相
你拿到了敵方陣營的間諜拼圖,不幸被打散了,由於捉出間諜之時間有限,只能以十
片拼圖將敵方陣營的間諜照片拼起來,你會選哪幾片拼圖拼出最像的間諜?為什麼?
49
運算思維導向教材設計
運算思維導向教材設計
活動 黑白旗
分成兩組,每組再分為發訊者與收訊者,各組先根據字庫,
設計好編碼的原則,然後各組發訊者與收訊者帶開,由發
訊者用黑白旗發出老師指定的訊息,收訊者負責解碼,看
各組收訊者誰的解出來的訊號是正確的。
• 字庫: ABEFILMNOTUVXYZ
50
• 教學工具與環境-多媒體教材
51
Function insertionSort(Type data[1..n]) Index i, j; // 1 Type value; // 1 For i from 2 to n do // n - 1
value = data[i]; // n - 1 j = i - 1; // n - 1
While j >= 1 and data[j] > value do // n - 1 data[j + 1] = data[j]; // 0 j = j - 1; // 0 data[j + 1] = value; // n - 1 End