現(xiàn)在,“計(jì)算機(jī)科學(xué)導(dǎo)論”是大多數(shù)高等院校計(jì)算機(jī)科學(xué)與技術(shù)類專業(yè)一年級(jí)學(xué)生在第一學(xué)期必修的專業(yè)課程。課程講授和計(jì)算機(jī)系統(tǒng)、計(jì)算機(jī)科學(xué)相關(guān)的基本概念,使學(xué)生對(duì)本專業(yè)的核心知識(shí)有全面的、概要的認(rèn)識(shí)。
這門課程的開設(shè)要追溯到上世紀(jì)80年代。當(dāng)時(shí),“PASCAL”或“C”通常是學(xué)生的第一門專業(yè)課程。經(jīng)過教學(xué)實(shí)踐大家逐步認(rèn)識(shí)到,以脫離計(jì)算機(jī)機(jī)器層次概念的程序設(shè)計(jì)高級(jí)語言作為專業(yè)學(xué)習(xí)的切入點(diǎn)并不妥當(dāng)。第一門專業(yè)課程應(yīng)該著眼于讓學(xué)生認(rèn)識(shí)計(jì)算機(jī)科學(xué)和計(jì)算機(jī)技術(shù)的宏觀概貌,建立專業(yè)思想。為此,需要開設(shè)一門全面而簡(jiǎn)略、導(dǎo)論性的課程。
二十多年來,上述導(dǎo)論性的課程會(huì)冠名為“計(jì)算機(jī)科學(xué)導(dǎo)論”、“計(jì)算機(jī)導(dǎo)論”、“計(jì)算機(jī)文化基礎(chǔ)”,等??晒┻x用教材的風(fēng)格大致上可以分為三類:最早期的以介紹計(jì)算機(jī)的基本應(yīng)用為主要內(nèi)容,前面加一章游離而雜亂的“概述”;第二類教材羅列專業(yè)內(nèi)容,書的每一章實(shí)際上就是相應(yīng)一門專業(yè)課教材的一個(gè)濃縮版;近年來開始引進(jìn)的國外版計(jì)算機(jī)科學(xué)導(dǎo)論教材,內(nèi)容比較全面、新穎,敘述比較生動(dòng)、容易理解,而且各具風(fēng)格。
因?yàn)橐荒昙?jí)新生通常要參加軍訓(xùn),本課程的一種典型教學(xué)安排是,每周課堂講授3學(xué)時(shí),14周共42學(xué)時(shí)。在相對(duì)短的時(shí)間內(nèi)要完成覆蓋面很廣、內(nèi)容極為豐富的專業(yè)知識(shí)教學(xué),而又要使一年級(jí)學(xué)生能夠理解,筆者認(rèn)為關(guān)鍵在于:
(1) 要建立一個(gè)課程講授結(jié)構(gòu)體系;
(2) 要把握好內(nèi)容廣度和深度的關(guān)系;
(3) 要采用深入淺出的敘述風(fēng)格。
在長(zhǎng)期的教學(xué)實(shí)踐中,筆者始終感覺在用的國內(nèi)外教科書共同的不足之處是:對(duì)計(jì)算機(jī)科學(xué)作導(dǎo)論性質(zhì)的介紹時(shí),缺乏一個(gè)認(rèn)識(shí)綱領(lǐng),所以內(nèi)容龐雜,章節(jié)之間缺少內(nèi)在的聯(lián)系,篇幅動(dòng)輒四五百頁,教師難以剪裁,學(xué)生難以接受,更難把握專業(yè)知識(shí)的相互關(guān)聯(lián)。
可能是受到中學(xué)階段學(xué)習(xí)方式的長(zhǎng)期影響,不管教師如何組織講授內(nèi)容,大學(xué)一年級(jí)的學(xué)生仍然對(duì)課程所使用的教材非常在意、非常依賴。為此,筆者設(shè)計(jì)出以“一個(gè)本質(zhì)核心,三條內(nèi)容綱領(lǐng)”來統(tǒng)率計(jì)算機(jī)導(dǎo)論教程的講義,使新生們能夠在短短的十幾周里對(duì)計(jì)算機(jī)和計(jì)算機(jī)科學(xué)能夠有入門性的、比較全面的認(rèn)識(shí)。
筆者的思路是:
計(jì)算機(jī)的本質(zhì)功能就是數(shù)據(jù)處理,數(shù)據(jù)是客觀世界一切事物的表達(dá)概念,歸根結(jié)底計(jì)算機(jī)是一種數(shù)據(jù)處理機(jī)器;計(jì)算機(jī)科學(xué)是使計(jì)算機(jī)完成各行各業(yè)、形形色色數(shù)據(jù)處理任務(wù)所需要的理論、方法、技術(shù)的知識(shí)集合。
因此,可以依據(jù)三條綱領(lǐng)闡述和認(rèn)識(shí)計(jì)算機(jī)科學(xué)的主要內(nèi)容:
(1) 數(shù)據(jù)的分層表示方法學(xué)
計(jì)算機(jī)科學(xué)用“數(shù)據(jù)”作為手段,來表示客觀世界里要處理的對(duì)象。而在計(jì)算機(jī)內(nèi)部,能夠物理實(shí)現(xiàn)的數(shù)據(jù)記號(hào)只有兩個(gè)二進(jìn)制數(shù)字“0”和“1”。因此,數(shù)據(jù)表示面臨的任務(wù)是,用最簡(jiǎn)單的記號(hào)表示出內(nèi)容復(fù)雜而形式多變的對(duì)象。計(jì)算機(jī)科學(xué)的解決方法是:劃分出不同的數(shù)據(jù)表示抽象層次;每個(gè)層次上都對(duì)數(shù)據(jù)的表示概念和工具進(jìn)行定義;它們既相對(duì)獨(dú)立,又可以從上一個(gè)表示層次映射到下一個(gè)表示層次上去;從現(xiàn)實(shí)世界到計(jì)算機(jī)內(nèi)部的物理實(shí)現(xiàn),數(shù)據(jù)表示的抽象程度逐層降低,一直到“0”、“1”記號(hào)能夠在硬件的層次上實(shí)現(xiàn)為止。這樣,在完成數(shù)據(jù)表達(dá)任務(wù)的過程中,人可以根據(jù)需要選擇適當(dāng)?shù)谋磉_(dá)層次。而層次之間不同表示手段的轉(zhuǎn)換,由人或者計(jì)算機(jī)系統(tǒng)本身,按照明確定義的映射規(guī)則來完成。
上述的數(shù)據(jù)表示層次可以總結(jié)為:
現(xiàn)實(shí)世界里的數(shù)據(jù)對(duì)象;
數(shù)據(jù)結(jié)構(gòu)和信息結(jié)構(gòu)層;
程序設(shè)計(jì)語言層;
機(jī)器層;
物理層。
(2) 數(shù)據(jù)加工的分層表示方法學(xué)
計(jì)算機(jī)科學(xué)的另一個(gè)核心任務(wù)是解決數(shù)據(jù)加工的表示方法。要計(jì)算機(jī)“記住”的數(shù)據(jù)加工過程復(fù)雜多變,而在計(jì)算機(jī)內(nèi)部,能夠物理實(shí)現(xiàn)的數(shù)據(jù)加工表示記號(hào)仍然只有兩個(gè)二進(jìn)制數(shù)字。因此,和數(shù)據(jù)的表示方法學(xué)一樣,數(shù)據(jù)加工表示面臨的任務(wù)是,用最簡(jiǎn)單的記號(hào)表示出內(nèi)容復(fù)雜而形式多變的數(shù)據(jù)加工過程。解決方法仍然是分層次的表達(dá)方法學(xué):劃分出數(shù)據(jù)加工過程不同抽象表示層次;每個(gè)層次上定義相應(yīng)的數(shù)據(jù)加工表示手段;它們既相對(duì)獨(dú)立,又可以從上一個(gè)表示層次映射到下一個(gè)層次去;從現(xiàn)實(shí)世界的數(shù)據(jù)處理問題開始,把數(shù)據(jù)加工過程一層一層地轉(zhuǎn)換到計(jì)算機(jī)內(nèi)部的物理實(shí)現(xiàn)為止。這樣,在完成數(shù)據(jù)加工表達(dá)任務(wù)的過程中,人可以根據(jù)任務(wù)的需要選擇適當(dāng)?shù)谋磉_(dá)層次。然后由人或者計(jì)算機(jī)系統(tǒng)本身,按照明確定義的映射規(guī)則,完成層次之間不同加工表示手段的轉(zhuǎn)換。
上述的數(shù)據(jù)表示層次可以總結(jié)為:
數(shù)據(jù)處理問題描述;
解題模型;
算法層;
程序設(shè)計(jì)層;
機(jī)器程序?qū)樱?/p>
物理層。
(3) 計(jì)算機(jī)系統(tǒng)的構(gòu)成
計(jì)算機(jī)系統(tǒng)是數(shù)據(jù)和數(shù)據(jù)加工表示方法的最終載體。已經(jīng)比較習(xí)慣從硬件系統(tǒng)、軟件系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)三個(gè)方面進(jìn)行描述。
教材按照上述認(rèn)識(shí)綱領(lǐng)展開,可以包含后續(xù)各門專業(yè)課程的主要概念,從而使學(xué)生對(duì)計(jì)算機(jī)科學(xué)的內(nèi)容,特別是對(duì)后續(xù)專業(yè)課程之間的內(nèi)在關(guān)聯(lián)有全面、清晰、概要的認(rèn)識(shí)。
教學(xué)實(shí)踐表明,本課程的學(xué)習(xí)能夠激起學(xué)生新的問題和思考。課程結(jié)束后,學(xué)生提出的疑問通常會(huì)比課程開始前還要多。這就說明本課程已經(jīng)為學(xué)生后續(xù)幾年專業(yè)課程的學(xué)習(xí)奠定良好的基礎(chǔ),真正起到了“導(dǎo)論”的作用。同時(shí),本課程也成為對(duì)一年級(jí)學(xué)生進(jìn)行專業(yè)思想教育的一個(gè)環(huán)節(jié),具體而且有效。
按照上述思路編寫的教材《計(jì)算機(jī)科學(xué)導(dǎo)論教程》(ISBN:9787302152347),已經(jīng)由清華大學(xué)出版社出版。這既是筆者在中山大學(xué)和廣州大學(xué)華軟軟件學(xué)院教學(xué)實(shí)踐的總結(jié),也是對(duì)計(jì)算機(jī)科學(xué)導(dǎo)論課程教學(xué)的探討。期望得到同行們的指正。