什麼是「運算思維」要如何培養?

讓我們面對複雜的問題,能夠理解問題本質、發展可能的解決辦法。然後使用電腦、人或兩者都可以理解的方式來呈現這些解決方案。(參考:BBC)

運算思維就是解決問題的方法

分成四個部分:

  1. 拆解(Decomposition):將複雜的問題或系統分解成更小、更易於管理的問題;
  2. 模式識別(Pattern Recognition):為了讓解決問題更有效率,將每個小問題分別檢視,思考之前是否有解過類似的問題;
  3. 抽象(Abstraction):只注意重要的細節,忽略不相關的資訊;
  4. 演算法(Algorithms ):設計簡單的步驟或規則來解決每個小問題。
最後,將這些簡單的步驟或規則寫成程式。
10978632_1610173715879153_2147952103565414460_n

程式是工具是實現「解決問題」的工具,程式語言本身並不涉及運算思維。

既然單純地學程式語言,無法增進運算思維,那麼要如何培養運算思維呢?

其實很簡單,ScratchEd 集合了資訊教育專家,經過多年的研討,設計了一套 Scratch 課程,讓學生在實作中,不知不覺地學會運算思維。這一套教材,也正是 Coding For Fun 課程的核心。

這套教材從三個方面來培養運算思維(參考:ScratchED):

如何培養運算思維 (Computational Thinking)

運算觀念

  • 序列(Sequence):對某一個任務,確定一系列的步驟
  • 迴圈(Loops):重複執行相同的序列
  • 平行(Parallelism):在同一時間讓許多事同時發生
  • 事件(Events):一件事引發另一件事的發生
  • 條件(Conditionals):根據條件做決定
  • 運算子(Operators):支援數學與邏輯的表達
  • 資料(Data):儲存資料、讀取資料與更新資料

實作

  • 反覆地增加(Being iteratively and Incrementally):發展了一點點,試試看,然後再發展一些
  • 測試與除錯(Testing and Debugging):確保事情能執行,發現錯誤並解決問題
  • 重複使用與混合(Reusing and Remixing):在現有的專案或想法上做點什麼
  • 抽象與模組化(Abstracting and Modularizing):探索整個問題與其他部分的連結

建立觀點

  • 表達(Expressing):了解「電腦運算」是一種創作的媒介,「我可以創造」
  • 連接(Connecting):體認到「與他人一起創造」和「為他人創造」的力量,「當我有機會接觸他人,我可以做不一樣的事!」
  • 質疑(Questioning):有能力對世界提出問題,「我可以(運用電腦運算)提問,並理解(電腦運算)世界!」
廣告