陳國良 張龍等
摘 要:時代的發(fā)展和社會的進步要求大學應培養(yǎng)高素質的專業(yè)創(chuàng)新人才。為此,大學計算機素質教育應傳承計算文化、弘揚計算科學和培養(yǎng)計算思維。本文重點介紹大學計算機素質教育的這三個關注點:計算文化,包括人類對計算本質的認識和計算機科學發(fā)展中的若干典型人物與事跡;計算科學,包括計算科學的基本原理及最新進展;計算思維,包括計算思維源于西方、興于東方的發(fā)展過程。
關鍵詞:大學計算機;素質教育;計算文化;計算科學;計算思維
從教育學意義上講,素質主要指人在先天生理的基礎上,在后天通過環(huán)境影響和教育培訓所獲得的內在的、相對穩(wěn)定的、長期發(fā)揮作用的身心特征及其基本品質(Character)。古人對素質的重要性早就有論述:“有出格見地,方有千古品格;有千古品格,方有超方學問;有超方學問,方有蓋世文章?!盵1]當前,大學生素質教育的具體內涵就是要培養(yǎng)學生高尚堅定的人格、理性辯證的思維以及對科學精神的追求。為此,大學的通識教育應注重傳遞科學精神和人文精神,體現不同文化和不同學科的思維方式和魅力。相應地,大學計算機素質教育的基本要素就是傳承計算文化、弘揚計算科學和培養(yǎng)計算思維。
一、傳承計算文化
計算文化(Computational Culture)就是計算的思想、方法、觀點等的演變史。它通過計算和計算機科學教育及其發(fā)展過程中典型的人物與事跡,體現了計算對促進人類社會文明進步和科技發(fā)展的作用以及它與各種文化的關系。
通過計算文化的教育,可以讓高校學生了解計算科學與人類社會發(fā)展的關系,為學生展現計算之美,從而使學生對計算科學產生興趣。
1.對計算文化的理解要建立在對計算本質的認識上
計算文化是指“計算”這個學科所蘊涵的文化,我們理解計算文化首先要對計算的本質有清晰的認識。人類對計算本質的認識經歷了三個階段。
第一個階段是計算手段器械化。計算手段的器械化是“計算”學科的基本屬性。在古代,人類社會最早使用手指、結繩、算籌等方式進行計算。公元11世紀中國人發(fā)明了算盤(Abacus)。1275年西班牙的R. Lullus發(fā)明了旋轉玩具,可以將初始符號串通過機械變換得到另一個所希望的字符串。1614年法國的B. Pascal受鐘表齒輪傳動裝置的影響,制造了能夠進行加法和減法運算的“加法機”。1673年德國人G. W. Leibniz設計制造了能夠進行加、減、乘、除的計算輪(Calculating Wheel),為手搖計算機的發(fā)展奠定了理論基礎。到了19世紀30年代,英國人C. Babbage設計了能用于計算對數、三角函數等的分析機。以上這些計算工具的特點都是機械式的,無法實現自動計算。到了20世紀,美國人V. Bush研制了能求解微分方程的電子模擬計算機;20世紀40年代,德國人K. Zuse和美國人H. Aiken研制了用繼電器作為部件的二進制機電式程序控制計算機;到了20世紀四五十年代,美國研制了所謂第一代電子管數字計算機ENIAC和EDVAC。
第二個階段是計算描述形式化。人類對計算本質的真正認識,取決于對計算過程的形式化描述。形式化方法和理論研究起源于數學的基礎研究。首先Russell發(fā)現了Cantor集合論的邏輯矛盾,即“羅素悖論”;接著,Hilbert提出了形式邏輯系統(tǒng)的完備性,即Hilbert綱領。但G?del指出了形式系統(tǒng)的不完備性,Hilbert綱領的失敗啟發(fā)了后人應避免花費大量精力去證明那些不能判定的問題,而應把精力集中于解決問題的“可計算求解性”。在Hilbert綱領失敗的啟發(fā)下,圖靈從計算一個數的一般過程入手,將可計算性與機械程序和形式化系統(tǒng)的概念統(tǒng)一起來,從而真正開始了對計算本質的研究。圖靈計算就是計算者(人或機器)對一條兩端可以無限延長的紙帶上的0和1符號執(zhí)行操作,一步一步地改變紙帶上的0或1值,經過有限步驟最終得到一個滿足預先要求的符號變換。在研究問題的可計算性時,圖靈是從一種簡單的數學機器出發(fā)來研究計算概念的,通過引入機器狀態(tài),使用了本質上具有指令特點的程序運算操作。這種數學機器雖不是一臺具有現代意義上的計算機,但它卻是一種操作十分簡單且運算能力很強的計算裝置,它就是著名的圖靈機。
第三個階段是計算過程自動化。當計算機執(zhí)行的過程能實現自動化時,它才能真正發(fā)揮強大無比的計算能力。馮·諾依曼提出了存儲程序的概念,將機器所執(zhí)行操作的步驟(即所謂程序)和操作對象(即數據)一樣都存入計算機的存儲器中,這是一個很大的進步,在計算機發(fā)展歷史上具有革命性的意義。一旦有了存儲程序的概念,運算對象(數據)和運算指揮者(指令)都一視同仁地存放于存儲器中,通過程序計數器,機器就可自動連續(xù)運行,無需操作員干預,從而實現了計算過程的全部自動化。
2.計算機發(fā)展的歷史是計算文化的生動載體
在計算機發(fā)展的歷程中,出現了一些對計算機發(fā)展具有重大意義的事件及人物[2],對計算學科的發(fā)展產生了深遠的影響。例如,計算理論的奠基者阿蘭·圖靈,為計算機科學做出了重大貢獻。ACM專門設立了圖靈獎來紀念這位卓越的科學家,圖靈獎已經成為計算機科學界的諾貝爾獎。又如,提出了“存儲程序式電子數字計算機”概念的馮·諾依曼,被譽為“計算機之父”?,F在各種各樣的計算機仍然采用他提出的體系結構,從而又被統(tǒng)稱為“馮·諾依曼計算機”。
這樣的人物還有很多,他們的事跡是計算文化的生動載體,從中我們可以得到很多啟示。例如,不少計算機科學家都很喜歡甚至癡迷物理,和諾貝爾物理學家私交甚深,也有很多計算機科學家似乎對生物學普遍感興趣,認為計算機智能的下一個大進展將來自于生物學;重視學科交叉是計算機科學家取得很多創(chuàng)新性成果的重要因素。又如,科學研究同時也是冒險之旅,科學家要取得成就必須要有犧牲精神,著名結構大師D. Lenat在做項目研究時曾說過:“作為研究人員,我們其實就是在拿自己生命中的三十年進行賭博?!边@些啟示對于有志于從事科學研究的大學生都是很重要的。
二、弘揚計算科學
從計算的視角,計算科學(Computational Science)是一種研究數學建模、定量分析以及利用計算機來分析解決問題的研究領域;從計算機的視角,計算科學(Computing Science)是一種利用高性能計算能力預測和了解現實世界物質運動或復雜現象演化規(guī)律的研究領域。
隨著時代的發(fā)展和技術的進步,人們對計算科學的概念有了更深一步的認識和理解。
1.偉大的計算原理(Great Principles of Computing)[3]
P. J. Denning曾指出:計算不僅僅是一門人工的科學,還是一種自然的科學。計算不是“圍繞計算機研究現象”,而是研究自然的(Natural)和人工的(Artificial)信息處理,計算機是工具,而計算是原理。
一個領域的原理(Principle)實際上就是講述一組交織在一起的有關該領域中的諸元素(術語)的結構(Structure)和表現方式(Behavior)的故事。而P. J. Denning將計算原理描述為運行(Mechanics)原理和設計(Design)原理:前者指計算的結構和行為運轉方式,后者指對系統(tǒng)和程序等進行規(guī)劃和組織等。他著重研究了運行原理,將其歸納為八大要素:(1)計算。關注點是什么能計算,什么不能計算;其核心概念就是可計算性與計算復雜性理論等。(2)抽象。關注點是對計算問題的歸約、轉換及建模;其核心概念是概念模型與形式化模型,抽象層次,歸約、分解與轉換等。(3)自動化。關注點是信息處理算法與智能化;其核心概念是算法設計,迭代與遞歸,人工智能與群體智能等。(4)設計。關注點是可靠和可信系統(tǒng)的構建;其核心概念是模型、抽象、模塊化,一致性和完備性,安全可靠等。(5)通信。關注點是不同場點間信息可靠移動;其核心概念是編碼、傳輸,接收與發(fā)送,通信協議等。(6)協同。關注點是多個計算間步調一致;其核心概念是并發(fā)、同步、死鎖、仲裁等。(7)存儲。關注點是信息的表示、存儲和恢復;其核心概念是存儲體系、綁定、命名、檢索等。(8)評估。關注點是計算系統(tǒng)的性能與可靠性評價;其核心概念是模型、模擬方法、基準測試程序等。
2.計算透鏡(Computational Lens)[4]
R. M. Karp在計算透鏡一文中提出:(1)很多自然的、工程的和社會的系統(tǒng)中的過程(Processes)自然而然是計算的(Computational),計算就是執(zhí)行信息的變換。(2)很多不同的學科領域(物理學,社會學等),傳統(tǒng)的研究過程(或處理)都是基于物質變換和能量變換,但它們也可自然地視為計算,就此意義上講,這些過程(或處理)動態(tài)地執(zhí)行以數字或數據表示的信息變換。(3)通過計算透鏡,我們可以根據計算要求和變換信息的方式來看待自然的或工程的系統(tǒng)。這些允許我們運用計算機科學的概念產生新的理解和新的思維方式,而計算可作為通用的思維方式。
化學家H. Davy曾指出:沒有什么比應用工具更有助于知識的發(fā)展。在不同的歷史時期,人們取得的業(yè)績與其說是天賦智能所致,倒不如說是他們擁有的工具特征和軟資源不同所致。如今,計算科學已經成為各個學科研究中不可或缺的理論方法與技術手段。計算科學、理論科學和實驗科學并列成為科學發(fā)現三大支柱。美國PITAC(總統(tǒng)信息技術咨詢委員會)報告認為[5]:21世紀科學上最重要的、經濟上最有前途的前沿研究都有可能利用先進的計算技術和計算科學而得以解決。所以弘揚計算科學,應該成為我國高校學科教育的重要組成部分。
三、培養(yǎng)計算思維
計算思維是運用計算的基礎概念求解問題、設計系統(tǒng)和理解人類行為的一種方法[6]。計算思維是一種解析(Analytical)思維,它共用了數學思維、工程思維和科學思維。計算思維的兩個核心概念是抽象(Abstract)和自動化(Automation)。計算是抽象的自動執(zhí)行,自動化隱含著需要某類計算機去解釋抽象。
培養(yǎng)創(chuàng)新人才的一個重要內容就是要潛移默化地培養(yǎng)他們的計算思維。無論哪個學科,具有突出的計算思維能力都將成為新時期拔尖創(chuàng)新人才不可或缺的素質。高校應該旗幟鮮明地把培養(yǎng)具有計算思維能力的高級人才的作為一項重要的長期任務[7]。
1.計算思維在美國
計算思維的提出與2005年6月美國PITAC(總統(tǒng)信息技術咨詢委員會)致美國總統(tǒng)報告《計算科學:確保美國競爭力》有關。為了落實PITAC報告,美國NSF組織召開了一系列會議,選擇了以計算思維為突破口的行動方案,啟動了兩個重大的國家科學基金計劃:一個是2007年啟動的CPATH計劃,另一個是2008年啟動的CDI計劃。
CPATH計劃針對的是以計算思維為核心的大學計算機教育改革,目標是促進造就具有基本計算思維能力的、在全球有競爭力的美國勞動大軍,確保美國在全球創(chuàng)新企業(yè)的領導地位。CDI計劃針對的則是科學研究領域方面的創(chuàng)新,目標是通過多學科方法,使用計算思維在計算概念、方法、模型、算法、工具與系統(tǒng)等方面的創(chuàng)新與進步,對科學與工程領域產生新理解、新模式,從而創(chuàng)造革命性成果。CPATH計劃最初的目標是大學本科的計算機教育改革,隨著計劃的實施,美國人認為這種思維方式還應該向中小學延伸,為此,2011年美國NSF又啟動了CE21(21世紀計算教育)計劃,目的在于促進美國K-14(中小學和大學一、二年級)教師與學生計算思維能力的提升。
與中國類似,在計算思維方面,美國也召開了一系列研討會,僅CDI計劃啟動前的會議就有12次。2008年5月后,美國國家研究會更是召集了來自美國科學院、工程院、醫(yī)學研究院的代表對計算思維的本質進行了近兩年的討論,2010年會議的研究報告Report of a Workshop on The Scope and Nature of Computational Thinking由美國國家科學院出版發(fā)行。
2.計算思維在我國
計算思維在中國高等教育領域與科學研究領域都得到了高度重視,并在近幾年的時間里得到全面推進和發(fā)展。
教育部高等學校大學計算機課程教學指導委員會最早在2010年關注到計算機計算能力培養(yǎng)的重要性,在兩年的時間里面組織了十多次各種范圍的工作會議,對計算思維的內涵以及如何將計算思維融入大學計算機課程進行了交流,逐步形成了以計算思維為切入點全面改革高校計算機基礎課程的思路。2012年,教育部開展了“大學計算機課程改革項目”的立項工作,力圖在理論層面上豐富和完善計算思維的內涵,在操作層面上把計算思維能力的培養(yǎng)體現在課程、教學和教材中,從而正式確立了高校計算機基礎課程的改革方向。在教育部項目的支持和教指委的具體指導下,很多高校開展了各種形式的教學改革與實踐活動。在教指委主辦的三屆“計算思維與大學計算機課程教學改革研討會”上,很多高校展示了課程改革的成果,充分體現了在高校普及計算思維教育的重要性與有效性。
國家自然基金委也非常重視計算思維的研究工作,先后多次在全國各地召開專題會議,研討、部署、推進此項工作,并對計算思維進行專題立項研究[8]。科技部在信息技術領域備選項目推薦指南中,有關基礎研究的先進計算,對計算思維及其支持機理也推薦立項開展研究。在職業(yè)教育數字化教學公共服務技術研發(fā)及應用示范項目中,也支持計算思維能力培養(yǎng)及職教技能評測關鍵技術研究。
計算思維源于西方、興于東方。我們不應將培養(yǎng)計算思維簡單地作為口號,但是應該在學科研究、在人才培養(yǎng)中不遺余力地引導學生去理解、體會、落實計算思維。這不僅僅是計算機專業(yè)教育的使命,同樣也是面向全體大學生的計算機基礎教育的使命。
參考文獻:
[1] 蕅益. 靈峰宗論[M]. 北京:北京圖書館出版社,2005.
[2] 劉瑞挺. 計算機名校風采錄[M]. 北京:中國鐵道出版社,2010.
[3] P. J. Denning. Great principles of Computing [J]. Communications of the ACM, 2003, 46(11).
[4] K. M. Karp. Understanding Science through the Computational Lens[J]. Journal of Computer Science and Technology, July 2011, 26(4): 569-577.
[5] President's Information Technology Advisory Committee. Computational Science: Ensuring Americas Competitiveness[EB/OL].http://www.nitrd.gov/pitac/reports/ 20050609_computational/computational.pdf, June 2005.
[6] J. M. Wing. Computational Thinking[J]. Communications of the ACM, 2006.
[7] 九校聯盟(C9)計算機基礎教學發(fā)展戰(zhàn)略聯合聲明[J]. 中國大學教學,2010(9).
[8] 劉克. 主體報告和分組報告評述[J]. 中國計算機學會通訊,2009,5(2).
[本文系教育部大學計算機課程改革項目部分成果,得到了教育部高等學校大學計算機課程教學指導委員會主任委員李廉和全體委員的大力支持,特此感謝!]
[責任編輯:余大品]