說(shuō)到高等院校計(jì)算機(jī)基礎(chǔ)教育,單從字面來(lái)看,圈外人很難準(zhǔn)確地了解其內(nèi)涵是什么,特別是有時(shí)候省略了“高等院?!?,而直接講“計(jì)算機(jī)基礎(chǔ)教育”,就更不知所云了。實(shí)際上這指的是:針對(duì)高等院校非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)教育。與此相對(duì)的,是“計(jì)算機(jī)專業(yè)教育”。
這種劃分也是逐漸演變的。在20世紀(jì)90年代初期以前,當(dāng)時(shí)非計(jì)算機(jī)專業(yè)是根據(jù)本專業(yè)的培養(yǎng)需要,自行開設(shè)計(jì)算機(jī)課程。其中電類專業(yè),因?yàn)閷I(yè)性質(zhì)的原因,計(jì)算機(jī)課程相對(duì)多一些,也比較成體系。而非電類專業(yè),頂多開一門高級(jí)語(yǔ)言課而已,清華的大多數(shù)理工科系就是這樣,目的是使學(xué)生能夠使用高級(jí)語(yǔ)言編寫程序進(jìn)行科學(xué)計(jì)算。自20世紀(jì)90年代初開始,教育部在清華大學(xué)開展試點(diǎn),針對(duì)非電類專業(yè),將原本分散在各系自行開設(shè)的計(jì)算機(jī)基礎(chǔ)課程進(jìn)行集中、統(tǒng)一規(guī)劃,統(tǒng)一實(shí)施,形成了最早的“非電類專業(yè)計(jì)算機(jī)基礎(chǔ)課程體系”,即“三個(gè)層次五門課”的體系:第一層次的“計(jì)算機(jī)文化基礎(chǔ)”;第二層次的“計(jì)算機(jī)軟件技術(shù)基礎(chǔ)”和“計(jì)算機(jī)硬件技術(shù)基礎(chǔ)”;第三層次的“計(jì)算機(jī)信息管理基礎(chǔ)”和“計(jì)算機(jī)輔助設(shè)計(jì)基礎(chǔ)”。
開始時(shí),將分散的課程集中,以統(tǒng)一的體系結(jié)構(gòu)和課程設(shè)置應(yīng)用于非電類的所有系,是為了使計(jì)算機(jī)基礎(chǔ)教育達(dá)到一個(gè)基本要求、統(tǒng)一水平。接著,面臨的就是如何滿足不同專業(yè)的特殊需求問(wèn)題。統(tǒng)一的課程設(shè)置能否滿足不同專業(yè)的培養(yǎng)需求?有限的課程是否能滿足學(xué)分制自由選課的需求?課程內(nèi)容設(shè)置如何反映計(jì)算機(jī)技術(shù)的最新發(fā)展,如何滿足社會(huì)對(duì)大學(xué)生的要求?在研究和回答這些問(wèn)題的過(guò)程中,我們突破原有的五門課,在三層次框架下,不斷豐富、完善課程體系。經(jīng)過(guò)十幾年的發(fā)展,目前已經(jīng)形成了內(nèi)容豐富的課程群。
但是,仍然有一些問(wèn)題有待我們回答。
一、計(jì)算機(jī)基礎(chǔ)教育的目標(biāo)問(wèn)題
這是一個(gè)根本的問(wèn)題。這個(gè)問(wèn)題不是沒有答案,而是答案眾多,也就是目的和任務(wù)很多。有些學(xué)校認(rèn)為學(xué)生們都學(xué)點(diǎn)計(jì)算機(jī)課,考個(gè)等級(jí)證書,好就業(yè);有些簡(jiǎn)單的認(rèn)為,計(jì)算機(jī)應(yīng)用技術(shù)是基本常識(shí),應(yīng)該學(xué);有的學(xué)生甚至打算放棄本專業(yè),多學(xué)點(diǎn)計(jì)算機(jī)課,以后好改行。這些觀點(diǎn)都有其自身的道理,有其存在的合理性,但都沒有抓住本質(zhì)。一個(gè)大學(xué)本科生到底應(yīng)該具有什么樣的計(jì)算機(jī)應(yīng)用能力?或許這個(gè)問(wèn)題本身沒有統(tǒng)一的答案,不同的專業(yè)應(yīng)該會(huì)有不同的具體標(biāo)準(zhǔn)。于是,在清華大學(xué)我們對(duì)所有的課程不再統(tǒng)一規(guī)定必修與選修,而是由各個(gè)系自行確定選課要求。
這樣做,看似一個(gè)完美的解決方案:作為計(jì)算機(jī)基礎(chǔ)課的開課單位,我們開設(shè)了大量課程,反映計(jì)算機(jī)技術(shù)的最新發(fā)展,最大限度地滿足不同的需求,而這個(gè)“需求”由各個(gè)系自行確定,由學(xué)生的選擇來(lái)確定。課程群和自由選課方式深受學(xué)生歡迎,同時(shí)不斷得到學(xué)生要求開設(shè)新課的呼聲。但是各個(gè)系的教學(xué)計(jì)劃卻沒有發(fā)生多少變化,也就是說(shuō),各系自己并沒有提出多少“不同需求”。為什么呢?因?yàn)檠芯坎煌男枨?,設(shè)計(jì)新的培養(yǎng)計(jì)劃,并非易事。要有效地解決這一問(wèn)題,還是需要統(tǒng)一的組織與實(shí)施,開課單位要與各個(gè)系共同分析、研究。
這就需要我們抓住本質(zhì)。從根本上來(lái)講,我們開設(shè)面向非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)課,正是因?yàn)橛?jì)算機(jī)技術(shù)已經(jīng)成為各專業(yè)學(xué)習(xí)和科學(xué)研究不可缺少的工具。從更深入的層面講,計(jì)算機(jī)科學(xué)與許多學(xué)科互相交叉滲透。因此我們培養(yǎng)學(xué)生應(yīng)該分兩級(jí)目標(biāo):第一級(jí)是,使學(xué)生能夠運(yùn)用計(jì)算機(jī)技術(shù)從事本專業(yè)的學(xué)習(xí)和研究;第二級(jí)是,培養(yǎng)能將本專業(yè)與計(jì)算機(jī)科學(xué)進(jìn)行融合的交叉學(xué)科人才。課程設(shè)置、教學(xué)內(nèi)容都應(yīng)該圍繞這兩級(jí)目標(biāo)來(lái)進(jìn)行。針對(duì)這兩級(jí)目標(biāo),我們應(yīng)該與各個(gè)專業(yè)的專家一同分析、研究專業(yè)的特點(diǎn)、計(jì)算機(jī)技術(shù)在科研和開發(fā)中的應(yīng)用,以及學(xué)科間的交叉融合。這些都研究清楚了,才能形成計(jì)算機(jī)基礎(chǔ)課的培養(yǎng)要求。
二、計(jì)算機(jī)基礎(chǔ)教育的必要性問(wèn)題
雖然計(jì)算機(jī)基礎(chǔ)教育已經(jīng)走過(guò)了十幾年,還是有一個(gè)疑問(wèn)的聲音一直隱約存在:需要這樣的計(jì)算機(jī)基礎(chǔ)教育嗎?國(guó)外很多大學(xué)并沒有專門針對(duì)所有非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)課程。
那么首先我們要清楚,在歐美發(fā)達(dá)國(guó)家,中小學(xué)的信息技術(shù)基礎(chǔ)課已經(jīng)很普及,并且達(dá)到比較高的水平。所以大學(xué)生入學(xué)時(shí)已經(jīng)有一個(gè)比較好的基礎(chǔ),再加上他們的學(xué)分制的選課方式使學(xué)生可以自由選修需要的計(jì)算機(jī)課程。而我國(guó)的基礎(chǔ)教育水平發(fā)展很不均衡,只有少數(shù)大城市可以與歐美發(fā)達(dá)國(guó)家相比,所以在大學(xué)里就需要專門的計(jì)算機(jī)基礎(chǔ)教育。從另一個(gè)角度看,發(fā)達(dá)國(guó)家的做法,也并不總是應(yīng)該效仿的。我曾經(jīng)與在國(guó)外工作的中國(guó)學(xué)者交流,他們認(rèn)為面向非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)課是我國(guó)大學(xué)教育的一個(gè)非常好的特色,到了國(guó)外大學(xué)里,中國(guó)人可以很熟練地編寫程序自己處理實(shí)驗(yàn)數(shù)據(jù),很受贊賞,而外國(guó)人很多是不行的,要請(qǐng)別人幫助。這說(shuō)明我們的教育在這一方面是成功的。
是不是在未來(lái)某個(gè)時(shí)刻,我們也不再需要專門的非計(jì)算機(jī)專業(yè)計(jì)算機(jī)基礎(chǔ)課了呢?現(xiàn)在很難妄下斷言,應(yīng)該作為一個(gè)遠(yuǎn)期規(guī)劃來(lái)研究。而目前以及短期的未來(lái),無(wú)疑需要大力建設(shè),更新、完善課程體系。
三、面向非專業(yè)的計(jì)算機(jī)課程特點(diǎn)問(wèn)題
這些課程應(yīng)該有什么樣的特點(diǎn)呢?與計(jì)算機(jī)專業(yè)的課程有何不同?將計(jì)算機(jī)專業(yè)的一些課程拿來(lái)做“壓縮餅干”或者作“簡(jiǎn)明版”嗎?抑或干脆直接使用計(jì)算機(jī)專業(yè)的課程?當(dāng)然沒那么簡(jiǎn)單。兩類課程的本質(zhì)差別在哪里呢?我想根本的不同在于,計(jì)算機(jī)專業(yè)的課程設(shè)置是成體系的,每一門課都是這個(gè)完整課程體系中的一個(gè)有機(jī)部分,課程之間是有著密切聯(lián)系的。如果僅僅簡(jiǎn)單地從計(jì)算機(jī)專業(yè)的課程中挑選出一個(gè)子集(或者再“簡(jiǎn)化”一下),直接作為基礎(chǔ)教育的課程,那就生生割裂了課程間原本的內(nèi)在聯(lián)系,學(xué)生學(xué)習(xí)起來(lái)理解就會(huì)有困難,或者不全面,這顯然是行不通的。
所以,涉及計(jì)算機(jī)基礎(chǔ)教育的課程,關(guān)鍵是要在每一門課程中兼顧整個(gè)知識(shí)體系結(jié)構(gòu)。以程序設(shè)計(jì)課程為例,在計(jì)算機(jī)專業(yè)課程體系中,與之相關(guān)的課程有計(jì)算機(jī)原理、數(shù)理邏輯、編譯原理、數(shù)據(jù)結(jié)構(gòu)、軟件工程,等等。而非計(jì)算機(jī)專業(yè)的學(xué)生,可能就僅僅選修一門程序設(shè)計(jì)。那么我們?cè)谶@門課里,就要讓學(xué)生初步了解計(jì)算機(jī)的存儲(chǔ)程序原理,了解指令在計(jì)算機(jī)中的執(zhí)行過(guò)程,了解程序編譯過(guò)程,懂得一點(diǎn)數(shù)理邏輯,掌握數(shù)據(jù)結(jié)構(gòu)的基本概念、常用算法,了解軟件工程的思想和軟件開發(fā)的過(guò)程。只有做到這樣,才真正是面向非專業(yè)的課程。如果學(xué)生學(xué)習(xí)一門課像盲人摸象,這門課無(wú)疑是失敗的。
但是考慮知識(shí)結(jié)構(gòu)的完整性也不能簡(jiǎn)單地制造“壓縮餅干”,那樣會(huì)使學(xué)生“消化不良”。還是以程序設(shè)計(jì)課為例,基本目標(biāo)還是為了講授程序設(shè)計(jì),不能指望學(xué)生學(xué)了程序設(shè)計(jì)同時(shí)可以掌握編譯原理、軟件工程等等。只是要從完整的計(jì)算機(jī)知識(shí)體系結(jié)構(gòu)中,抽出與程序設(shè)計(jì)相關(guān)的知識(shí)內(nèi)容,進(jìn)行有機(jī)地組合,深入淺出地融合到程序設(shè)計(jì)課程中。這樣學(xué)生學(xué)了程序設(shè)計(jì)課,雖然仍舊只是摸到了一條象腿,但是這回他是明眼人,看到有一頭大象,腿只是象的一部分,腿要得以生存,還要有賴大腦、心臟、消化系統(tǒng)……整個(gè)肌體的共同協(xié)作。
這便是面向非計(jì)算機(jī)專業(yè)的基礎(chǔ)課應(yīng)該有的特點(diǎn)。
不斷地發(fā)現(xiàn)問(wèn)題、研究和解決問(wèn)題,然后新的問(wèn)題又出現(xiàn),再研究、解決……這便是事物發(fā)展的規(guī)律。高等院校非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)教育也是如此,我這里提出來(lái)的,都是遇到的問(wèn)題,以及解決問(wèn)題的思路與想法,遠(yuǎn)沒有得到答案。之所以寫出來(lái),是希望與同行分享我的觀點(diǎn),得到各方建議,共同研究去解決這些問(wèn)題。
喜歡將一些疑問(wèn)和不太成熟的思考拿出來(lái)與大家討論,將內(nèi)心的想法、感悟與同行分享,而不熱衷于作“經(jīng)驗(yàn)報(bào)告”,這是我的風(fēng)格。
下期精彩預(yù)告:《感悟?qū)憰?/p>