狄長(zhǎng)艷?周慶國(guó)?李廉
摘 要:從新工科建設(shè)的背景出發(fā),探討計(jì)算思維概念的深刻內(nèi)涵。計(jì)算思維是從信息運(yùn)動(dòng)的角度認(rèn)知和理解世界的思想和方法,在更深和更廣的層面上揭示計(jì)算思維對(duì)于新工科的意義。信息流驅(qū)動(dòng)的產(chǎn)業(yè)流程重組是新型工業(yè)經(jīng)濟(jì)的核心變革,以信息互聯(lián)為中心的管理模式是數(shù)字時(shí)代的核心特征。計(jì)算思維和計(jì)算機(jī)科學(xué)具有不同的涵蓋范圍,面向計(jì)算機(jī)專業(yè)和非計(jì)算機(jī)專業(yè)學(xué)生的計(jì)算思維培養(yǎng)側(cè)重點(diǎn),以及相應(yīng)的課程改革內(nèi)容也有所不同。
關(guān)鍵詞:計(jì)算思維;新工科;認(rèn)知科學(xué);數(shù)字經(jīng)濟(jì);面向領(lǐng)域應(yīng)用的教學(xué);計(jì)算機(jī)教育改革
當(dāng)前,我國(guó)高校正在積極推進(jìn)新工科專業(yè)建設(shè),從一般的意義上說(shuō),新工科就是用新一代信息技術(shù)改造傳統(tǒng)的工科,主動(dòng)設(shè)置和發(fā)展一批新興工科專業(yè),推動(dòng)現(xiàn)有工科專業(yè)的改革創(chuàng)新,實(shí)施“再工業(yè)化”戰(zhàn)略。在這個(gè)過程中,所有能夠數(shù)字化的對(duì)象都將被數(shù)字化,所有能夠自動(dòng)化的流程都將被自動(dòng)化,因此在大學(xué)的教學(xué)中,無(wú)論計(jì)算機(jī)專業(yè)還是非計(jì)算機(jī)專業(yè),都需要突出計(jì)算思維在學(xué)習(xí)過程中的重要性,實(shí)現(xiàn)信息社會(huì)新一代人才的培養(yǎng)。本文從新工科建設(shè)的背景出發(fā),對(duì)計(jì)算思維的內(nèi)涵、意義以及在教學(xué)改革中的落實(shí)繼續(xù)進(jìn)行探討,并且提出一些新的認(rèn)識(shí)。
一、前言
“計(jì)算思維”是由美國(guó)卡內(nèi)基·梅隆大學(xué)周以真(Jeannette M. Wing)教授于2006年第一次明確提出來(lái)的,并將其解釋為“運(yùn)用計(jì)算的基礎(chǔ)概念求解問題、設(shè)計(jì)系統(tǒng)和理解人類行為的一種方法”。她大力提倡“將計(jì)算思維引入基礎(chǔ)教育環(huán)節(jié),預(yù)見計(jì)算思維將成為像讀、寫、算一樣,每個(gè)人必備的認(rèn)知技能”[1]。
這一概念一經(jīng)提出,即引起國(guó)內(nèi)外廣泛關(guān)注,推動(dòng)大學(xué)計(jì)算機(jī)基礎(chǔ)教育從“工具論”向“思維論”轉(zhuǎn)型。國(guó)內(nèi)開展了多次計(jì)算思維的研討會(huì),就大學(xué)計(jì)算機(jī)課程的核心價(jià)值是培養(yǎng)學(xué)生的“計(jì)算思維”,以及“以計(jì)算思維為導(dǎo)向進(jìn)行大學(xué)計(jì)算機(jī)課程改革”等觀點(diǎn)達(dá)成了共識(shí)。但是具體到如何培養(yǎng)等問題還存在諸多不同的見解。對(duì)這些問題追根溯源,還在于目前對(duì)于計(jì)算思維的內(nèi)涵理解有待繼續(xù)深化。周以真在提出此概念的時(shí)候,通過列舉計(jì)算機(jī)學(xué)科中的一些術(shù)語(yǔ),用幾個(gè)“是什么,不是什么”進(jìn)行描述,但這不是計(jì)算思維定義的形式,且并未具體闡述如何實(shí)施計(jì)算思維教育[2]。
因此,國(guó)內(nèi)外學(xué)者針對(duì)這一課題進(jìn)行了廣泛的研究與探討,取得了一些積極的成果。文獻(xiàn)[3]認(rèn)為:“計(jì)算機(jī)科學(xué)最具有基礎(chǔ)性和長(zhǎng)期性的思想是計(jì)算思維?!蔽墨I(xiàn)[4]中提出“計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的思想與方法去求解問題……的思維活動(dòng)”。美國(guó)K-12教育實(shí)踐中,計(jì)算思維被寬泛地定義為一組認(rèn)知技能和解決問題的方法,包括(但不限于)七大類特色,涉及邏輯地組織和分析數(shù)據(jù)、分解問題,算法設(shè)計(jì)、程序化的執(zhí)行技巧,并且將問題解決過程拓展到社會(huì)和人文領(lǐng)域。
計(jì)算思維是當(dāng)前國(guó)際計(jì)算機(jī)界廣為關(guān)注的一個(gè)重要概念,是當(dāng)前新工科建設(shè)中計(jì)算機(jī)教育重點(diǎn)研究的課題。但不可否認(rèn)的是,人們并未就計(jì)算思維的定義與內(nèi)涵達(dá)成一致[5]。如果我們連基本概念都沒有弄清楚,那么在這一領(lǐng)域很難取得突破性進(jìn)展。因此,本文從計(jì)算思維的研究對(duì)象入手,進(jìn)一步探討計(jì)算思維的內(nèi)涵,指出計(jì)算思維是從信息運(yùn)動(dòng)的角度觀察和理解世界。同時(shí)將計(jì)算思維的通俗化解釋為:人類在認(rèn)知過程中開辟的一個(gè)B世界(以數(shù)據(jù)形式重構(gòu)的Bit世界),凡是A世界(Atom World,客觀物質(zhì)世界)不能直接解決和解釋的問題,可以映射到B世界間接解決和解釋,反過來(lái)影響和理解A世界。文章進(jìn)一步給出了計(jì)算思維包含的具體內(nèi)容,指出計(jì)算思維并不完全是計(jì)算機(jī)科學(xué)的思維,兩者的涵蓋范圍有一定差異,明確了計(jì)算機(jī)專業(yè)和非計(jì)算機(jī)專業(yè)計(jì)算思維教學(xué)中不同的側(cè)重點(diǎn)。
二、計(jì)算思維是從信息角度認(rèn)知世界的思想和方法
1.計(jì)算思維提出的時(shí)代背景
每一時(shí)代的理論思維都是一種歷史的產(chǎn)物,在不同的時(shí)代具有非常不同的形式,并因而具有非常不同的內(nèi)容。因此,關(guān)于思維的科學(xué),和其他任何科學(xué)一樣,是一種歷史的科學(xué),關(guān)于人的思維的歷史發(fā)展的科學(xué)[6]。關(guān)于計(jì)算思維的內(nèi)涵,應(yīng)該置于其所處的歷史背景中去理解。計(jì)算的歷史由來(lái)已久,但為什么直到2006年人類才明確提出計(jì)算思維的概念?要回答這一問題,必須考察這一時(shí)期人類社會(huì)的發(fā)展變化。
20世紀(jì)以前,人類采用大腦和手工方式記錄、存儲(chǔ)和分析信息,導(dǎo)致人類能處理的數(shù)據(jù)規(guī)模很小,對(duì)于信息的認(rèn)知有限;直到1948年信息科學(xué)才首次由香農(nóng)提出,并在其論文《通信的數(shù)學(xué)原理》中將Bit定義為測(cè)量信息的單位。正是香農(nóng)的這一理論,使人類在經(jīng)歷了六千年的農(nóng)業(yè)社會(huì)和近三百年的工業(yè)社會(huì)后,步入了信息社會(huì)。
20世紀(jì)40年代,計(jì)算機(jī)的發(fā)明使信息的加工和處理有了一種嶄新的工具,同時(shí)由于計(jì)算方法和計(jì)算機(jī)科學(xué)的發(fā)展,使得計(jì)算機(jī)的計(jì)算能力突飛猛進(jìn)。20世紀(jì)70年代各工業(yè)先進(jìn)國(guó)家由于大量使用計(jì)算機(jī),使科學(xué)技術(shù)獲得了快速的發(fā)展,其成果比人類有史以來(lái)到20世紀(jì)60年代的總和還多。到了20世紀(jì)80年代,計(jì)算機(jī)在許多領(lǐng)域已成為不可或缺的工具,它從一種利用現(xiàn)有知識(shí)的工具發(fā)展為一種發(fā)現(xiàn)新知識(shí)的手段。諾貝爾物理學(xué)獎(jiǎng)獲得者Ken.Wilson明確指出“計(jì)算已成為除了理論和實(shí)驗(yàn)之外,科學(xué)研究的第三條腿”。
2000年后,借助計(jì)算機(jī),信息科學(xué)和技術(shù)有了進(jìn)一步發(fā)展。諾貝爾獎(jiǎng)得主David Baltimore說(shuō):“生物學(xué)今天是一門信息科學(xué)。”物理學(xué)家提出,量子波攜帶產(chǎn)生物理效應(yīng)的信息。經(jīng)濟(jì)學(xué)家根據(jù)其固有的信息流來(lái)分析經(jīng)濟(jì)系統(tǒng)。來(lái)自更多領(lǐng)域的科學(xué)研究表示,信息過程出現(xiàn)在各自領(lǐng)域的深層結(jié)構(gòu)中。
伴隨著上述信息加工和處理的實(shí)踐,人們對(duì)信息有了從現(xiàn)象到本質(zhì)的了解,認(rèn)識(shí)到它對(duì)推動(dòng)社會(huì)生產(chǎn)和人類進(jìn)步的巨大作用,信息成為和物質(zhì)、能量同等重要的資源,成為國(guó)民經(jīng)濟(jì)活動(dòng)的主要內(nèi)容。人類以物質(zhì)流驅(qū)動(dòng)的商業(yè)模式正在轉(zhuǎn)變?yōu)橐孕畔⒘黩?qū)動(dòng)的商業(yè)模式。計(jì)算思維正是處于這樣的歷史背景中提出的,其中包含兩大基本前提:一是人類對(duì)于信息概念的深入認(rèn)知;二是信息處理工具的發(fā)明和發(fā)展,使得人類的信息處理能力大幅度提高。因此,計(jì)算思維的提出是時(shí)代發(fā)展的必然,是人類認(rèn)知和實(shí)踐的產(chǎn)物。其根本意義在于“從信息運(yùn)動(dòng)的角度認(rèn)知世界”這一方法的逐漸成熟。這也是計(jì)算機(jī)科學(xué)屬于信息科學(xué)的原因。
2.信息和計(jì)算的關(guān)系
在剛剛出版的《計(jì)算機(jī)教育與可持續(xù)競(jìng)爭(zhēng)力》一書中,提出了“計(jì)算思維是基于信息的獲取和分析計(jì)算,以算法求解、系統(tǒng)構(gòu)建、自然與人類行為理解為主要特征,實(shí)現(xiàn)認(rèn)知世界和解決問題的思想與方法”的定義[7],指出計(jì)算思維有兩個(gè)立足點(diǎn),即信息和計(jì)算。信息是組成世界的三大基本元素之一,那么計(jì)算是什么?圖靈雖然從理論上建立了計(jì)算的模型,但是在實(shí)際問題中如何界定計(jì)算活動(dòng)仍留下了很多空白。國(guó)際著名計(jì)算科學(xué)家Z.Manna在《計(jì)算的數(shù)學(xué)理論》中寫道:“什么是計(jì)算?我相信,世界上,沒有兩個(gè)計(jì)算機(jī)科學(xué)家會(huì)就這一概念給出相同的定義。”[8]本文從文獻(xiàn)資料中,摘取了有代表性的多個(gè)闡述如下。
圖靈獎(jiǎng)得主Karp提出,很多自然、工程和社會(huì)系統(tǒng)中的過程自然而然是計(jì)算的,計(jì)算就是執(zhí)行信息的變換[9]。ACM曾任主席Denning指出,人類愈加發(fā)現(xiàn)信息和計(jì)算是諸多領(lǐng)域的基本過程,計(jì)算不再僅僅是一門人造科學(xué),它是對(duì)自然和人為的信息過程進(jìn)行研究[10]。平臺(tái)軟件Mathematica的首席設(shè)計(jì)師Wolfram認(rèn)為“計(jì)算作為一種概念的重要性被嚴(yán)重低估了,它只是作為一種方法的背景被提到,卻沒有意識(shí)到計(jì)算本身才是應(yīng)該研究的核心問題”[11]。陳國(guó)良院士認(rèn)為“長(zhǎng)期以來(lái),計(jì)算機(jī)科學(xué)與技術(shù)這門課程被構(gòu)造成專業(yè)性很強(qiáng)的工具學(xué)科,‘工具意味著它是一門輔助性學(xué)科,并不是主業(yè),這種狹隘的認(rèn)知對(duì)于信息科技的全民普及極其有害”[12]。國(guó)內(nèi)多個(gè)教材將“計(jì)算機(jī)科學(xué)”定義為“對(duì)描述和變換信息的算法過程系統(tǒng)地進(jìn)行研究的科學(xué),包括算法過程的理論、分析、設(shè)計(jì)、有效性、實(shí)現(xiàn)和應(yīng)用”[13]。
由此可見,大多數(shù)文獻(xiàn)都贊成“計(jì)算是對(duì)信息進(jìn)行處理”,計(jì)算的認(rèn)知主體是信息。因此,本文認(rèn)為計(jì)算思維的主要特征在于信息,而不僅僅是計(jì)算。
3.“從信息的角度認(rèn)知世界”將計(jì)算思維與其他兩種科學(xué)思維區(qū)別開來(lái)
一種思維模式實(shí)際上就是一種認(rèn)識(shí)世界的方法與觀點(diǎn),也就是我們所說(shuō)的世界觀。人們認(rèn)識(shí)物質(zhì)最早,到工業(yè)化時(shí)期才真正認(rèn)識(shí)能量,并發(fā)現(xiàn)能量和物質(zhì)可以相互轉(zhuǎn)換?,F(xiàn)有的物理科學(xué)系統(tǒng)正是基于伽利略、牛頓、愛因斯坦從物質(zhì)的角度觀察世界而揭示的結(jié)論。這一領(lǐng)域的典型特點(diǎn)是,結(jié)論無(wú)論是通過什么方式得到的,只有在實(shí)驗(yàn)中被觀察和驗(yàn)證,才能被接受。“實(shí)證”是判定結(jié)論正確性的唯一標(biāo)準(zhǔn)。從這一點(diǎn)說(shuō),實(shí)證思維具有明顯的可感知特點(diǎn)??筛兄傅氖撬季S的結(jié)論可以由客觀世界直觀形象表現(xiàn)出來(lái)。而以邏輯思維為代表的數(shù)學(xué)學(xué)科,則不同于實(shí)證方法,其研究對(duì)象、結(jié)論的產(chǎn)生以及結(jié)論的驗(yàn)證都是以抽象的形式表達(dá),只要從公理出發(fā),論證過程符合邏輯,則其結(jié)論就會(huì)得到承認(rèn)。該結(jié)論是否與自然世界的現(xiàn)象符合與結(jié)論的正確性之間沒有關(guān)系。在20世紀(jì)40年代之前,這兩種方法互為補(bǔ)充,構(gòu)成了整個(gè)科學(xué)大廈的基石。
20世紀(jì)40年代以來(lái),隨著科學(xué)技術(shù)的進(jìn)步,人們終于認(rèn)識(shí)到客觀世界里還有信息的存在??刂普摰膭?chuàng)始人維納認(rèn)為,信息就是信息,不是物質(zhì)也不是能量。由此,基本確定了現(xiàn)實(shí)世界的三大組成要素:物質(zhì)、能量和信息。人們也構(gòu)造了解釋世界的信息論模型,從信息的角度觀察和解釋世界,極大擴(kuò)展了人類的認(rèn)知范疇,以前從物質(zhì)和能量角度無(wú)法解決和解釋的事情,現(xiàn)在可以從信息的角度給以解釋和解決。比如,分子生物學(xué)以DNA結(jié)構(gòu)的信息編碼、生物大分子間的信息傳遞等理論闡明了生物的本質(zhì)和遺傳規(guī)律,由此揭示出生物界在遺傳密碼及生命信息傳遞和表達(dá)式上所呈現(xiàn)出的驚人統(tǒng)一性。
文獻(xiàn)[14]中談到計(jì)算思維的重要特質(zhì)之一是從關(guān)聯(lián)的角度分析現(xiàn)象背后的規(guī)律,而這一特征正是信息的基本屬性。香農(nóng)提出信息概念,是受玻爾茲曼“熵”概念的直接啟迪,認(rèn)為信息是消除不確定性。由此信息也經(jīng)常被認(rèn)為是負(fù)熵,是物質(zhì)和能量在空間和時(shí)間中分布不均勻程度,是系統(tǒng)的序,這里的“序”就包含了時(shí)間和空間上的關(guān)聯(lián)關(guān)系。
綜上所述,本文認(rèn)為計(jì)算思維是人類在認(rèn)知實(shí)踐中發(fā)展出的一系列從信息運(yùn)動(dòng)角度觀察和解釋世界的思想和方法,只有將計(jì)算思維從局限于計(jì)算機(jī)的框架中抽離出來(lái),提升到科學(xué)認(rèn)知的高度,才能解釋“計(jì)算為什么會(huì)擴(kuò)展了我們對(duì)自己作為生物系統(tǒng)的理解,以及我們與周圍世界的關(guān)系”[15],也才能徹底地將其與其他兩種思維形式劃分開來(lái)。
三、計(jì)算思維與計(jì)算機(jī)科學(xué)的關(guān)系
計(jì)算思維是由計(jì)算機(jī)科學(xué)家提出的,是計(jì)算機(jī)科學(xué)的典型思維形式,那么計(jì)算思維是否就是計(jì)算機(jī)科學(xué)中的思維,兩者的關(guān)系如何?這一問題是計(jì)算思維概念中最重要和最基本的問題,本文從計(jì)算思維解決問題的一般方法入手,展開上述問題的討論,深化計(jì)算思維的內(nèi)涵理解。
如上所述,計(jì)算思維是從信息運(yùn)動(dòng)的角度觀察和理解世界的一種思想和方法,而計(jì)算是這一思想和方法實(shí)現(xiàn)的主要手段,是對(duì)信息進(jìn)行處理和變換。信息是真實(shí)世界的一種客觀存在,它必須經(jīng)由某種抽象才能在計(jì)算機(jī)中處理,這種抽象就是數(shù)據(jù),數(shù)據(jù)是信息的載體。運(yùn)用計(jì)算的方法解決問題,本質(zhì)上是將客觀世界中的問題從信息角度進(jìn)行抽象,再以二進(jìn)制Bit的形式進(jìn)行重構(gòu),經(jīng)由算法實(shí)現(xiàn)機(jī)器的自動(dòng)處理,以此解決客觀世界無(wú)法直接解決的問題,包括設(shè)計(jì)系統(tǒng)和理解人類行為。這也是“為什么構(gòu)造性是計(jì)算思維典型特征”的原因。信息時(shí)代,我們發(fā)現(xiàn)越來(lái)越多的問題可以用這種方法來(lái)處理,從宏觀上而言,人類以數(shù)據(jù)再造了一個(gè)虛擬的Bit世界。如果將以原子(Atom)構(gòu)成的物質(zhì)世界稱為A世界,以Bit方式構(gòu)成的世界稱為B世界,則計(jì)算思維可以通俗的理解為,人類在認(rèn)知過程中開辟的一個(gè)B世界,凡是A世界不可解決和解釋的問題,可以映射到B世界間接解決和解釋,反過來(lái)影響和理解A世界。
本文定義的計(jì)算思維概念隱含了其解決問題的一般方法和步驟:(1)計(jì)算機(jī)建模。待解問題從A世界到B世界的映射。(2)程序設(shè)計(jì)。B世界中的重構(gòu)問題在計(jì)算平臺(tái)的自動(dòng)處理。(3)將計(jì)算結(jié)果返回A世界進(jìn)行檢驗(yàn)和反饋,以迭代方式完善解決方案。盡管計(jì)算思維的概念和內(nèi)涵還存在爭(zhēng)議,但是人們卻就計(jì)算思維解決問題的一般方法和步驟達(dá)成了一致。文獻(xiàn)[1]中認(rèn)為計(jì)算思維是“首先將問題進(jìn)行抽象表達(dá),然后用自動(dòng)化的方式描述解決方案”的過程。文獻(xiàn)[16]采用“現(xiàn)實(shí)世界問題域—建立模型—編程實(shí)現(xiàn)—計(jì)算機(jī)世界執(zhí)行求解”這一表達(dá)。
在這兩部分中,計(jì)算機(jī)建模涉及不同領(lǐng)域中待解問題的信息提取和抽象重構(gòu),隱含著對(duì)領(lǐng)域內(nèi)知識(shí)的深入理解。而程序設(shè)計(jì)部分指出,所有重構(gòu)問題的解決都需要在一定的計(jì)算環(huán)境和平臺(tái)中完成。計(jì)算機(jī)科學(xué)的作用恰在于此,它為其他學(xué)科從信息角度認(rèn)知世界,提供了強(qiáng)有力的計(jì)算環(huán)境和平臺(tái),保證來(lái)自不同領(lǐng)域的用戶獲得快速、便捷和可靠的信息處理能力,以解決本領(lǐng)域的問題,它是B世界的基礎(chǔ)設(shè)施。從這一意義出發(fā),本文將B世界劃分為兩部分,一是面向所有領(lǐng)域、所有人的應(yīng)用層;二是由計(jì)算機(jī)科學(xué)搭建的基礎(chǔ)設(shè)施層,既包括硬件實(shí)體,也包括提升處理效率和保證結(jié)果可靠的軟件方法,圍繞這一部分,計(jì)算機(jī)科學(xué)發(fā)展出了系統(tǒng)的思想和方法。
1.計(jì)算機(jī)科學(xué)構(gòu)建了B世界的基礎(chǔ)設(shè)施層
(1)計(jì)算機(jī)科學(xué)的基本問題是圍繞B世界的基礎(chǔ)設(shè)施層提出的。在文獻(xiàn)[17]中,作者從科學(xué)哲學(xué)的角度闡述了計(jì)算機(jī)學(xué)科的三個(gè)基本問題,并指出盡管表述不同,但其核心思想是一致的。這三個(gè)基本問題分別是:①計(jì)算的平臺(tái)與環(huán)境問題。計(jì)算的平臺(tái)問題指從理論和實(shí)踐上給出自動(dòng)計(jì)算的機(jī)器,此外計(jì)算平臺(tái)在使用上還要比較方便,由此派生出計(jì)算環(huán)境的概念。計(jì)算機(jī)學(xué)科中的計(jì)算模型、實(shí)際的計(jì)算系統(tǒng)、高級(jí)程序語(yǔ)言、體系結(jié)構(gòu)等都是圍繞這一問題展開的。②計(jì)算過程的能行操作和效率問題。一個(gè)問題的實(shí)際解決,必須按照能行的可構(gòu)造性特點(diǎn),在一定的開銷內(nèi)給出實(shí)際解決的具體步驟,計(jì)算機(jī)科學(xué)的分支,如算法設(shè)計(jì)與分析、數(shù)字邏輯、計(jì)算復(fù)雜性理論等都是圍繞這一問題展開的。其基本的核心就是算法問題。③計(jì)算的正確性問題。一個(gè)計(jì)算問題在給出能行操作序列的同時(shí),必須確保計(jì)算的正確性,如此計(jì)算才有意義,而程序驗(yàn)證理論、計(jì)算的可靠性和安全性、分布式網(wǎng)絡(luò)協(xié)議等分支,則是圍繞這一問題展開。圍繞這三個(gè)基本問題的計(jì)算機(jī)科學(xué)研究構(gòu)建了整個(gè)B世界的基礎(chǔ)設(shè)施層,提供了信息處理的軟硬件平臺(tái)和環(huán)境,保證了信息處理過程的效率和結(jié)果的正確性。
(2)計(jì)算機(jī)科學(xué)的發(fā)展脈絡(luò)是基于B世界的基礎(chǔ)設(shè)施層展開的。第一代計(jì)算機(jī)采用電子管,在這一時(shí)期,計(jì)算機(jī)發(fā)展實(shí)現(xiàn)了三個(gè)轉(zhuǎn)變:從軍用到民用,從實(shí)驗(yàn)室到工業(yè)生產(chǎn),從科學(xué)計(jì)算到數(shù)據(jù)處理。第二代計(jì)算機(jī)采用了當(dāng)時(shí)先進(jìn)的晶體管技術(shù),一方面提升了計(jì)算能力,減小了設(shè)備體積,另一方面出現(xiàn)了高級(jí)語(yǔ)言、操作系統(tǒng)等的研究,計(jì)算機(jī)的使用難度大大降低。第三代計(jì)算機(jī)采用的集成電路,沿著速度更快、體積更小的方向繼續(xù)發(fā)展,大容量、高速度計(jì)算機(jī)的出現(xiàn),使計(jì)算機(jī)的應(yīng)用范圍大大擴(kuò)展,軟件系統(tǒng)的規(guī)模越來(lái)越大,20世紀(jì)60年代出現(xiàn)了軟件危機(jī),人們意識(shí)到軟件開發(fā)在系統(tǒng)設(shè)計(jì)成敗中具有舉足輕重的作用,這一時(shí)期出現(xiàn)了軟件工程、程序理論等分支學(xué)科。同時(shí)操作系統(tǒng)的研究也有長(zhǎng)足的進(jìn)步,由于操作系統(tǒng)屏蔽了底層復(fù)雜的硬件操作,用戶只需要通過調(diào)用一些功能接口就能實(shí)現(xiàn)計(jì)算機(jī)的操作,其直接結(jié)果是計(jì)算機(jī)的受眾人群進(jìn)一步擴(kuò)大。第四代計(jì)算機(jī)朝著專業(yè)化、微型化、網(wǎng)絡(luò)化的方向發(fā)展,微型化使得計(jì)算機(jī)真正進(jìn)入尋常百姓家,專業(yè)化使得計(jì)算機(jī)深入各行各業(yè)而不局限在計(jì)算機(jī)相關(guān)領(lǐng)域中,網(wǎng)絡(luò)化實(shí)現(xiàn)了計(jì)算機(jī)的全球覆蓋。這些發(fā)展相應(yīng)地又促進(jìn)了計(jì)算機(jī)體系結(jié)構(gòu)技術(shù)、并行與分布式算法和計(jì)算機(jī)網(wǎng)絡(luò)方向的形成和發(fā)展。
綜上所述,從學(xué)科發(fā)展史來(lái)看,計(jì)算機(jī)學(xué)科的發(fā)展目標(biāo)是提供計(jì)算能力更強(qiáng)、可靠性更高、使用更方便的計(jì)算平臺(tái)和環(huán)境支撐,以使更多人和更多領(lǐng)域受益。計(jì)算機(jī)科學(xué)為人類從信息角度認(rèn)知世界提供了強(qiáng)大的工具,伴隨著計(jì)算能力的快速發(fā)展,人類才真正迎來(lái)了信息時(shí)代。
2.B世界中的應(yīng)用層
從計(jì)算機(jī)學(xué)科的研究范疇和核心內(nèi)容出發(fā),應(yīng)用層又可以劃分為兩部分:一是一般應(yīng)用層,指將計(jì)算機(jī)應(yīng)用于各領(lǐng)域進(jìn)行具體的信息處
理;二是基礎(chǔ)應(yīng)用層,研究計(jì)算機(jī)應(yīng)用于具體領(lǐng)域的共性理論、方法和技術(shù)。前者應(yīng)劃入具體應(yīng)用的學(xué)科,后者屬于計(jì)算機(jī)科學(xué)的范疇。因此對(duì)于非計(jì)算機(jī)專業(yè)的一般應(yīng)用而言,學(xué)習(xí)計(jì)算思維更多的是了解和領(lǐng)會(huì)如何從信息運(yùn)動(dòng)的角度來(lái)分析問題,從信息處理的角度來(lái)解決問題,而對(duì)于具體的分析處理信息的平臺(tái)和工具,則由計(jì)算機(jī)專業(yè)進(jìn)行研究和開發(fā)。
綜上所述,計(jì)算思維涵蓋了從基礎(chǔ)設(shè)施層面到應(yīng)用層面的各個(gè)方面。對(duì)于非計(jì)算機(jī)專業(yè),我們從應(yīng)用層面來(lái)理解計(jì)算思維,并從中找到解決應(yīng)用問題的思路和方法。而對(duì)于計(jì)算機(jī)專業(yè),更多的是從基礎(chǔ)設(shè)施層面理解計(jì)算思維,設(shè)計(jì)和開發(fā)用于處理信息的各種平臺(tái)和工具軟件。這就可以看出計(jì)算機(jī)專業(yè)和非計(jì)算機(jī)專業(yè)對(duì)于計(jì)算思維的不同要求。計(jì)算機(jī)科學(xué)在其中扮演著工具和平臺(tái)提供者的角色,各個(gè)學(xué)科都有可能借此平臺(tái)創(chuàng)造性地發(fā)現(xiàn)和解決本學(xué)科的問題。由此才能充分解釋周以真教授在文獻(xiàn)[1]中對(duì)于計(jì)算思維的定義——計(jì)算思維是運(yùn)用計(jì)算科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)。
我們經(jīng)常說(shuō),計(jì)算思維正在深刻影響傳統(tǒng)的工科專業(yè)和技術(shù)領(lǐng)域,這種影響是從內(nèi)而外的徹底改造,而不僅僅是表面上的變化,將一些產(chǎn)業(yè)的傳統(tǒng)工序?qū)崿F(xiàn)自動(dòng)化,或者將一些人工管理用計(jì)算機(jī)實(shí)現(xiàn),這只是表面的工作,并不會(huì)觸動(dòng)傳統(tǒng)產(chǎn)業(yè)深層次的結(jié)構(gòu),充其量只能是信息化十分初步的內(nèi)容,在這個(gè)層面上還談不上對(duì)于傳統(tǒng)工科的深刻影響。真正的變化是站在信息和數(shù)據(jù)的角度,通過計(jì)算思維對(duì)于全產(chǎn)業(yè)鏈和服務(wù)模式的重新認(rèn)知,并且由此帶來(lái)對(duì)于人和物、人和社會(huì)、甚至包括物和物之間相互關(guān)系的重新建立,形成像柔性制造、智慧醫(yī)療、移動(dòng)支付那樣的顛覆性創(chuàng)新,這才是新工科建設(shè)對(duì)我們提出的新問題和新挑戰(zhàn)。
四、計(jì)算思維教學(xué)設(shè)計(jì)
如上所述,計(jì)算思維解決自然和社會(huì)問題的基本原理和方法是“從信息運(yùn)動(dòng)的角度對(duì)問題進(jìn)行抽象,用數(shù)據(jù)表達(dá)信息實(shí)現(xiàn)問題建模,使之能夠采用自動(dòng)化的方式處理”。這一表述,蘊(yùn)含著計(jì)算思維在應(yīng)用中的三個(gè)具體問題:A世界的問題是否都可以經(jīng)由映射,在B世界中得到解決?對(duì)于可解決的問題,如何通過信息采集和抽象,實(shí)現(xiàn)B世界中問題的建模?建模后的問題如何實(shí)現(xiàn)自動(dòng)處理?
第一個(gè)問題是計(jì)算機(jī)學(xué)科的基本問題——
什么是可計(jì)算的?只有可計(jì)算的問題才可以通過建模的方式,實(shí)現(xiàn)計(jì)算機(jī)平臺(tái)的自動(dòng)處理。第二和第三個(gè)問題是計(jì)算思維教學(xué)要表達(dá)的內(nèi)容。第二個(gè)問題本質(zhì)上是如何實(shí)現(xiàn)A世界中問題的計(jì)算機(jī)建模,第三個(gè)問題是模型的自動(dòng)處理,即程序和算法設(shè)計(jì)問題。當(dāng)今社會(huì)越來(lái)越多地依賴計(jì)算機(jī)作為分析和解決問題的工具,這導(dǎo)致大多數(shù)計(jì)算思維教學(xué)以程序和算法為核心。從以上分析可以看出,程序和算法設(shè)計(jì)固然是計(jì)算思維教學(xué)內(nèi)容的重要部分,但并不是其全部。誠(chéng)然,具體的編程技能對(duì)于問題的求解舉足輕重,但是很明顯“計(jì)算思維”不是要把每個(gè)人變成程序員,而是希望通過計(jì)算機(jī)科學(xué)提供的計(jì)算平臺(tái)和工具,使不同領(lǐng)域的人可以從信息屬性的角度創(chuàng)造性地理解和解決本領(lǐng)域的問題。這也是大學(xué)計(jì)算機(jī)基礎(chǔ)教育從傳統(tǒng)的“工具論”上升到“思維論”的出發(fā)點(diǎn),要讓學(xué)生體會(huì)到,由于看問題角度的改變(從傳統(tǒng)的物質(zhì)角度到信息角度),而打開了一扇新世界的大門,帶來(lái)認(rèn)知層次上的提升。
在新工科建設(shè)中,各個(gè)傳統(tǒng)的工科專業(yè)都在經(jīng)歷信息化和數(shù)字化的改造過程。但是在這個(gè)過程中,如果只是將原來(lái)的手工作業(yè)改成自動(dòng)化作業(yè),這只是對(duì)于傳統(tǒng)產(chǎn)業(yè)的自動(dòng)化改造,屬于工業(yè)3.0的內(nèi)容。信息化真正的意義在于,信息理論和技術(shù)的發(fā)展,可以使得人們?cè)谛畔用嬲J(rèn)識(shí)世界和理解問題,并通過信息流來(lái)重新組織生產(chǎn)流程或者商業(yè)模式,建立以信息為中心的新型社會(huì)管理系統(tǒng),從而改變甚至顛覆原有的以物質(zhì)流組織生產(chǎn)的方式,信息(也即數(shù)據(jù))成為驅(qū)動(dòng)社會(huì)發(fā)展的新動(dòng)力和新能源,這是信息社會(huì)和數(shù)字經(jīng)濟(jì)的深層含義。因此對(duì)于非計(jì)算機(jī)專業(yè)的學(xué)生,要學(xué)會(huì)從信息和計(jì)算的觀點(diǎn)下思考本領(lǐng)域如何實(shí)現(xiàn)新的行業(yè)形態(tài),而不是僅僅了解計(jì)算機(jī)本身,有關(guān)計(jì)算機(jī)的基本知識(shí)和內(nèi)容是必要的,但是將計(jì)算機(jī)與本行業(yè)的結(jié)合才是本質(zhì)的,我們應(yīng)該從面向?qū)W科知識(shí)的教學(xué)轉(zhuǎn)向面向領(lǐng)域應(yīng)用的教學(xué)。由于從小學(xué)到大學(xué),關(guān)于實(shí)證思維和邏輯思維的訓(xùn)練十分充分,而對(duì)于計(jì)算思維的訓(xùn)練則相對(duì)偏弱,因此在大學(xué)階段需要大力加強(qiáng)計(jì)算思維方面的課程建設(shè),使得學(xué)生的科學(xué)思維方式能夠跟上信息時(shí)代的要求。另一方面,由于計(jì)算思維提出的時(shí)間不長(zhǎng),其中的一些概念和內(nèi)涵也還有待于深化,因此繼續(xù)開展計(jì)算思維的研究仍有必要,特別是在新工科專業(yè)建設(shè)中如何培養(yǎng)學(xué)生從計(jì)算思維角度來(lái)理解新的工業(yè)革命,需要做出大量的理論研究和教學(xué)實(shí)踐工作。
在這樣的背景下,提出了對(duì)于計(jì)算機(jī)專業(yè)和非計(jì)算機(jī)專業(yè)學(xué)生在計(jì)算思維培養(yǎng)上的不同要求。計(jì)算機(jī)專業(yè)學(xué)生的培養(yǎng)目標(biāo)在于理解計(jì)算機(jī)科學(xué)的本質(zhì),為其他學(xué)科提供更強(qiáng)大、便捷和可靠的計(jì)算平臺(tái)和環(huán)境。非計(jì)算機(jī)專業(yè)則應(yīng)使學(xué)生能從其所從事的行業(yè)、學(xué)科或者所關(guān)注的問題出發(fā),學(xué)習(xí)如何有效提取其中的信息屬性,分析其中的信息流動(dòng)規(guī)律,實(shí)現(xiàn)問題的計(jì)算機(jī)建模。經(jīng)濟(jì)學(xué)中的囚徒困境模型、物理學(xué)中的伊辛模型、機(jī)械行業(yè)中的數(shù)字化制造、醫(yī)學(xué)中的精準(zhǔn)醫(yī)療等都是這方面很典型的案例。對(duì)于問題的準(zhǔn)確理解與合理建模將極大促進(jìn)問題解決,而相對(duì)復(fù)雜的程序?qū)崿F(xiàn)過程,完全可以通過與計(jì)算機(jī)專家合作來(lái)實(shí)現(xiàn)。
綜上所述,面對(duì)非計(jì)算專業(yè)學(xué)生的計(jì)算思維教學(xué)關(guān)鍵點(diǎn)在于:具有一定的信息素養(yǎng)和信息敏感性,培養(yǎng)學(xué)生將其所在領(lǐng)域的問題進(jìn)行有效信息提取和抽象能力,即計(jì)算機(jī)建模能力;理解計(jì)算機(jī)科學(xué)的基本原理和解決問題的基本方法,培養(yǎng)學(xué)生在計(jì)算機(jī)科學(xué)搭建起來(lái)的基礎(chǔ)設(shè)施平臺(tái)上暢行無(wú)阻;具備計(jì)算機(jī)科學(xué)的基本話語(yǔ)能力,可以與計(jì)算機(jī)專業(yè)人員進(jìn)行有效的溝通交流。基本內(nèi)容大體可以有如下幾個(gè)方面。
(1)計(jì)算機(jī)理論基礎(chǔ)。包括計(jì)算機(jī)如何實(shí)現(xiàn)邏輯和算術(shù)運(yùn)算,計(jì)算機(jī)硬件的組成,操作系統(tǒng)的基本原理,計(jì)算機(jī)如何表達(dá)文字、聲音和圖像,數(shù)據(jù)存儲(chǔ)和檢索,計(jì)算機(jī)網(wǎng)絡(luò)基本原理,程序的基本原理和軟件開發(fā)流程,理解常用的幾種典型算法,理解物聯(lián)網(wǎng)和移動(dòng)網(wǎng)絡(luò)的基本內(nèi)容。這一部分內(nèi)容的教學(xué)目的是讓非計(jì)算機(jī)專業(yè)的學(xué)生理解計(jì)算機(jī)解決問題的一般原理和過程,實(shí)現(xiàn)專業(yè)人員和非專業(yè)人員之間的溝通和交流。
(2)各學(xué)科典型的計(jì)算機(jī)建模案例。包括計(jì)算機(jī)建模的有效抽象工具(系統(tǒng)框圖、狀態(tài)轉(zhuǎn)換圖、機(jī)器學(xué)習(xí)模型等),以及典型跨學(xué)科模型的應(yīng)用案例介紹。比如博弈模型如何用來(lái)理解經(jīng)濟(jì)學(xué)問題,發(fā)源于物理學(xué)的伊辛模型如何應(yīng)用于社會(huì)學(xué)領(lǐng)域,當(dāng)前的社會(huì)熱點(diǎn)共享單車或者無(wú)人駕駛的工作原理和實(shí)現(xiàn)流程圖,超市排隊(duì)中如何實(shí)現(xiàn)優(yōu)化設(shè)計(jì)等。建議結(jié)合具體的應(yīng)用案例,讓學(xué)生在實(shí)踐中,體會(huì)計(jì)算機(jī)技術(shù)如何和科研、工作和生活的方方面面相結(jié)合,培養(yǎng)學(xué)生從信息運(yùn)動(dòng)的角度發(fā)現(xiàn)問題和觀察世界的意識(shí)。
(3)計(jì)算機(jī)的具體應(yīng)用。由于學(xué)生對(duì)計(jì)算機(jī)技術(shù)掌握的差異性以及培養(yǎng)目標(biāo)的不同,這部分可根據(jù)情況而設(shè)。建議在實(shí)際教學(xué)中,立足差異,采用小班教學(xué)的方法,開展可視化編程技術(shù)、機(jī)器人實(shí)踐、大數(shù)據(jù)分析、移動(dòng)應(yīng)用軟件開發(fā)、人工智能流圖(tensorflow)等方向的具體技能培訓(xùn),并且積極參與各種計(jì)算機(jī)應(yīng)用大賽。這部分內(nèi)容的設(shè)置并非可有可無(wú),它充分體現(xiàn)了專業(yè)領(lǐng)域與計(jì)算機(jī)之間的融合,實(shí)現(xiàn)動(dòng)手和動(dòng)腦的協(xié)同,讓學(xué)生在解決實(shí)際問題過程中獲得深入學(xué)習(xí)的樂趣和動(dòng)力。
此外,對(duì)于計(jì)算機(jī)領(lǐng)域的熱門話題,有能力的學(xué)校還可以開展人工智能、物聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)、網(wǎng)絡(luò)安全等重大技術(shù)的哲學(xué)思考及其對(duì)于社會(huì)的影響等專題類課程,使計(jì)算思維真正惠及各專業(yè)的學(xué)生。
參考文獻(xiàn):
[1]WingJ.M. Computational Thinking[J].Communications of ACM,2006,28(9):23-28.
[2] 史文崇. 全球計(jì)算思維研究與實(shí)踐綜述[J]. 計(jì)算機(jī)工程與應(yīng)用,2018,54(4):31-35.
[3] 孫家廣. 計(jì)算機(jī)科學(xué)的變革[J]. 中國(guó)計(jì)算機(jī)學(xué)會(huì)通訊,2009,5(2).
[4] 董榮勝,古天龍. 計(jì)算思維與計(jì)算機(jī)方法論[J]. 計(jì)算機(jī)科學(xué),2009,36(1):1-4,42.
[5] NRC. Report of a work shop on the pedagogical aspects of Computational Thinking[M]. Washington D C,USA:National Academical Press,2011.
[6] 恩格斯. 自然辯證法[ M ] . 北京:人民出版社,1971:27.
[7]“計(jì)算機(jī)教育20人論壇”報(bào)告編寫組. 計(jì)算機(jī)教育與可持續(xù)競(jìng)爭(zhēng)力[M]. 北京:高等教育出版社,2018.
[8] Manna, Z. Mathematical Theory of Computation[M]. New York: McGraw-Hill,1974.
[9] K. M. Karp. Understanding Science through the Computational Lens[J]. Journal of Computer Science and Technology, July 2011, 26(4): 569-577.
[10] P. J. Denning, P. Computing is a natural science[J]. Communications of the ACM, 2007, 50: 15-18.
[11] Barry Cooper,Andrew Hodges. The once and future Turing:computing the world[M]. Cambridge University Press, 2016.
[12] 陳國(guó)良,董榮勝. 計(jì)算思維與大學(xué)計(jì)算機(jī)基礎(chǔ)教育[J]. 中國(guó)大學(xué)教學(xué),2011(1).
[13] 閔應(yīng)驊. 作為學(xué)科的計(jì)算科學(xué)[M]. 北京:清華大學(xué)出版社,1994.
[14] 李廉. 關(guān)于計(jì)算思維的特質(zhì)性[J]. 中國(guó)大學(xué)教學(xué),2014(11):8-14.
[15] Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K-12: What is Involved and What is the role of the computer science education community?[J] ACM Inroads, 2(1), 48–54.
[16] Cuny J.,nyder L.,Wing J. M.Demystifying CT for noncomputer scientists[EB/OL].http://www.cs.cmu.edu/compthink/resources/thelinkwing.pdf,2017-10-15.
[17] 徐志偉,孫曉明. 計(jì)算機(jī)科學(xué)導(dǎo)論[M]. 北京:清華大學(xué)出版社,2018.
[責(zé)任編輯:余大品]