計算思維

計算思維

計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,由周以真於2006年3月首次提出。2010年,周以真教授又指出計算思維是與形式化問題及其解決方案相關的思維過程,其解決問題的表示形式應該能有效地被信息處理代理執行。

基本介紹

  • 中文名:計算思維
  • 提出時間:2006年3月
  • 提出者周以真(Jeannette M. Wing)
  • 提出雜誌:《Communications of the ACM》
  • 特點:抽象,自動化
  • 思維:遞歸思維
總定義,概述,優點內容,計算思維,特性,總結,

總定義

概述

2006年3月,美國卡內基·梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授在美國計算機權威期刊《Communications of the ACM》雜誌上給出,並定義的計算思維(Computational Thinking)。周教授認為:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。
以上是關於計算思維的一個總定義,周教授為了讓人們更易於理解,又將它更進一步地定義為:通過約簡、嵌入、轉化和仿真等方法,把一個看來困難的問題重新闡釋成一個我們知道問題怎樣解決的方法;是一種遞歸思維,是一種並行處理,是一種把代碼譯成數據又能把數據譯成代碼,是一種多維分析推廣的類型檢查方法;是一種採用抽象和分解來控制龐雜的任務或進行巨大複雜系統設計的方法,是基於關注分離的方法(SoC方法);是一種選擇合適的方式去陳述一個問題,或對一個問題的相關方面建模使其易於處理的思維方法;是按照預防、保護及通過冗餘、容錯、糾錯的方式,並從最壞情況進行系統恢復的一種思維方法;是利用啟發式推理尋求解答,也即在不確定情況下的規劃、學習和調度的思維方法;是利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行折衷的思維方法。
周以真周以真

優點內容

計算思維吸取了問題解決所採用的一般數學思維方法,現實世界中巨大複雜系統的設計與評估的一般工程思維方法,以及複雜性、智慧型、心理、人類行為的理解等的一般科學思維方法。
電子計算機電子計算機
優點
計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢於去處理那些原本無法由個人獨立完成的問題求解和系統設計。
內容
計算思維中的抽象完全超越物理的時空觀,並完全用符號來表示,其中,數字抽象只是一類特例。
與數學和物理科學相比,計算思維中的抽象顯得更為豐富,也更為複雜。數學抽象的最大特點是拋開現實事物的物理、化學和生物學等特性,而僅保留其量的關係和空間的形式,而計算思維中的抽象卻不僅僅如此。

計算思維

操作模式  計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢於去處理那些原本無法由任何個人獨自完成的問題求解和系統設計。計算思維直面機器智慧型的不解之謎:什麼人類比計算機做得好?什麼計算機比人類做得好?最基本的問題是:什麼是可計算的?迄今為止我們對這些問題仍是一知半解。
計算思維用途  計算思維是每個人的基本技能,不僅僅屬於計算機科學家。我們應當使每個孩子在培養解析能力時不僅掌握閱讀、寫作和算術(Reading, wRiting, and aRithmetic——3R),還要學會計算思維。正如印刷出版促進了3R的普及,計算和計算機也以類似的正反饋促進了計算思維的傳播。
計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。它包括了涵蓋計算機科學之廣度的一系列思維活動。當我們必須求解一個特定的問題時,首先會問:解決這個問題有多么困難?怎樣才是最佳的解決方法?計算機科學根據堅實的理論基礎來準確地回答這些問題。表述問題的難度就是工具的基本能力,必須考慮的因素包括機器的指令系統、資源約束和操作環境。
計算思維
為了有效地求解一個問題,我們可能要進一步問:一個近似解是否就夠了,是否可以利用一下隨機化,以及是否允許誤報(false positive)和漏報(false negative)。計算思維就是通過約簡、嵌入、轉化和仿真等方法,把一個看來困難的問題重新闡釋成一個我們知道怎樣解決的問題。
計算思維是一種遞歸思維  它是並行處理。它是把代碼譯成數據又把數據譯成代碼。它是由廣義量綱分析進行的類型檢查。對於別名或賦予人與物多個名字的做法,它既知道其益處又了解其害處。對於間接定址和程式調用的方法,它既知道其威力又了解其代價。它評價一個程式時,不僅僅根據其準確性和效率,還有美學的考量,而對於系統的設計,還考慮簡潔和優雅。
抽象和分解  來迎接龐雜的任務或者設計巨大複雜的系統。它是關注的分離(SOC方法)。它是選擇合適的方式去陳述一個問題,或者是選擇合適的方式對一個問題的相關方面建模使其易於處理。它是利用不變數簡明扼要且表述性地刻畫系統的行為。它使我們在不必理解每一個細節的情況下就能夠安全地使用、調整和影響一個大型複雜系統的信息。它就是為預期的未來套用而進行的預取和快取。計算思維是按照預防、保護及通過冗餘、容錯、糾錯的方式從最壞情形恢復的一種思維。它稱堵塞為“死鎖”,稱約定為“界面”。計算思維就是學習在同步相互會合時如何避免“競爭條件”(亦稱“競態條件”)的情形。
智慧型機器人智慧型機器人
計算思維利用啟發式推理來尋求解答,就是在不確定情況下的規劃、學習和調度。它就是搜尋、搜尋、再搜尋,結果是一系列的網頁,一個贏得遊戲的策略,或者一個反例。計算思維利用海量數據來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行權衡。
考慮下面日常生活中的事例:當你女兒早晨去學校時,她把當天需要的東西放進背包,這就是預置和快取;當你兒子弄丟他的手套時,你建議他沿走過的路尋找,這就是回推;在什麼時候停止租用滑雪板而為自己買一付呢?這就是線上算法;在超市付帳時,你應當去排哪個隊呢?這就是多伺服器系統的性能模型;為什麼停電時你的電話仍然可用?這就是失敗的無關性和設計的冗餘性;完全自動的大眾圖靈測試如何區分計算機和人類,即CAPTCHA[注1]程式是怎樣鑑別人類的?這就是充分利用求解人工智慧難題之艱難來挫敗計算代理程式。
計算思維將滲透到我們每個人的生活之中,到那時諸如算法和前提條件這些辭彙將成為每個人日常語言的一部分,對“非確定論”和“垃圾收集”這些詞的理解會和計算機科學裡的含義驅近,而樹已常常被倒過來畫了。
我們已見證了計算思維在其他學科中的影響。例如,機器學習已經改變了統計學。就數學尺度和維數而言,統計學習用於各類問題的規模僅在幾年前還是不可想像的。各種組織的統計部門都聘請了計算機科學家。計算機學院(系)正在與已有或新開設的統計學系聯姻。
計算機學家們對生物科學越來越感興趣,因為他們堅信生物學家能夠從計算思維中獲益。計算機科學對生物學的貢獻決不限於其能夠在海量序列數據中搜尋尋找模式規律的本領。最終希望是數據結構和算法(我們自身的計算抽象和方法)能夠以其體現自身功能的方式來表示蛋白質的結構。計算生物學正在改變著生物學家的思考方式。類似地,計算博弈理論正改變著經濟學家的思考方式,納米計算改變著化學家的思考方式,量子計算改變著物理學家的思考方式。
這種思維將成為每一個人的技能組合成分,而不僅僅限於科學家。普適計算之於今天就如計算思維之於明天。普適計算是已成為今日現實的昨日之夢,而計算思維就是明日現實。

特性

概念化,不是程式化
計算機科學不是計算機編程。像計算機科學家那樣去思維意味著遠不止能為計算機編程,還要求能夠在抽象的多個層次上思維。
根本的,不是刻板的技能
根本技能是每一個人為了在現代社會中發揮職能所必須掌握的。刻板技能意味著機械的重複。具有諷刺意味的是,當計算機像人類一樣思考之後,思維可就真的變成機械的了。
是人的,不是計算機的思維方式
計算思維
計算思維是人類求解問題的一條途徑,但決非要使人類像計算機那樣地思考。計算機枯燥且沉悶,人類聰穎且富有想像力。是人類賦予計算機激情。配置了計算設備,我們就能用自己的智慧去解決那些在計算時代之前不敢嘗試的問題,實現“只有想不到,沒有做不到”的境界。
數學和工程思維的互補與融合
計算機科學在本質上源自數學思維,因為像所有的科學一樣,其形式化基礎建築於數學之上。計算機科學又從本質上源自工程思維,因為我們建造的是能夠與實際世界互動的系統,基本計算設備的限制迫使計算機學家必須計算性地思考,不能只是數學性地思考。構建虛擬世界的自由使我們能夠設計超越物理世界的各種系統。
是思想,不是人造物
不只是我們生產的軟體硬體等人造物將以物理形式到處呈現並時時刻刻觸及我們的生活,更重要的是還將有我們用以接近和求解問題、管理日常生活、與他人交流和互動的計算概念;而且,面向所有的人,所有地方。  當計算思維真正融入人類活動的整體以致不再表現為一種顯式之哲學的時候,它就將成為一種現實。

總結

許多人將計算機科學等同於計算機編程。有些家長為他們主修計算機科學的孩子看到的只是一個狹窄的就業範圍。許多人認為計算機科學的基礎研究已經完成,剩下的只是工程問題。當我們行動起來去改變這一領域的社會形象時,計算思維就是一個引導著計算機教育家、研究者和實踐者的宏大願景。我們特別需要抓住尚未進入大學之前的聽眾,包括老師、父母和學生,向他們傳送下面兩個主要信息:
智力上的挑戰和引人入勝的科學問題依舊亟待理解和解決。這些問題和解答僅僅受限於我們自己的好奇心和創造力;同時一個人可以主修計算機科學而從事任何行業。一個人可以主修英語或者數學,接著從事各種各樣的職業。計算機科學也一樣。一個人可以主修計算機科學,接著從事醫學、法律、商業、政治,以及任何類型的科學和工程,甚至藝術工作。
計算機科學的教授應當為大學新生開一門稱為“怎么像計算機科學家一樣思維”的課程,面向所有專業,而不僅僅是計算機科學專業的學生。我們應當使入大學之前的學生接觸計算的方法和模型。我們應當設法激發公眾對計算機領域科學探索的興趣,而不是悲嘆對其興趣的衰落或者哀泣其研究經費的下降。所以,我們應當傳播計算機科學的快樂、崇高和力量,致力於使計算思維成為常識。

相關詞條

熱門詞條

聯絡我們