自1939年電子計算機問世以來,信息時代的發(fā)展突飛猛進,互聯(lián)網(wǎng)技術已經(jīng)把人們的各類信息編織成一個龐大的系統(tǒng),現(xiàn)代人生活領域的各個方面已經(jīng)離不開電子計算機了。本人從事過我國第一代電子管計算機的研制工作,經(jīng)歷了電子管、晶體管、中小規(guī)模集成電路、大規(guī)模集成電路、微米技術、納米技術的演變,見證了一個幾十噸重的龐然大物(電子管計算機)變成今天不到1千克的智能型觸摸式平板電腦,計算速度更是由每秒幾十次變?yōu)榻裉斓慕迩f億次。
依個人之見,計算機依據(jù)用途可以分為三大類:第一類為高端技術應用,是科技工作者和大學計算機專業(yè)研究人員,通過不懈的研究創(chuàng)新,推出更新的科技成果產(chǎn)品;第二類是普通應用,人們把它作為一種高效率的工具,在工作和生活的各種應用環(huán)境中大量使用;第三類是玩具,在當今這個信息社會中,更為壯觀的是全球的人都把計算機當做一個高級的智能玩具,用來娛樂、游戲。
研究高端科學技術的人們,不僅要懂得電子計算機是如何工作的,而且還要知道它是如何制造出來的,要了解它從一個幾十噸重的龐然大物變成今天的筆記本電腦的演變過程;把它當工具使用的人,則只要了解電子計算機的基礎知識,學會編制程序的方法,就能得心應手地開展自已應用領域的工作,沒有必要去過問它是怎樣造出來的;把電腦當作玩具者,則只要知道計算機的操作命令就行了。當然興趣不一樣,玩的方法也就各有特色。科技產(chǎn)品、工具、玩具只是人們在各自使用范圍內(nèi)對計算機的不同理解,但它顯現(xiàn)出來的本質(zhì)仍然是一臺不折不扣的電子計算機。
鑒于電子計算機與人們是如此親密無間,電子計算機也就必然從高端科技演變成為人們的基礎知識。2006年3月,曾任美國卡內(nèi)基·梅隆大學(CMU)計算機科學系主任,現(xiàn)任美國基金會(MSP)計算機和信息科學與工程部(CISE)主任的周以真Jearmette M.Wing教授,在美國計算機權威刊物《Communicatons of the ACM》上,首次提出了計算思維的觀念。計算思維這一觀念提出后,立即得到美國教育界的廣泛支持,并引起了歐洲的極大關注。2007年9月19日,歐洲科學界、工業(yè)界和政府的一些領導者還在布魯塞爾皇家科學院召開了一次名為“思維科學——歐洲的下一個政策挑戰(zhàn)”的會議。
在國內(nèi),為了緊跟國際學術動態(tài),推動教學理念的更新,全國高等學校計算機教育研究會早在2003年10月31日,就在桂林電子工業(yè)學院主辦了全國“計算機科學與技術方法論”專題學術研討會,在熱烈的討論中,也萌發(fā)了計算思維的理念。本次會議有來自全國百余所高校的150余位代表參會,還吸引了哲學界、物理學界的學者參加,討論中不僅有相同的觀點共識,也有對立的論點交鋒,會議開得熱烈、成功。大會收到論文100余篇,其中64篇由核心刊物《計算機科學》雜志專輯發(fā)表。
5年之后的2008年10月31日,全國高等學校計算機教育研究會又在桂林電子科技大學召開了“計算思維與計算機導論”專題研討會,探討了科學思維與科學方法在計算機學科教學創(chuàng)新中的作用。來自全國80多所高校,包括70多位計算機學院院長、主管教學的副院長在內(nèi)的近百名專家出席了會議。在本次會議上,桂林電子科技大學董榮勝教授、武漢大學費定舟教授、國防科大李婷婷博士、著名計算機教育家蘇運霖教授、中國人民大學趙總寬教授等分別就有關計算思維與計算機導論、計算思維與計算機方法論、哲學思維、計算思維及科技創(chuàng)新、歷史上重大科學發(fā)現(xiàn)與技術創(chuàng)新中蘊含的計算思維、中國古代科學中蘊含的計算思維——算法化思想、計算思維在各學科領域的應用、計算思維在計算機學科各門課程中講授的經(jīng)驗和體會等內(nèi)容作了大會報告,探討了在教學過程中如何以課程為載體講授面向?qū)W科的思維方法,以及這種講授對國家科學與教育事業(yè)發(fā)展的作用等。
這兩次會議的核心宗旨是期望促使我國計算機教育界的同行們要更新思維,盡快適應計算機科學領域發(fā)生的根本性變革。
2008年6月29日至7月14日,中國國家科學基金委員會組織了計算機科學代表團,訪問了美國的lO所大學和美國國家科學基金會。訪問成員對“計算思維”有了更強烈的感受:中國工程院院士、國家自然科學基金委員會副主任、清華大學孫家廣教授說:“最具有基礎性和長期性的思想是‘計算思維’。這也給中國計算機科學技術的學科建設工作提供了很好的參考”。中國計算機學會理事、國家自然科學基金委員會信息科學部二處(計算機學科)處長劉克教授說:“在大學中推進‘計算思維’這一基本理念的教育與傳播工作也非常必要”。中國計算機學會高級會員、2007年中國計算機學會王選獎獲得者、中國科學院計算技術研究所研究員徐志偉總工程師說:“‘計算思維’就本人了解而言,這可能是近十年來最具有基礎性、長期性的學術思想。這個思想由美國國家科學基金會主管計算機與信息科學與工程學部的副主任珍妮特·文(Jeannette Wing)博士提出。簡言之:計算思維是一種本質(zhì)的、所有人都必須具備的思維方式,就像識字、做算術一樣;任務是在2050年以前,讓地球上每一個公民都具備‘計算思維’能力。換句話說,以前要‘掃盲’,是掃‘文盲’,在21世紀,要掃‘計算機盲’。當然,要做到這點,必須說清楚什么是計算思維。”他又說:“計算思維這一思想也部分地給出了初步理論,可用于解釋為什么美國正在發(fā)生各種學科、教育、科研活動和機構變革的實踐。這也給中國計算機科學技術的學科建設工作提供了一個很好的參考。這個思想還應該更正面地理解,即計算思維的普及可以從科學界、研究界開始,給予科技人員一種新的視角和思維方式。”徐志偉總工程師最后總結說:“計算使人們能夠發(fā)現(xiàn)與創(chuàng)新CDI(Cyber Enabled Discovery and Innovation),是實現(xiàn)計算思維的第一個美國國家科學基金會的重大計劃。它的目的是,通過計算思維的創(chuàng)新和進步(包括概念、方法、模型、算法、工具和系統(tǒng)等),對科學與工程領域產(chǎn)生新理解、新模式,創(chuàng)造革命性的研究成果?!?br/> 從以上這些論述來看,在2050年以前,要讓地球上每一個公民都具備“計算思維”能力,要掃“計算機盲”。因此,應把計算思維看成是一種本質(zhì)的、所有人都必須具備的思維方式。國際上已經(jīng)在大聲疾呼了,我們中國的計算機教育工作者豈能坐視不理,我們應該結合國情,奮起直追!
2010年7月19日至20日,北京大學、清華大學、浙江大學、復旦大學、上海交通大學、南京大學、中國科技大學、哈爾濱工業(yè)大學、西安交通大學九所知名高校在西安交通大學舉辦了“C9高校聯(lián)盟計算機基礎課程研討會”。教育部高等學校計算機基礎課程教學指導委員會主任陳國良院士親臨大會,作了“計算思維能力培養(yǎng)研究”的報告,并主持了該專題的討論,各有關高等學校計算機基礎課程教學負責人及骨干教師出席了大會。經(jīng)大會研究討論后就增強大學生計算思維能力的培養(yǎng)發(fā)表了“C9高校聯(lián)盟計算機基礎教學發(fā)展戰(zhàn)略聯(lián)合聲明”。這是個好兆頭,作為全國高等學校計算機教育研究會,我們在表示積極支持的前提下,還要力爭在促進建立“計算思維”的觀念上作出貢獻。
那么,什么是計算思維?
周以真教授指出:“計算思維代表著一種普遍的認識和一類普適的技能,每一個人,而不僅僅是計算機科學家,都應熱心于它的學習和應用。”他又說:“計算思維是每個人的基本技能,不僅僅是計算機科學家。我們應當使每個孩子在培養(yǎng)解析能力時不僅掌握閱讀、寫作和算術(Reading Writing and Arithmetic——3R),還要學會計算思維?!?br/> 中國科學院計算所李國杰院士說:“計算思維運用計算機科學的基礎概念求解問題、設計系統(tǒng)和理解人類行為,它選擇合適的方式陳述一個問題、對一個問題的相關方面建模,并用最有效的辦法實現(xiàn)問題求解?!崩顕茉菏窟€認為,計算機科學本質(zhì)上源自數(shù)學思維和工程思維。然而,計算思維遠遠不只是為計算機編程,它是抽象的多個層次上的思維,與“讀寫能力”一樣,是人類的基本思維方式。他強調(diào),“計算思維是每個人的基本技能,不僅僅屬于計算機科學家。”他建議,在培養(yǎng)孩子們的解析能力時,不僅要求其學會閱讀、寫作和算術,還要學會計算思維。
因此,我們可以這樣來認識計算思維:計算思維是運用計算機科學的基礎概念來進行問題的求解、系統(tǒng)的設計以及人類行為的理解等,它包括了涵蓋計算機科學廣度的一系列思維活動。計算思維是一種本質(zhì)的、所有人都必須具備的思維方式,就像閱讀、寫字、做算術一樣,成為人們最基礎、最普遍、最適用和不可缺少的基礎思維方式。
計算思維的普及可以從科學界、研究界開始做起,它能給科技人員一種新的視覺和思維方式。
在大學里推進計算思維這一基本理念的教育和傳播工作是十分必要的,建議面向所有專業(yè)的大學新生開一門“怎么像計算機科學家一樣思維”的課程。還應當讓沒有進入大學之前的學生接觸計算的方法和模型。要培養(yǎng)具有“計算思維”能力的中國計算機本科大學生,就需要制定出具有“計算思維”能力特色的教學計劃。因此,對我國現(xiàn)行教學計劃的創(chuàng)新改革已經(jīng)到了刻不容緩的時候了。我國計算機教育界同行已經(jīng)在審時度勢地審定和修改現(xiàn)行的教學計劃,發(fā)掘新特色,尋找新亮點。
在全民中有計劃、有步驟地進行計算思維觀念的宣傳和普及工作,也應當提上議事日程。美國人已經(jīng)提出,在2050年以前,要讓地球上每一個公民都具備“計算思維”能力,要掃“計算機盲”。因此,應該把計算思維看成是一種本質(zhì)的、所有人都必須具備的思維方式,激發(fā)人們對計算機領域科學探索的興趣,使計算思維成為一種常識。周以真教授說,“我特別需要抓住尚未進入大學之前的聽眾,包括教師、父母和學生,向他們傳送下面兩個信息:智力上的挑戰(zhàn)和引人入勝的科學問題依舊亟待理解和解決。這些問題的解答僅僅受限于我們自己的好奇心和創(chuàng)造力?!?br/> 結論應當是:當計算思維面向所有的人,所有的地方,真正融入人類活動的整體,不再表現(xiàn)為一種顯式哲學的時候,計算思維就將成為一種現(xiàn)實。
綜上所述,不妨把計算思維看成是“基礎的回歸”,把學習計算機科學看成像學習數(shù)學或英語一樣的基礎知識。主修數(shù)學或英語的人,可以從事各種各樣的職業(yè)。主修計算機科學的人,當然也可以從事各種各樣的職業(yè),比如,一個人在主修計算機科學以后,可以直接從事醫(yī)學、法律、商業(yè)、政治以及任何類型的科學和工程職業(yè),甚至藝術工作。也就是說,在原來的數(shù)、理、化、天、生、物六大基礎學科的基礎上,加上計算機科學而成為七大基礎學科。
這里還要闡明幾個概念:
計算思維是概念化,而不是程序化。因為計算機科學不只是為計算機編制程序,而是要像計算機科學家那樣去思維,進而要求在抽象的多個層次上思維。
計算思維是人的思維,是人類求解問題的一條途徑。計算機的思維方式也決不是要人類像計算機那樣去思考。計算機的工作非常機械、枯燥、沉悶,人類則聰穎并富有想象力,是人類創(chuàng)造了計算機,給計算機賦以智能和激情。當人類為自己配置了計算機系統(tǒng),人類就能夠用自己的智慧來解決那些在計算時代之前不敢嘗pq16Lba6RUh35OdXpsrssg==試的問題,進而實現(xiàn)“只有想不到,沒有做不到”的境界。
計算思維是數(shù)學思維和工程思維的互補與融合,和所有學科的形式化基礎都是建筑在數(shù)學之上一樣,計算機科學在本質(zhì)上也來源于數(shù)學思維。又由于人類建造的計算機系統(tǒng)是一個能夠與實際世界互動的系統(tǒng),計算機科學在本質(zhì)上又來源于工程思維。由于基本的計算機系統(tǒng)受到的限制,迫使計算機科學家必須進行計算性思考,不能只是單純地進行數(shù)學思考,而要開拓視野,用構建虛擬世界的自由來使人類能夠設計出超物理世界的各種系統(tǒng)。
計算思維是人類的思想活動,不是人造的物品,它不只是以人類生產(chǎn)的軟件、硬件等人造物的物理形式到處呈現(xiàn)并時刻融入人們的生活,更重要的是,它是人類用以接近求解問題、管理日常生活、建立與他人交流和互動的計算概念。因此,不能把計算機科學只等同于為計算機編制程序,也不能把主修計算機科學局限于狹窄的就業(yè)范圍,更不能認為計算機科學的基礎研究已經(jīng)完成,只剩下工程實現(xiàn)的問題了。當人們行動起來去改變這個領域的社會形象的時候,計算思維就是一個引導著計算機教育家、研究者和實踐者的宏大愿景了。
計算思維不僅是計算機科學家的思維,它已經(jīng)不局限于計算機領域,計算機科學家對各種學科都產(chǎn)生了興趣。例如,他們堅信生物學家能夠從計算思維中獲益,計算機科學也確實對生物科學作出極大貢獻,它不僅具有能夠從海量的序列數(shù)據(jù)中搜索尋找模式規(guī)律的本領,最終還能用體現(xiàn)數(shù)據(jù)結構和算法(指計算抽象和方法)自身的功能方式來表示蛋白質(zhì)的結構,計算生物學正在改變著生物學家的思考方式。類似的,計算博弈理論正在改變著經(jīng)濟學家的思考方式:納米計算正在改變著化學家的思考方式;量子計算正在改變著物理學家的思考方式。當然,計算思維不僅僅限于科學家,計算思維應該成為每個人的技能組合成分。可以這樣認為:普適計算之于今天就如計算思維之于明天。普適計算讓今天實現(xiàn)了昨天的夢想,而計算思維將是明天的現(xiàn)實。
計算思維是利用啟發(fā)式的推理尋求解答,它可以在不能確定的情況下進行規(guī)劃、學習和調(diào)度。實質(zhì)上就是搜索、搜索、再搜索。
計算思維是利用海量數(shù)據(jù)來加快計算,在時間和空間之間,在處理能力和存儲容量之間進行權衡。我們來看一些日常生活中的事例:當你的孩子早晨去上學時,他把當天所需的東西放進背包,這就是“預置和緩存”;當有人弄丟了自己的物品,你建議他沿著走過的路線去尋找,這就叫“回推”;在什么時候停止長期租用的物品而為自己買一個呢?這就是“在線算法”;在超市付費時,你應當去排哪一個隊呢?這就是“多服務器系統(tǒng)”的性能模型;為什么停電時你的電話仍然可以用呢?這就是“失敗的無關性”和“設計的冗余性?!碑斢嬎闼季S真正滲透到每一個人的生活之中的時候,“預置和緩存”、“回推”、“在線算法”、“多服務器系統(tǒng)”、“失敗的無關性”和“設計的冗余性”等專業(yè)詞匯也就成為人們的日常語言了。
計算思維既然與人們的工作和生活如此密切相關,計算思維理所當然地應當成為人類不可或缺的一種生存能力。當今的信息社會已經(jīng)離不開計算機了,未來的社會一定更需要計算機來加速實現(xiàn)美好的愿景。從事計算機科學技術研究和計算機教育的同行們,我們有責任首先成為具有計算思維能力的先驅(qū)者和促進者,大家首先要齊心協(xié)力地用計算思維的觀念和能力把自己武裝起來,再用自己的切身體會去培育更多的人們具有計算思維的觀念,再把計算思維的觀念提升到計算思維的能力。我堅信:通過大家的共同努力,一定能把國際上流行的“2050年全世界的每一個公民都應具有計算思維能力”的預言變成現(xiàn)實!
參考文獻:
[1]Jeannette M.Wing.Computational Thinking[J].Communications of the ACM,2006,49(3):33-35.
[2]袁開榜,不斷創(chuàng)新的中國計算機教育還要科學地向前發(fā)展[J],計算機教育,2009(16):199-204.
[3]李國杰,計算思維不僅僅屬于計算機科學家[N].大眾科技報,2009-8-2(B01).
(編輯:姚彥