天天看點

High&NewTech:一文了解計算機思維、數學思維的本質差別,以及算法和程式的認知比較(一)

關于計算思維

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

      2006年3月,美國卡内基·梅隆大學計算機科學系主任周以真(Jeannette M. Wing)教授在美國計算機權威期刊《Communications of the ACM》雜志上給出,并定義的計算思維(Computational Thinking)。周教授認為:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計、以及人類行為了解等涵蓋計算機科學之廣度的一系列思維活動。

      計算思維吸取了問題解決所采用的一般數學思維方法,現實世界中巨大複雜系統的設計與評估的一般工程思維方法,以及複雜性、智能、心理、人類行為的了解等的一般科學思維方法。

      計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢于去處理那些原本無法由個人獨立完成的問題求解和系統設計。

       計算思維中的抽象完全超越實體的時空觀,并完全用符号來表示,其中,數字抽象隻是一類特例。與數學和實體科學相比,計算思維中的抽象顯得更為豐富,也更為複雜。數學抽象的最大特點是抛開現實事物的實體、化學和生物學等特性,而僅保留其量的關系和空間的形式,而計算思維中的抽象卻不僅僅如此。

      關于操作模式。計算思維建立在計算過程的能力和限制之上,由人由機器執行。計算方法和模型使我們敢于去處理那些原本無法由任何個人獨自完成的問題求解和系統設計。計算思維直面機器智能的不解之謎:什麼人類比計算機做得好?什麼計算機比人類做得好?最基本的問題是:什麼是可計算的?迄今為止我們對這些問題仍是一知半解。

計算思維是一種遞歸思維:它是并行處理。它是把代碼譯成資料又把資料譯成代碼。它是由廣義量綱分析進行的類型檢查。對于别名或賦予人與物多個名字的做法,它既知道其益處又了解其害處。對于間接尋址和程式調用的方法,它既知道其威力又了解其代價。它評價一個程式時,不僅僅根據其準确性和效率,還有美學的考量,而對于系統的設計,還考慮簡潔和優雅。

計算思維利用啟發式推理來尋求解答:它是在不确定情況下的規劃、學習和排程。它就是搜尋、搜尋、再搜尋,結果是一系列的網頁,一個赢得遊戲的政策,或者一個反例。計算思維利用海量資料來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行權衡。

      我們運用一個思維模型時,要經曆這樣三個階段:模組化,解模,解釋。與之相對應的則是抽象思維、演繹思維、發散思維。通過抽象,形式化,将我們所需要研究的問題進行歸納,用一種範式表達出來,建立模型;然後通過嚴密的演繹推理,解出這個模型;最後,使用發散思維,将蘊含于這個模型中的意義用自然語言表述出來。

計算機思維 VS 數學思維

      數學思維的特征是概念化,抽象化和模式化,在解決問題時強調定義和概念,明确問題條件,把握其中的函數關系,通過抽象、歸納、類比、推理、演繹和邏輯分析,将概念和定義、數學模型、計算方法等與現實事物建立聯系,用數學思想解決問題。

      計算思維是按照計算機科學領域所特有的解決方式,對問題進行抽象和界定,通過量化、模組化、設計算法和程式設計等方法,形成計算機可處理的解決方案。

      對比後可以發現,數學思維是人的大腦的思維,解決問題的方式是人腦所擅長的抽象、歸納、類比、推理、演繹和邏輯分析等;計算思維同樣是人的大腦的思維,但解決問題卻是在數學思維的基礎上,運用計算機科學領域的思想、原理與方法,采用計算工具能夠實作的方式來進行。

通過解題了解兩者差別

     比如求解S=1+2+3+……+ n。

     數學思維,是對問題進行抽象和推理,歸納成自然數求和公式:S= n *(1+ n)/2 ,這種處理方式非常符合人類“依靠大腦進行運算”的特點。

     計算思維,同樣是對問題進行抽象和推理,卻采用符合計算機工作特性、執行效率更高的“直接從1累加到n”的處理方式。       這就是兩者差別!

繼續閱讀