運算思維

課程介紹


什麼是運算思維?

運算思維最早期是由計算機科學或計算機概論中所衍生出來的一門知識。是 2006 年 3 月,美國卡內基·梅隆大學計算機科學系主任周以真(Jeannette M. Wing)所提出。周教授認為:

計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。

在她看來,「運算思維是一種普適思維方法和基本技能,所有人都應該積極學習並使用,而非僅限於計算機科學家。」(以上擷取自維基百科)

典型的運算思維包含四個要素:

image

分解 (Decomposition) 3/11 上架

將問題分解,解構,一般包含兩種類型,一種是大量重複性的任務拆成比較小的部份,另一種則是將一個複雜的問題拆開成幾個部分。拆解問題可以降低問題的複雜度與繁瑣性,會有助於解決問題。

要算出一整車的零錢有多少個,你可以拆成數百堆,每一堆交給不同人處理,最後將所有人計算的結果加總,這是一種分解。想要搞定一個軟體開發專案,你會將工作分成 PM、PG、QA 等不同角色,各有各的分工,但彼此之間又環環相扣,必須將不同角色的工作成果整合後才能解決問題,這也是一種分解。

模式識別 (Pattern Recognition) 3/11 上架

模式通常是規律、法則,或者是共通性,小到邏輯測驗中常見的填空格,大到四季變化,基本上都是一種 Pattern,當我們能找出模式,我們就有機會看出趨勢,並提早做預測。從商業的角度來看,多數產業都有淡旺季,這就是一種 Pattern。而現在我們面對的問題就是過往的 Pattern 已不再有效,我們必須找出新的模式。所以如何有效找出 Pattern,將會有助於我們更精準地解決問題。

近幾年很紅幾個觀念其實都跟模式識別有觀,像是查理·芒格的多思維模型,或者 Ray Dalio 在《原則》 一書中提到的觀念,都是一種 Pattern。這些成功者通常都是一套自己的思考模式,才有辦法在龐雜的資訊中做出精確的判斷。

抽象 (Abstraction) 3/25 上架

隱藏細節,僅保留必要的資訊。當我們說一件事情很抽象時,通常代表我們不易想像它具體的樣貌。你可能會很好奇,那不就是要盡可能具體嗎?怎麼還要學習抽象呢?這對解決問題會有什麼幫助嗎?抽象的特性在隱藏細節,人在做決策時有時會過度陷入細節當中,有時候隱藏掉一些不必要的細節,過濾掉雜訊反而有助於我們把問題解決

還記得 Amazon 的創始人 Jeff Bezos 曾說過:「過去大家經常問我未來 10 年世界會怎麼改變,但我想反問,未來 10 年有什麼是不會變的。」掌握不變的東西,本身就是一種抽象,而當我們能專注的解決不變的需求,我們將變得更專注。

特斯拉與 SpaceX 的創始人 Elon Musk 提到他思考問題的核心是《第一性原理》,第一性原理指的是,回歸事物最基本的條件,將其拆分成各要素進行解構分析,從而找到實現目標最優路徑的方法。這其實也是一種抽象思考後的結果。

演算法 (Algorithm) 4/8 上架

步驟與流程。很多人聽到演算法可能會直接聯想到 Facebook 廣告算法那樣複雜的東西,但其實演算法的基礎就是由動作與邏輯判斷組成的步驟或流程。當你能用清楚且可重現的邏輯將一件事解釋清楚,這基本上就是演算法的基礎了。舉例來說,當一個用戶是登入狀態,那就顯示會員資訊,否則顯示登入頁面,這就是一個簡單的演算法了。登入狀態是一種邏輯判斷,顯示會員資訊則是一個動作。

一個人的決策過程本身也是一種演算法,例如,決定午餐吃什麼,一個人的時候,這個決策一般很容易,但是當人一多,決策變得困難了,因為要考量的因素變多了,你可以試著將這兩種情況下,你的決策流程寫下來,你便能從中看到邏輯與步驟,這就是演算法。

一個創意能被實現,一個需求能被清楚描述,一個問題能被解決,其實都跟上述四個要素有關。運算思維是一套解決問題的方法,拆解問題、找出共同點、去除雜訊、展開流程,這可以讓我們更好的解決問題。

運算思維等於程式設計嗎?

運算思維與程式設計不是等號,如果真要說明,運算思維比較像是程式設計底層的「運作邏輯」。程式設計師在構思一個需求的解法時,他得仰賴運算思維去拆解問題、抽象思考、找出模式,最後透過程式語言設計程式,並寫下演算法,讓程式得以運作。

真的要說,運算思維是一種解決問題的思維,而程式語言則是實踐的工具。要寫好程式,運算思維一般不會差,但運算思維強的人,卻不必然就是個程式設計師。

學運算思維有什麼用?

這是一個常見的疑問。不是工程師,真的有必要學習運算思維嗎?我想舉幾個生活與商業中的案例來說明。

當你想要解決客戶流失問題時。一般我們會想了解用戶主要「在什麼地方流失了」,此時你會將用戶從接觸到轉化的過程拆成 N 的步驟。結果發現流失最嚴重的地方在步驟 4,此時,你為了瞭解用戶在這個步驟流失的主要原因,你會試著去找出這些流失用戶的共通點,深入了解後發現,從「FB 粉絲團進來」的用戶,在步驟 4 的流失率遠高於從其他來源進來的用戶,此時,你找到了在步驟 4 流失用戶的共同點-從 FB 粉絲團進來。

找到了可能的問題點,但你還是不知道為何從 FB 粉絲團進來的用戶流失率特別高,所以你進一步去找出 FB 粉絲團用戶接收到的訊息內容,以及看見訊息到進入產品頁面,然後經過 3 個步驟,最終在步驟 4 流失的可能過程。你將這過程畫成一張用戶的決策流程。然後用這張用戶決策過程去交叉驗證流失用戶的行為,最終找出了用戶流失的真正原因。

在這過程中,你運用了**拆解(拆步驟)、模式識別(找流失用戶共同點)與演算法(用戶決策流程圖)**的觀念。

我們在設計、思考、解決問題的時候,其實都會運用到運算思維一到多項技巧,而這些技巧確實會強化我們的邏輯思考能力。為什麼我們常常有理工科學生邏輯比較好的印象,很大一部分原因就來自於他們過往學習中,融入了較多運算思維的觀念在裡頭。

這堂課適合誰?

在《快思慢想》這本書中提到,人的大腦運作可以分成系統一與系統二。系統一是自動化的、快速的、直覺性的,而系統二則是需要動用你的注意力的、費力的、緩慢的、計算性的。日常生活中,絕大多數情況下我們可以仰賴系統一來自我導航,這會讓我們省力許多,但在面臨問題或挑戰時,系統二會更積極運作,好解決更複雜的問題。

運算思維是問題分析解決與思考的底層思維,會幫助我們強化系統二,讓系統二與系統一相輔相成,藉此提升我們處理問題的能力與效率。

按理來說,我認為每個人都會需要這樣的能力,不過以下幾個職務,我們認為懂運算思維與否的差異非常巨大,會特別想推薦給你。

產品經理

產品經理在構思解決方案,思考產品設計,釐清不同類型的用戶需求,理解技術邊界,解決產品所遭遇的問題,甚至與技術團隊溝通時,運算思維都可以幫上許多忙。

產品設計、產品企劃

有時我們無法從眾多需求中找出同質性,並將設計模組化,而是會將每個需求當成一個個的個案需求,一百個客戶就有一百種設計,但其實當中或許只存在 4 種關鍵客戶類型,以及 4 種關鍵情境,最多也就 16 種設計。設計,本身就是一種找出模式與抽象思考的過程。

學習運算思維,會讓你的產品設計更簡潔,也更易於維護。

商業分析師、數據分析師

工作中經常要解讀數據,串起數據中的商業脈絡的工作者,當你試圖從數據中找出規律、邏輯,並希望從數據中做出合理推論時,你會經常使用到拆解、模式識別與演算法。而當所處理的數據是在描述一些社會或商業行為時,你會發現抽象思考也會幫上大忙。

數位行銷工作者

數位行銷面臨的問題愈來愈複雜,想要試圖在各種不同數據間找出可靠的歸因,藉此提升行銷成效變得愈來愈困難,但在掌握了運算思維後,你對數位行銷的掌握度將會直線上升。

中階管理者

中階管理者面對的問題一般較為複雜,面對高層下達的策略,你需要有效的釐清需求,拆解問題,並擬訂幾種可能的解決方案,並將解決方案化為實際可執行的流程與計畫是很關鍵的能力。除此之外,中階管理者的工作任務之一,是建立制度與標準流程,這會極端需要從每次的個案中找到規律的能力。

業務、HR

高度仰賴人際溝通的工作者,系統一一般特別發達,如果能強化系統二的鍛鍊,可以讓你做起事來更省力。擔任業務工作時,你可以逐步梳理出不同客戶需求間的共通性,也可以找出市場運作的規律,讓你更容易談下生意。擔任 HR 工作時,你可以在處理不同的人資議題時找出規律,建立起管理制度來改善公司的人力資源制度,也可以在招募過程逐步建立起更有效的招募流程。

課程更新資訊:

  • 3/11:運算思維是什麼,拆解、模式識別
  • 3/25:抽象
  • 4/15:演算法 (原定 4/8 延後一週)
  • 4/29:運算思維更多的商業案例 (原訂 4/22 延後一週)

課綱(目前已上架)

發刊詞


  • 課程說明

  • 為何我們需要學習運算思維
  • 為何我們需要學習運算思維-2

分解 (Decomposition)


  • 分解問題:什麼是 Decomposition
  • 分解問題:怎麼樣才算是好的問題分解?
  • 分解問題:概念(一):第一性原理
  • 分解問題:概念(二):按照時序
  • 分解問題:概念(三):按本質差異
  • 分解問題:概念(四):按處理邊界
  • 分解問題:概念(五):MECE與分治法

模式識別 (Pattern Recognition)


  • 模式識別:模式識別為何如此重要?
  • 模式識別:模式識別運用在邏輯測驗與智力測驗
  • 模式識別:斐波那契數與元素週期表

抽象化


  • 抽象化:識別與建構表徵
  • 抽象化:抽象是用細節交換彈性
  • 抽象化:封裝、繼承與介面
  • 用抽象化來理解便利商店咖啡的商業模式
  • 抽象化的商業應用案例練習

演算法


  • 什麼是演算法?
  • 演算法在料理上的應用
  • 資料結構與排序(Sort)
  • 時間複雜度與空間複雜度

運算思維更多的商業案例


  • 即將上架|運算思維更多的商業案例

授課老師

mentor_avatar
數據科學家 尹相志 Allan

數據決策 (DataDecison.ai,前身為亞洲資採 asiaMiner) 技術長,大數據行業經歷 20 年,於 2002 年成立台灣第一家大數據顧問公司 asiaMiner,曾經協助中華電信、台灣大哥大、遠傳電信、中國信託、台新銀行、台灣銀行、元大銀行、B& Q 特力屋、HappyGo... 等企業導入數據科學相關產業應用。也是臺灣微軟在數據科學領域的特約講師,曾獲選 2006~2017 年微軟最有價值專家 (MVP),於 2015~2016 年曾兼任上海華院數據(也是 2002 年成立,中國第一家大數據顧問公司) 之首席數據科學家,於任內發起中國首次國際人工智能競賽「BOT (Brain of things) Shanghai 2016」,同時也擔任 2016 年與 2017 年的賽題設計。

學習貝

75折 原價 24 18 學習貝
7
課程
23
單元
0
練習
  • 預估學習時數(含練習)
    8 小時 20 分
  • 教材時數
    4 小時 10 分

課程形式

  • check 直播
  • check 影片
  • check 音檔
  • check 文章
  • check 練習
  • check 表單
  • 預估學習時數(含練習)
    8 小時 20 分
  • 教材時數
    4 小時 10 分

課程形式

  • check 直播
  • check 影片
  • check 音檔
  • check 文章
  • check 練習
  • check 表單