運算思維介紹
前言
現代人生活已脫離不了資訊科技,如何瞭解資訊科學內涵,培養邏輯、系統化思考,並應用於生活與工作,是不分年齡、專業都該要培養、實作及內化的,這樣的學習科目簡稱:運算思維(Computational Thinking)。
據此,教育部亦提出運算思維推動計畫,將此列入12年國教資訊科技科目中,希望藉由資訊科技之運用與實作,增進運算思維的應用能力、解決問題能力、團隊合作及創新思考能力。
核心能力 & 框架
運算思維實為運用資訊科技解決問題的方法論,一開始將其歸納為:
- 拆解 (Decomposition)
- 找出規律 (Pattern Recognition)
- 歸納與抽象化 (Pattern Generalization and Abstraction)
- 設計演算法 (Algorithm Design)
等四項核心能力,經過多年的演迭後,運算思維所需能力已形成框架,Lodi, M., Martini, S, 2021 將其整理定義為:
心智歷程 (Mental processes)
對解決問題有用的心理策略:
- 演算法思維 (Algorithmic thinking)
- 邏輯思維 (Logical thinking)
- 問題分解 (Problem Decomposition)和模組化(Modularization)
- 抽象化 (Abstraction)
- 樣式辨識 (Pattern recognition)
- 一般化 (Generalization)等。
方法 (Methods)
計算機科學家廣泛使用的操作方法:
- 自動化 (Automation)
- 資料收集 (Data Collection)
- 分析和表達 (Analysis and Representation)
- 並行化 (Parallelization)
- 建模與模擬 (Modeling and Simulation)
- 分析與評價 (Analysis and Evaluation)
- 程式設計 (Programming)
實踐 (Practices)
基於計算機的實作,使用的典型實踐解決方案:
- 實驗、迭代、修補 (Experimenting, iterating, tinkering)
- 測試和除錯 (Test and debug)
- 重用和重新混合 (Reuse and Remix)
橫向技能 (Transversal skills)
藉由如同計算機科學家思維,看待運行世界的一切事物,並將其用於各項生活技能上:
- 設計與創造 (Design and Create)
- 溝通與協作 (Communicate and collaborate)
- 以計算方式理解世界,進行反思、學習、詮釋反思 (Reflect, learn, meta-reflect, understand the world computationally)
- 容忍歧義 (Be tolerant for ambiguity)
- 處理複雜問題時要持之以恆 (Be persistent when dealing with complex problems)
實例發想
蓋一棟房子
想像您是建築設計師或營造公司的工地主任,眼前要蓋一間房子,以下那些工序是您會困擾的?
- 建築設計:格局規劃、材料應力計算
- 工期規劃:氣候預測、人力配置
- 測量放樣
- 成本計算:鋼筋、混泥土、門窗、磁磚
- 工程材料檢測
- 工程施工管理
- 機電設備
- 工地治安
智慧家居
想開始規劃專屬你的智慧家居嗎?以下那些應用是你想進行的項目?
- 保障安全的智慧保全
- 提升生活品質的智慧家電
- 降低生活成本的節能手段
- 防護老幼的居家照護
- 沉浸式娛樂
智慧城市
未來智慧城市包含了以下6項應用:
- 智慧環境(Smart Environment)
- 智慧交通(Smart Mobility)
- 智慧生活(Smart Living)
- 智慧市民(Smart People)
- 智慧政府(Smart Government)
- 智慧經濟(Smart Economy)
而你參與了某項大型公共工程的規劃與監造,欲加入智慧城市應用,以下那些工作項目是你將關注的?
- 地質調查
- 品質計畫
- 施工計畫
- 假設工程計畫
- 施工測量
- 排水系統
- 施工檢驗程序
- 材料與設備檢試
- 設備功能運轉測試
- 職業安全衛生管理
- 緊急應變及防災計畫
- 環境保護執行計畫
- 施工交通維持及安全管制措施
- 品質稽核
- 文件記錄
移居外太空
2035年,你參與了火星移居計畫工作,下列那些是你亟待解決的問題?
- 太空運輸與成本計算
- 空氣供應與循環規劃
- 水資源供應與循環規劃
- 安全防護規劃
- 電力供應
- 通訊系統
- 地面(質)探勘
- 太空農場
- 太空礦場
實踐 & 工具
結合上述實例,用於運算思維這科目,您將會學習到以下工具:
運算
- 雲端運算:資料收集、探勘與分析、AI影像辨識、語意分析等需要大量運算的項目,通常可以租用雲端平台,以降低持有與開發成本,例: Google AI、Azure AI。
- 邊緣運算:通常是整合、收集物聯網感測器所需的節點運算與通訊,一般是處理即時、較低運算能力但節電、耐候、穩定且低成本的計算機設備,如:Jetson Nano、華碩 IoT ALPR Edge AI Dev Kit。
Webduino:Bit
Webduino Bit 同時提供物聯網與積木式程式邏輯學習工具,只要打開網頁,就能實作物聯網的各種應用。
感測器
- 光感測器
- 紅外線熱感測器
- GPS接收器
- 變位、位移感測器
- 速度、加速度感測器
- 溫度感測器
- 濕度感測器
- 超音波感測器
- 壓力感測器
- 縮時攝影機
- 景深相機
- 透地雷達與製圖光達
TinkerCad
業界所熟知的 Autodesk 公司推出的 Tinkercad ,是一款免費的雲端應用平台,用於 3D設計、電子元件與編程,可以從這裡開始您的構想到設計。
Python & Numpy
Python 是學術界進行教學、實驗及發表論文最愛用的程式語言,除了它簡單易學的特性外,是因為它有好用的資料科學相關套件(例如:Pandas、SciPy、Scikit-learn 等),這些套件的基礎皆源自 Numpy ,因此學好 Numpy 這項技能,絕對能幫助您在運算思維的實踐。
Reference:
- Lodi, M., Martini, S. Computational Thinking, Between Papert and Wing. Sci & Educ 30, 883–908 (2021). https://doi.org/10.1007/s11191-021-00202-5