門澤霖 黃子坤

摘 要:作為大學生,在我看來,計算機無處不在且時刻被需要著,而計算思維又時時刻刻地被我們無意識地運用著。那么和我們緊密相連的計算機到底是什么呢?它是如何出現在世界上的?它能做什么又不能做什么?而看似抽象的計算思維是否只是“計算”數據那么簡單呢?它到底是一個怎樣的思維?又有著什么用處呢?……一切的一切我將在下面展開自己的淺談。
關鍵詞:計算機思維;體系結構;程序
半個多世紀以來,計算機已經發展成為一個龐大的家族,盡管計算機各式各樣,但是它們的基本組成結構和工作原理確實相同的。這里,我們就不得不提兩位被譽為計算機之父的計算機雛形理論奠基人:圖靈和馮·諾依曼。
在電子計算機遠未問世之前,英國數學家圖靈就先知先覺,已經想到所謂“可計算機”的問題,他用超過了一般數學家的思維范疇,完全拋開數學上定義新概念的傳統方式,獨辟蹊徑,構造出一臺完全屬于想象中的“計算機”,數學家們把它稱為“圖靈機”。圖靈機的模型給計算機的設計靈感,被公認為是現代計算機的理論原型,也可以說,圖靈啟發與影響了他之后的整個計算機發展史。而后,美籍匈牙利科學家馮·諾依曼提出了“存儲程序”的概念和“二進制”的原理,并由此設計出了“馮·諾依曼體系結構”計算機。它必須有一個存儲器、控制器、運算器、輸入和輸出設備,它的工作原理是:計算機能夠自動完成運算或處理信息的基礎,是先將解決問題的具體處理步驟(算法)以程序代碼的方式存儲到計算機的存儲器中,然后計算機自動讀取程序代碼,并嚴格依照程序指令的控制逐步進行整個工作過程,可概括為:存儲程序、程序控制。一個完整的計算機系統是由計算機的硬件系統和軟件系統組成。作為計算機的“靈魂”,計算機的軟件系統控制、管理和指揮計算機工作和解決各類應用問題的所有程序與數據的總和。而現在我們所使用的計算機硬件系統的結構一直遵循著馮·諾依曼體系結構。(如下圖為:現代計算機硬件系統結構)
大致了解了計算機的形成過程,那么所謂的計算機到底是什么呢?大多人以為計算機就等同于電腦,在我上這個計算機導論課之前其實也這么以為,但是現在在我看來,生活中使用的電腦只是計算機大家族中的一個成員。在查閱各種資料,依照“計算機系統的構架、計算機的工作原理、計算機的特點以及計算機的信息處理功能”這幾個關鍵點后我們大概可以這么定義:計算機是由高科技電子元器件、線路和機械裝置等部件或設備構成的,在計算機軟件(程序)的控制下,依照存儲程序和程序控制的工作原理,能夠告訴、有效地完成人們制定的對信息進行各種操作的自動化綜合系統。
那么它能做些什么呢?玩游戲?聽歌看電影?……上述的都是我們生活中對電腦某些娛樂性功能的片面理解,當然了,這些也是計算機的用途,但我要說的是它能自動完成人無法在短時間內完成的工作、自動完成可靠、精準的科學數據的運算、自動記憶和檢索人腦無法承載的海量信息并長久存儲……似乎所有目光都提留在“自動”二字,它之所以如此“自覺、強大”,簡單來說,就是因為它具有:快、準、海量存儲、邏輯判斷能力、自動信息處理能力、網絡通信能力、穩定、可靠和通用等功能特點。計算機看似已經“完美”,但是其作為人類制造出的機器,也有著它的弱點。比如面對無法表示為有限的和確定的需要計算的數據、大小和精度無法表示在固定范圍內的數據……計算機會無能為力。簡言之,計算機不能解決那些不可計算性的問題。
歷經四代計算機的發展,當前計算機發展的趨勢是由大到巨、由小到微、網絡化、智能化,但是迄今還沒出現第五代計算機,我對此也是拭目以待,生活、工作、整個社會都將由此改變。談了對于計算機的淺顯理解,現在談談什么是計算思維吧。
結合課本,計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,它是算法思維、協議思維、計算邏輯思維、計算系統思維、三元計算思維(人、機、物)的結合。不僅僅屬于計算機科學家,我們每個人都應該具備這種基本技能。那么為什么呢?它有什么必要性或者說好處呢?首先,我們在生活中會遇到各種難題,有的不是靠我們自己簡單的判斷、思考就能解決的,而計算思維運用計算機科學堅實的理論基礎可以準確回答難題中的一些特定問題,比如“有多難?怎樣才是最佳的解決辦法?等等”。計算思維可以化繁為簡、化難為易;它是一種遞歸和并行處理;計算思維采用了抽象和分解;計算思維是恢復的一種思維;計算思維利用啟發式推理。
那么接下來就是課堂和課本希望在思考的問題了:如何培養和訓練計算思維?我們可以結合生活實例,淺顯地表達。比如:在超市結賬時,你選擇去排哪個隊伍?早晨去上課時,你會把那些東西放入書包?……這些問題都可以利用計算思維來解決。很簡單,我會選擇排短的隊伍,這就是多服務器系統的性能模型;會把平時要用的物品(手機、校園卡、鑰匙、充電寶……)以及當天要用到的課本放到書包里,這就是預置和緩存。所以說,其實計算思維并不是高高在上,而是和我們緊密相連。我們可以通過以下幾點來逐漸養成計算思維:①首先是相關課程的學習,應該對整個計算機科學有一個整體的認知,去理解計算機科學的概念、思想和基本方法,在對專業內涵和方法論有所了解后再進一步明確學習的目標;②要意識到計算思維不僅僅是程序化的,而是在抽象的多個層次上進行思維,這就要求我們利用自己的想象力和創造力去分析和解決問題,注意培養自己嚴謹的抽象思維能力;③加強學習實踐,在此過程中激發我們對計算機科學領域的好奇心,以及培養懷疑精神和求異思維。
總而言之,計算機和計算思維之間相互支撐又相互制約,我們應該通過本課程學習到關于計算機和計算思維的專業知識,并進一步理解其內涵,探索計算機科學領域,關注計算機的發展甚至為其做工下,進而為生活和社會發展做貢獻。
參考文獻:
[1]郭艷華,馬海燕.計算機與計算機思維導論
(作者單位:中國計量大學現代科技學院)