運算(計算)思維(Computational Thinking;CT)


Q1:運算(計算)?思?

“0 和1”==>符號化==>計算化==>自動化思維

活動設計1-"0與1"思維活動

翻牌遊戲(程式設計:力行國小顏國雄老師)

解說:

遊戲規則:牌蓋上是0表示.牌掀開用是1表示..試看看01001?

活動設計2- 語義(問題)符號化思維活動(實際的問題轉換為數學問題)

Q1『爸爸有6個蘋果,拿走3個還有幾個?』

具體問題符號化(抽象化)

小知識:

符號化:實際問題轉化為數學問題,建立數學模型的過程.符號化超越了實際問題的具體情境.這是數學活動和數學思考最本質的東西

 

解說:

將Q1改為『爸爸有一個箱子叫做A,裡面有6個蘋果,拿走了3個,裡面還有幾個?』

活動設計3-預測與邏輯判斷思維活動

Q1請預測下面程式碼片段執行後的結果或目的

A.

B.

C.

D.

 

解說:

程式執行時,我們請使用者輸入任何一個數字,然後判斷(if a < b)是不是對的,如果是對的就顯示小於10,如果是錯的(else)就顯示大於或等於10。這就是預測與邏輯判斷。 雖然你看到的是一個短到不行而且好像沒什麼用的程式碼,但是這觀念確是所有程式設計的最底層核心,也是運算思維最重要的一環。任何偉大的程式,都是從一行程式開始別認為預測和邏輯訓練很簡單,它是所有運算思維及程式設計的基礎,把它融入到日常的課程中而不須獨立出來

Q2:"運算(計算)"重要?還是"思維"重要?

活動設計4-運算(計算)化思維活動

Large Number

http://icm.mcs.kent.edu/research/bignumdemo.html

解說:

人類不需要一再重複發明同樣方法.解決同樣問題.可以站在巨人的肩膀上.挑戰更有意義的新問題.解決重複的舊問題的價值.會愈來越低

“人”計算vs. “機器”計算之差別?

人進行計算:

1.規則可能很複雜, 但計算量卻可能很小
2.人需要知道具體的計算規則

機器計算:

1.規則可能很簡單, 但計算量卻很大
2.機器也可以採用人所使用的計算規則

 


活動設計5-自動化思維活動

1.Wolfram Alpha

https://www.wolframalpha.com/

解說

自動化看成一個「人機合作」的任務, 因為任何一個自動化系統沒有人的介入是不會成功的! 同時人類有許多珍貴的能力是機器達不到, 但卻可以大大的提高生產力!

因此, 擺脫「人是需要被自動化所取代」的思維, 轉而思考更具創造力與生產力的「人機合作」模式

2.歐幾里得演算法(求最大公因數)

http://ct.hfut.edu.cn/demos/gcd.html

解說

 

3.填數字遊戲

https://scratch.mit.edu/projects/130924557/

https://scratch.mit.edu/projects/131289295/

解說

方法1:暴力法

8 ?
? 2
1 5 ? ?
unknow number:
34679
43679|4+6+1+8=19|4+3+9+2=18
63479|6+4+1+8=19|6+3+9+2=20
36479|3+4+1+8=16|3+6+9+2=20
46379|4+3+1+8=16|4+6+9+2=21
64379|6+3+1+8=18|6+4+9+2=21
74369|7+3+1+8=19|7+4+9+2=22
47369|4+3+1+8=16|4+7+9+2=22
37469|3+4+1+8=16|3+7+9+2=21
73469|7+4+1+8=20|7+3+9+2=21
43769|4+7+1+8=20|4+3+9+2=18
34769|3+7+1+8=19|3+4+9+2=18
36749|3+7+1+8=19|3+6+9+2=20
63749|6+7+1+8=22|6+3+9+2=20
73649|7+6+1+8=22|7+3+9+2=21
37649|3+6+1+8=18|3+7+9+2=21
67349|6+3+1+8=18|6+7+9+2=24
76349|7+3+1+8=19|7+6+9+2=24
76439|7+4+1+8=20|7+6+9+2=24
67439|6+4+1+8=19|6+7+9+2=24
47639|4+6+1+8=19|4+7+9+2=22
74639|7+6+1+8=22|7+4+9+2=22|3+9+1+5=18
64739|6+7+1+8=22|6+4+9+2=21
46739|4+7+1+8=20|4+6+9+2=21
96734|9+7+1+8=25|9+6+4+2=21
69734|6+7+1+8=22|6+9+4+2=21
79634|7+6+1+8=22|7+9+4+2=22|3+4+1+5=13
97634|9+6+1+8=24|9+7+4+2=22
67934|6+9+1+8=24|6+7+4+2=19
76934|7+9+1+8=25|7+6+4+2=19
36974|3+9+1+8=21|3+6+4+2=15
63974|6+9+1+8=24|6+3+4+2=15
93674|9+6+1+8=24|9+3+4+2=18
39674|3+6+1+8=18|3+9+4+2=18|7+4+1+5=17
69374|6+3+1+8=18|6+9+4+2=21
96374|9+3+1+8=21|9+6+4+2=21|7+4+1+5=17
97364|9+3+1+8=21|9+7+4+2=22
79364|7+3+1+8=19|7+9+4+2=22
39764|3+7+1+8=19|3+9+4+2=18
93764|9+7+1+8=25|9+3+4+2=18
73964|7+9+1+8=25|7+3+4+2=16
37964|3+9+1+8=21|3+7+4+2=16
37694|3+6+1+8=18|3+7+4+2=16
73694|7+6+1+8=22|7+3+4+2=16
63794|6+7+1+8=22|6+3+4+2=15
36794|3+7+1+8=19|3+6+4+2=15
76394|7+3+1+8=19|7+6+4+2=19|9+4+1+5=19
OK!!! try 46
7
8 6
3 2
1 5 9 4

方法2

 

方法3

1.假設二角落為a(上),b(右),三邊加起來都一樣
(1+2+3+...+9)+(1+a+b)=3的倍數
推敲1+a+b可被3整除 3,4,6,7,9組合,只有4+7符合,
所以a+b=11
2.每邊總和=(45+12)/3=19
3.右邊c=a+b+2+c=19,所以c=6,剩下3或9未定囉
4.下邊d=1+5+d+(4或7)=(10+d)或(13+d)=19
求得d=9或d=6(不合),所以d=9,b=4
5.所以下方=1,5,9,4 左邊=7-8-3-1 右邊=7-6-2-4

4.排序

http://mail.lsps.tp.edu.tw/~gsyan/works/html5/csunplugged/html5_sort_scale/sort_scale.html

http://163.22.72.1/html5/html5_sort_scale/sort_scale.html

解說

https://sites.google.com/a/ntjh.ntct.edu.tw/105pljh/home/07-sortalgorithm

活動設計5- 國際運算思維能力測驗

國際運算思維能力測驗


運算(計算)思維

1.運算思維的概念

(1)CT定義

A.提出CT概念周教授觀點

 

CT的本質=>抽象(Abstract)和自動化(Automation)

 

英文期刊https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf

B.麻省理工教授觀點

C.Google

D.人人心中都有自己的運算思維

分析它、抽象化它、模組化它,設計Step by Step的操作流程

 

(2)CT步驟

運算思維就是解決問題的方法。 當我們面對複雜的問題,能夠理解問題本質、發展可能的解決辦法。然後使用電腦、人或兩者都可以理解的方式來呈現這些解決方案。其步驟分成四個部分:

 

 

總結

資料來源:網路.書籍

(3)如何學習CT

A.知識”隨著“思維”的學習而展開,“思維”隨著“知識”的貫通而形成,“能力”隨著“思維”的理解而提高。

B.從問題分析著手,強化如何進行抽象,如何將現實問題抽象為一個數學問題或者一個形式化問題,提高問題表述及問題求解的嚴謹性。

C.通過圖示化方法來展現複雜的思維可以一目了然;通過規模較小的問題求解示例來理解複雜問題的求解方法;通過從社會/自然等人們身邊的問題理解到計算科學家是如何進行問題求解。

D.追求“問題”及問題的討論,通過逐步地提出問題,使自己從一個較淺的理解層次逐步過渡到較深入的理解層次,通過不同視角和遞階的討論,使自己理解和確定前行的方向。


E.寬度與深度相結合,從寬度學習開始,深度學習結束,既能夠使自己理解相關的思維與知識,還能夠有助於建立起較為科學的研究習慣與研究方法。


F.思維蘊含在案例中,案例蘊含著思維

總結

運用程式設計來教運算思維,訓練邏輯,利用運算思維把事情做好做到有效率,且能學會表達.溝通.合作.創造及批判質疑的能力

2.CT與日常生活的關連及其應用

Q4:如果你要做一頓飯,既要煮飯又要炒青菜炒肉,但又不能做好菜了但飯還沒煮熟,要怎麼做?

解說

 

3.CT重要性及影響

隨著現代科學的形成和發展,人們對CT的作用和意義的認識也越來越提升。在目前的社會,使用CT考慮和陳述問題已經成為越來越熟悉和普遍的事實。CT成為一個現代人所必須具備的素質。周以真教授認為,CT是 21 世紀每一個人都要用的基本工具,它將會像數學和物理那樣成為人類學習知識和應用知識的基本組成和基本技能。當CT真正融入人類活動的整體時,它作為一個問題解決的有效工具,人人都應當掌握,處處都會被使用。而CT是無處不在的,提供了理解世界的智力工具,在人類社會中具有永久的價值。這些都肯定了CT在人類思維活動中 的地位以及在當前科學發展中的重要意義。它是如同所有人都具備“讀、寫、算”(簡稱3R)能力一樣,都必須具備的思維能力。

4.CT相關網站

一、運算思維Computational Thinking相關網站
  1. Exploring Computational Thinking(Google for Education)
  2. CSTA Computational Thinking
  3. Computational Thinking for Educators
  4. Computer Science Unplugged
  5. 107 年課綱資訊科技意見討論交流園地
  6. Computational Thinking with Scratch
  7. 台灣運算思維FB
  8. Computational Thinking In Digital Technologies
  9. Bootstrap
  10. http://www.cs.kent.edu/~pwang/
  11. https://sites.google.com/gm.kl.edu.tw/cdps24551726/%E9%A6%96%E9%A0%81
二、相關影片
  1. CT at Google: Improving the World's Videos with Algorithms and the Internet
三、其他
  1. 親子天下(設計思考)
  2. 東海建築(設計思考)

5.CT相關文件

https://ctfork12.ice.ntnu.edu.tw/

簡單的運算思維

運算思維其實一點也不神祕(上集)

演算法也有不神祕的一面(下集)

資訊通識教育以及計算思維的教學法(洪士灝教授)

教學生寫程式不代表有運算思(洪士灝教授)

賴和隆老師

張原禎老師

謝東森老師

呂聰賢老師

蔡淑玲老師

不插電的資訊科學下載

偷插電的資訊科學2.0

插電的資訊科學(Github力行國小顏國雄老師)

運算思維相關檔案下載

周樂正老師

Google