什麼是運算思維?

每次被問到什麼是運算思維?我都會回答,運算思維就是解決問題的方法;不知道是不是答案太簡單,後面就會接著問,什麼是解決問題的方法?如果有人這樣問,你會怎麼回答?我的答案是,解決 — 問題— 的 — 方法 ,接著問的人頭上就會出現大大的問號。
img
以下提到的工程師泛指程式設計師、開發人員或是會寫程式的人。
You don’t have to be an expert in coding or the periodic table, but having the ability to think the way these experts do will help you tremendously.
It’s not necessarily that you’ll be writing code, but you need to understand what can engineers do and what can they not do
- Bill Gates
微軟創始人比爾·蓋茲說:不一定要會寫程式,但學習工程師的思考方式,了解程式能做什麼以及不能做什麼,對未來會很有幫助。
img
我以前會在公司開程式設計課程,不管是企劃、設計師、研究員還是工讀生都可以報名,很妙對吧,為什麼不是針對工程師?其實開課只是為了幫大家建立共同的溝通語言。
很多時候爭執不是因為出了什麼問題,而是不了解彼此的工作方式及遇到的困難;讓更多人能學習程式語言,用這樣的方式來建立同理心,之後在溝通上遇到的問題也就越來越少了。
那時隱約感受到想教大家的東西不只這些,只是當時說不出個所以然,現在才知道我真正想分享的觀念,有個專有名詞叫「運算思維」。

那到底什麼是運算思維?運算思維就是工程師面對問題時如何思考,以及找出問題的交互關係,並建立永久性解決方案的過程。
工程師在解決問題時有特定的思考流程,面對一個問題,首先將問題拆解成許多的小問題(拆解問題),接著找出問題彼此間的關聯性或規律性(找到模式),然後將問題簡化,忽略細節(建立抽象化),最後針對這個問題提供一個完整的解決方案(完成演算法)。
運算思維就是工程師在面對問題時如何思考,以及找出問題的交互關係,並建立永久性解決方案的過程。
這樣的思考方式除了能提升工作效率,還能減少錯誤的發生;也可以用在日常生活及所有複雜的問題上,這也是西方國家傾全力推廣程式教育的原因,就連前美國總統歐巴馬、名模、街友都開始寫程式了。
運算思維的四大步驟:一、拆解:將數據,流程或問題拆解成可管理的大小;
二、模式識別:尋找問題間的相似處、趨勢或規律;
三、抽象:只關注重要信息,忽略不相關的細節;
四、演算法:建立解決問題的流程或規則,同時能解決其他類似的問題。
最後想說的是,程式設計不是未來唯一的選擇,你還是可以是音樂家,藝術家、科學家、心理學家或創業家,但學習運算思維,在未來會對你產生非常大的幫助。
近年來運算思維的重要性越來越受到重視,美國計算機教師協會(CSTA)與國際教育技術協會(ISTE),在 2019 年的計算機教育標準草案融入了大量的運算思維教學規範,希望將運算思維融入到一般課程設計,不管是數學、科學、音樂或藝術都能結合運算思維,讓學習運算思維變得更加容易。
我是不是該開始學程式設計?但為什麼要學?現在不學未來真的會被淘汰嗎?其實不一定需要學程式設計,真正需要學習的是工程師如何思考,程式設計只是方法之一,也是現今最常見、最有效的方法;但透過這樣的方式學習運算思維,至少得先熟悉一種程式語言,然後累積豐富的開發經驗,對多數人來說是非常大的考驗。
img

沒有留言:

Pages