l 計算機思維的邏輯基礎:
計算機思維是指人們操作計算機時,計算機行使特定功能的運作方式。
邏輯基礎則是指支撐事物運作的基本法則。
因而,計算機思維的邏輯基礎可以理解為,計算機在行使特定功能時,其運作方式背后的法則——即“分離”。
不同於人腦的思維方式,計算機思維本身是不具有體現的。但是其行使法則之中與人腦最為不同的一點在於思想與方法、思想與對象、對象與方法的分離,這也是計算機能達到高效與高性能運算的邏輯基礎。
接下來,舉一例對上述描述中的“分離”進行詳細闡述。
所謂思想與方法的分離,是指在人腦中,思想與方法的實現總是同時,換言之,即使大腦總是有意識地將其分離開來思考以達到更高地效率,但效果總不遂人意。但是通過硬件上地將方法的實踐轉移至計算機中,而將思考和總結方法的過程在人腦中實現(暫不考慮人工智能的實現)。這樣通過將思想與方法分離的方式無疑可以極大提升執行效率,而這也是計算機思維的背后原理,即邏輯基礎。
l 為什么說計算思維的核心是“構造”,而構造的任務是抽象與自動化:
首先解釋計算思維,CMU周以真教授在《Computational Thinking》中說明“計算思維是運用計算機科學的基本理念,進行問題求解,系統設計以及理解人類行為。”這句話也說明了計算思維是一種思考方式,而並非是具體的知識。但計算機本身是無法思考的,故此處的探討對象已經十分明顯了,即計算思維是對人類提出的要求——通過人類將抽象而且復雜的問題,進行轉化,從而轉變成為一種可執行的重復性操作,即計算,並將此交給計算機去實現。而這中間的轉變部分中,最為重要的部分便需要人類擁有計算思維參與,設計出盡可能更優質的算法,從而使計算機的執行更為高效。因此,計算思維的核心是“構造”,而以上這整個完整的過程,便被稱為“人機轉化”。
而計算思維的另一個特征是基於三個階段的“3A”迭代過程:
- 1. 抽象(Abstraction):問題表示;
- 2. 自動化(Automation):解決方案表達;
- 3. 分析(Analyses):解決方案執行和評估。
接下來將對前兩個方面進行一一解釋與印證。
- 1. 抽象
抽象是指將現實生活中復雜難解的應用性問題,抽象成為可計算的問題。比如,讓你統計一本牛津現代英漢雙解詞典中有多少個單詞,則此時不考慮單詞的字體,字號大小,出現的位置,僅僅提取了該問題中與單詞數量相關的元素進行考慮,這便是一種意義上的抽象。而整體意義上的抽象,則指的是將現實生活的應用復雜問題中,提取出相應的空間關系,數量關系,邏輯關系等關系,並將其轉換為數據結構,空間結構以及控制指示等具體結構與指令。抽象以問題重述的形式,將原問題轉化成可解的問題,即為問題表示。
- 2. 自動化
在某種程度上,自動化是計算機的工作。而將此工作的執行的必要條件則是需要將自然語言轉換成為計算機可執行的語言。因此,編程在某種程度上成為了自動化的替代。而自動化的核心是高效,假使計算機運行中仍然經常需要人工的控制與協調,那么自動化的程度便不夠高,則需要調整提升自動化的效率。因此編程語言的選擇與編程范式的形成便十分重要。則簡而言之,問題轉換后,需要執行與求解,因此需要將自然語言的描述性問題轉換為計算機語言,可以使問題充分得到解決,此為自動化的過程。
綜上,則計算思維的任務便為抽象、自動化與分析。