臺中國小資訊研習 (運算思維)
運算思維COMPUTATIONAL THINKING (CT) 什麼是運算思維 Computational Thinking (CT)是一種解 決問題的過程。CT對計算機應用 的發展至關重要,但它也可以被 用來支持所有學科,包括人文科 學,數學和科學問題的解決。
運算思維COMPUTATIONAL THINKING (CT) 什麼是運算思維 如果你今天和朋友約在一個從沒有去過的地方,你 可能出門前,會先規劃路線,你會想那些路線可以 到,以及那一條路最好。例如最短、最快、或有經 過喜歡的商店,接下來就會按著計劃的一步一步進 行。 以上計劃的過程就是運算思維,按照指示的方式執 行就是使用程式。 能夠把複雜的問題轉換成我們容易理解的問題是非 常有用的,事實上你可能已具備這項技能。
運算思維COMPUTATIONAL THINKING (CT) 運算思維的四個步驟 問題分解(Decomposition) 將一個複雜的問題分解成很多的小問題,進而能夠更 容易的了解,處理跟維護 模式識別 (Pattern Recognition) 尋找問題中的相似之處 重點摘要(Abstraction) 只專注於重要的信息,忽視無關緊要的細節 演算法設計(Algorithm Design) 開發解決這個問題的步驟、規則
運算思維COMPUTATIONAL THINKING (CT) 生活中的分解範例(如何破案) 警官在思考破案問題的時會將複雜問題“分解”成一系列的 小問題 是犯了什麼罪 犯罪何時發生 在那裏發生 有什麼樣的證據 是否有任何證人 最近是否有類似的罪行 一個複雜的問題被分解成好幾個小問題並一一詳細分析
運算思維COMPUTATIONAL THINKING (CT) 什麼是模式識別 想像一下我們想要畫一系列的貓 所有的貓都共享一些屬性,譬如說他們 都有眼睛,尾巴,毛髮,喜歡吃魚跟喜 歡喵喵叫。 因為我們知道所有的貓都有這個屬性, 當我們想要畫貓的時候便可將這些共有 的屬性加入其中讓畫貓這項工作變得更 簡單。
運算思維COMPUTATIONAL THINKING (CT) 為什麼我們需要找模式 找到模式是非常重要的,模式讓問題簡化,當問題共享 特徵時,他們能夠被更簡單的解決,因為當共通模式存 在時,我們可以用相同的問題解決法去解決此類問題。 當我們發現越來愈多的模式時,解決問題會變得更加容 易以及迅速。 當我們想要畫貓的時候,找到基本畫貓的模式,像是有 眼睛,尾巴跟毛髮,能讓這項事情變得更簡單跟快速的 完成。 我們知道所有貓都遵循此一模式,所以我們不用每次畫 貓的時候都停下來找出這些屬性,依據我們得出來的模 式,我們可以很快地畫出很多隻貓。
運算思維COMPUTATIONAL THINKING (CT) 重點摘要 什麼是特性?什麼是共同屬性? 用畫一系列貓咪的例子。我們知道所有的貓都有共同屬性,像是眼睛, 尾巴,毛,喜歡吃魚跟會喵喵叫。除此之外每一隻貓有自己的個別屬 性像是黑色的毛,長尾巴,綠眼睛,喜歡吃鮭魚以及大聲喵喵叫。這 些個別屬性我們稱之為特性。 我們必須知道共同的屬性(有眼睛,尾巴,毛)去畫出基本的貓咪, 這些屬性是相關的,共通的。而我們不需要知道特性(黑色的毛,長 的尾巴)去畫出基本的貓咪,這些與基本屬性並不相關,可以以後再 解決。所以這些特性應該被過濾掉。 共同的屬性就是摘要出來的重點。 特性則是過濾掉的資訊。
運算思維COMPUTATIONAL THINKING (CT) 為什麼重點摘要很重要 重點摘要讓我們建立一個通用的問題以及怎麼解決他。 這個過程需要我們把特性以及無法幫入解決問題的模 式去掉。這幫助我們將問題具體化,而這個具體化的 問題則稱之為“模板(model)”。 如果我們不做重點摘要的話,我們很有可能找出一個 錯誤的答案。以畫貓咪為例子,如果我們不做重點摘 要,畫貓咪的模板可能會被設定為所有的貓都有長尾 巴跟短毛,做完重點摘要後我們知道雖然貓咪有尾巴 跟毛,但是並非所有都是長尾巴或是短毛。此過程幫 入我們建立正確的基本貓咪的模板。
運算思維COMPUTATIONAL THINKING (CT) 什麼是演算法 演算法就是計劃,這個計畫裡面包含解決問 題的每一個步驟跟指示,如果你知道怎麼繫 鞋帶,怎麼泡茶,怎麼煮飯你已經知道如何 遵從演算法來完成任務了。 在演算法當中,每一個指示以及順序都是經 過計畫過的,演算法常常被使用為設計電腦 程式的第一步,常見的演算法表示方式包含 流程圖以及偽代碼(pseudocode)。
運算思維COMPUTATIONAL THINKING (CT) 製作計畫 運用運算思維以及問題分解我們可以把複雜的問題分 解成很多的小問題,然後我們再計畫如何把每一個小 問題的答案用正確的順序拼在一起得出最後的答案。 這個順序可以被表示成為演算法,而必須包含以下幾 個要素 起始點 清楚的中間步驟 終結點
運算思維COMPUTATIONAL THINKING (CT) 流程圖圖示
運算思維COMPUTATIONAL THINKING (CT) 一個簡單的程式範例 年高德劭 小鮮肉
趨勢1 十二年國教課綱草案,訂定: 資訊科技: 國中必修6 學分 高中必修2 學分
趨勢1 此次資訊科技課程規劃的基本理念 係以『運算思維』為主軸,透過電 腦科學相關知能的學習,培養邏輯 思考、系統化思考等運算思維,並 藉由資訊科技之設計與實作,增進 運算思維的應用能力、解決問題能 力、團隊合作以及創新思考的能力。
趨勢2 先進國家將「程式設計」向下紮根。 「現今每家公司都是一間軟體公司, 軟體無所不在:晶片、韌體、作業 系統、使用者介面、應用程式、遊 戲、網頁、企業、生活方式等等」- 《富比世》雜誌, 2011
美國 2014 年 12 月 8 日歐巴馬宣佈,全 美 60 多個學區為全體學生提供電 腦程式設計課程 大約有 1,000 多所國中、400 多萬 學生
英國 將寫程式列為國中小必修課程 將2014年訂為「程式之年」 (Year of Code) 5歲開始學雙語:英語、電腦語
愛沙尼亞 2012,先導計畫20所學校參加 不到 10 歲的學生已經懂得使用 Scratch 拼湊出自己的第一個小遊戲
程式語言 「程式設計普及化,有助創新想法 提早實現」(林榮彬) 2016年熱門程式語言排行榜 (圖片來源:IEEE)
學程式設計的用意: 並非要把所有人都變成開發者 學習運算思維,認識「邏輯」 培養解決問題的能力
怎麼做? 營造可親的環境。 讓程式「去神秘化」。
怎麼教程式設計? 分析腳本(把大問題拆成小問題)
怎麼教程式設計? 掌握:變數、序列、選擇、重複 的概念。 讓學生自己創造或debug簡單的程式 持續發展邏輯推理能力,學習使用網站與其它 網路服務。 使用電子裝置「創造、組織、儲存、操作、取 回」數位內容 更多使用裝置蒐集、分析、呈現後端數據與資 料的練習。
教學資源 不插電的資訊科學 https://www.playcodemonkey.com/ https://code.org/ https://codecombat.com/