課程建設(shè)由設(shè)計(jì)、建設(shè)、實(shí)施幾個(gè)階段組成,其中包括內(nèi)容建設(shè)、資源建設(shè)、教學(xué)環(huán)境建設(shè)等等大量建設(shè)任務(wù),是一個(gè)綜合性的系統(tǒng)工程。目前課程建設(shè)中普遍存在的盲目性和無(wú)序性在很大程度上影響了課程建設(shè)的科學(xué)性,降低了建設(shè)的效率,減少了建設(shè)成果的重復(fù)利用率和有效使用期。設(shè)計(jì)一個(gè)科學(xué)和規(guī)范的解決方案,是課程建設(shè)成功的必要基礎(chǔ)。本文以C++語(yǔ)言程序設(shè)計(jì)為例,介紹一個(gè)課程建設(shè)的解決方案。
一、設(shè)計(jì)階段
1. 課程的定位與目標(biāo)
設(shè)計(jì)階段是整個(gè)課程建設(shè)的重要開(kāi)端。首先應(yīng)該明確課程的定位,設(shè)計(jì)課程目標(biāo)。課程的定位要從橫向和縱向不同的角度進(jìn)行。橫向,又包括廣義和狹義的。廣義的就是分析本學(xué)校與其他學(xué)校相比辦學(xué)目標(biāo)的特點(diǎn),針對(duì)本校的人才培養(yǎng)目標(biāo)確定課程的定位于目標(biāo);狹義的就是確定與課程體系中并行的其他課程間的關(guān)系,科學(xué)合理地設(shè)置同一課程體系中的課程??v向,就是分析確定與先修課程、后繼課程的關(guān)系,保證課程之間知識(shí)的延續(xù)性、系統(tǒng)性,為后繼課程準(zhǔn)備充分的基礎(chǔ)。
清華大學(xué)計(jì)算機(jī)系基礎(chǔ)教學(xué)部開(kāi)設(shè)了一系列面向全校非信息類(lèi)專(zhuān)業(yè)的計(jì)算機(jī)基礎(chǔ)課,其中一個(gè)重要部分是程序設(shè)計(jì)類(lèi)課程。在1999年我們決定開(kāi)設(shè)C++語(yǔ)言程序設(shè)計(jì)課程時(shí),正是基于清華大學(xué)的學(xué)生培養(yǎng)目標(biāo)特點(diǎn):培養(yǎng)研究型人才。在各專(zhuān)業(yè)的科學(xué)研究中,計(jì)算機(jī)程序設(shè)計(jì)技術(shù)起著重要的輔助作用。而面向?qū)ο蟮某绦蛟O(shè)計(jì)在當(dāng)時(shí)正在走向成熟,逐漸成為程序設(shè)計(jì)技術(shù)的主流。
縱向來(lái)看,如何定位C++語(yǔ)言程序設(shè)計(jì)呢?當(dāng)時(shí)的普遍做法是先學(xué)習(xí)一門(mén)面向過(guò)程的語(yǔ)言,然后再學(xué)習(xí)面向?qū)ο蟮恼Z(yǔ)言。我們科學(xué)地分析了程序設(shè)計(jì)技術(shù)的發(fā)展過(guò)程、C++語(yǔ)言和面向?qū)ο蠹夹g(shù)本身的特點(diǎn),認(rèn)識(shí)到上述學(xué)習(xí)路徑是尾隨技術(shù)發(fā)展的歷程,而從學(xué)習(xí)面向?qū)ο蟮募夹g(shù)來(lái)講是走了一條彎路,面向?qū)ο蟮某绦蛟O(shè)計(jì)完全可以作為程序設(shè)計(jì)的入門(mén)課程。于是,C++語(yǔ)言程序設(shè)計(jì)被定位為第一門(mén)程序設(shè)計(jì)課程。與其并行的課程還有其他的程序語(yǔ)言,以滿足不同專(zhuān)業(yè)對(duì)程序設(shè)計(jì)技術(shù)的不同需求。
明確了課程的定位,課程的目標(biāo)就圍繞這個(gè)定位來(lái)確定,在課程目標(biāo)中重點(diǎn)突出基礎(chǔ)性和實(shí)踐性。其入門(mén)課程的定位決定了這是一門(mén)基礎(chǔ)課,因此要以程序設(shè)計(jì)的思想、方法為重點(diǎn)。由于是針對(duì)非信息類(lèi)專(zhuān)業(yè)的課程,其目的是為了學(xué)生將來(lái)能在本專(zhuān)業(yè)的研究工作中運(yùn)用面向?qū)ο蟮募夹g(shù)和C++語(yǔ)言,動(dòng)手編程能力的培養(yǎng)就顯得尤為重要。
2. 課程內(nèi)容設(shè)計(jì)
一門(mén)課的相關(guān)知識(shí)點(diǎn)很多,那么如何選擇教學(xué)內(nèi)容呢?課程內(nèi)容要緊緊圍繞著定位和目標(biāo)來(lái)設(shè)計(jì),為課程目標(biāo)服務(wù)。同時(shí)還要綜合考慮課時(shí)數(shù)、學(xué)生的認(rèn)知規(guī)律,重要的是還要考慮為學(xué)生奠定以后繼續(xù)學(xué)習(xí)的基礎(chǔ),指引繼續(xù)學(xué)習(xí)的方向,只有這樣學(xué)生將來(lái)才有發(fā)展的后勁。于是我們的課程目標(biāo)確定為:掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念和方法、C++的基本語(yǔ)法和編程方法;學(xué)會(huì)使用集成開(kāi)發(fā)環(huán)境;掌握程序調(diào)試方法;初步了解常用數(shù)據(jù)結(jié)構(gòu)和非數(shù)值算法;初步了解C++標(biāo)準(zhǔn)模板庫(kù)的使用方法。
3. 教學(xué)環(huán)節(jié)和教學(xué)活動(dòng)設(shè)計(jì)
一般來(lái)講,教學(xué)環(huán)節(jié)應(yīng)該包括理論環(huán)節(jié)和實(shí)踐環(huán)節(jié),以及考核環(huán)節(jié)。課程內(nèi)容被分解安排到不同的教學(xué)環(huán)節(jié)。理論環(huán)節(jié)包括學(xué)生課前預(yù)習(xí)、大課、課后復(fù)習(xí),實(shí)踐環(huán)節(jié)包括實(shí)驗(yàn)和項(xiàng)目訓(xùn)練(大作業(yè))。在各個(gè)教學(xué)環(huán)節(jié)中,還要設(shè)計(jì)教學(xué)活動(dòng),例如大課上的講解和討論,實(shí)驗(yàn)課的實(shí)驗(yàn)任務(wù),項(xiàng)目訓(xùn)練等。每一個(gè)環(huán)節(jié)都要設(shè)計(jì)相應(yīng)的方案。
考核也是一個(gè)重要教學(xué)環(huán)節(jié),恰當(dāng)?shù)目己四繕?biāo)和考核形式,不僅可以科學(xué)地檢測(cè)教學(xué)效果,更能夠有效地引導(dǎo)學(xué)生完成各個(gè)學(xué)習(xí)環(huán)節(jié)中的任務(wù)。所以,考核環(huán)節(jié)的設(shè)置要與課程目標(biāo)和其他教學(xué)環(huán)節(jié)的設(shè)計(jì)方案相匹配,要能夠檢驗(yàn)?zāi)繕?biāo)的完成程度,驗(yàn)收每個(gè)教學(xué)環(huán)節(jié)的學(xué)習(xí)成果。針對(duì)多樣化的教學(xué)環(huán)節(jié)和教學(xué)活動(dòng)設(shè)計(jì),我們的考核環(huán)節(jié)也是多樣化的,包括課堂討論和網(wǎng)絡(luò)討論的參與情況、每次實(shí)驗(yàn)的完成情況、課外作業(yè)的完成情況,以及項(xiàng)目訓(xùn)練的選題、設(shè)計(jì)文檔、程序運(yùn)行測(cè)試和答辯,還有卷面測(cè)驗(yàn)。
二、建設(shè)階段
1. 建設(shè)任務(wù)
建設(shè)階段是課程建設(shè)的實(shí)質(zhì)階段,任務(wù)是建設(shè)課程的教材、立體化教學(xué)資源。
課程的教材、教學(xué)資源建設(shè),都要遵循設(shè)計(jì)階段形成的方案。我們以主教材體現(xiàn)教學(xué)內(nèi)容和教學(xué)思想;以教師用書(shū)和演示講稿組織課堂教學(xué)內(nèi)容;以學(xué)生用書(shū)指導(dǎo)學(xué)生的實(shí)踐環(huán)節(jié);以案例教程作為教師講課和學(xué)生課外實(shí)踐的資料補(bǔ)充;以多媒體網(wǎng)絡(luò)教學(xué)平臺(tái)和課件為學(xué)生提供不受時(shí)間和空間限制的學(xué)習(xí)環(huán)境,拓展課堂,便于學(xué)生自學(xué)和復(fù)習(xí),以及參與課程討論。
2. 利用標(biāo)準(zhǔn)化工具建設(shè)資源
課程教學(xué)資源建設(shè)需要系統(tǒng)性的開(kāi)發(fā)工具,這一點(diǎn)是常常被忽略的。實(shí)際上工具及支撐環(huán)境從課程的設(shè)計(jì)、建設(shè)階段開(kāi)始,一直到課程的實(shí)施、更新階段都是非常重要的。
很多課程的建設(shè)過(guò)程中,雖然是用了很多好的開(kāi)發(fā)工具來(lái)制作課件,但是很少意識(shí)到要選擇系統(tǒng)性的、支持課程建設(shè)和維護(hù)全過(guò)程的工具。因此在不同時(shí)期、由不同教師開(kāi)發(fā)的課件往往難以整合。大型的課件往往不能滿足不同教師、不同學(xué)校的特殊需要,而作局部的修改、調(diào)整又不方便。另一方面,有時(shí)候一門(mén)課開(kāi)發(fā)了大量資源,形成了資源庫(kù),但是得不到充分利用,因?yàn)榻處熾y以準(zhǔn)確檢索到需要的資源,或者說(shuō)也不太清楚自己可以如何利用這些資源。另外,通常教師對(duì)一門(mén)課程的設(shè)計(jì),往往只存在于自己的教案中(甚至有的教師不寫(xiě)詳細(xì)的教案課也講得很好),這樣的教學(xué)設(shè)計(jì)不便于長(zhǎng)久保留,更難以交換和共享。
關(guān)于教學(xué)資源的建設(shè),國(guó)際上早已經(jīng)有IMS全球?qū)W習(xí)聯(lián)盟(IMS Global Learning Consortium)制定的系列規(guī)范、IEEE制定的工業(yè)標(biāo)準(zhǔn)。中國(guó)國(guó)家標(biāo)準(zhǔn)關(guān)于學(xué)習(xí)資源的元數(shù)據(jù)標(biāo)準(zhǔn)草案也已經(jīng)公布,正在審批過(guò)程中。
我們?cè)贑++語(yǔ)言程序設(shè)計(jì)課程的教學(xué)資源建設(shè)中,開(kāi)發(fā)了標(biāo)準(zhǔn)化的工具,按照國(guó)家標(biāo)準(zhǔn)、IMS標(biāo)準(zhǔn),將資源化分成比較小的單元:一節(jié)內(nèi)容、動(dòng)態(tài)演示的案例、一個(gè)實(shí)驗(yàn)等等,包裝成標(biāo)準(zhǔn)化“學(xué)習(xí)對(duì)象”。然后按照設(shè)計(jì)階段對(duì)教學(xué)環(huán)節(jié)和教學(xué)活動(dòng)的設(shè)計(jì),將學(xué)習(xí)對(duì)象和學(xué)習(xí)活動(dòng),組裝成一門(mén)課的學(xué)習(xí)流程。這個(gè)學(xué)習(xí)流程是可以動(dòng)態(tài)調(diào)整的,不同的教師可以按照自己的教學(xué)安排調(diào)整內(nèi)容次序、更換學(xué)習(xí)對(duì)象和學(xué)習(xí)活動(dòng)。這樣的方案,有利于資源的重用。因?yàn)槲覀兘ㄔO(shè)的不僅是靜態(tài)的資源庫(kù),而是按照教學(xué)設(shè)計(jì)以學(xué)習(xí)流程為主線,串聯(lián)相關(guān)的學(xué)習(xí)資源和學(xué)習(xí)活動(dòng)。
這樣的優(yōu)勢(shì)至少有三點(diǎn):
1. 學(xué)習(xí)資源“活”了,有學(xué)習(xí)流程這個(gè)主線穿引,教師就知道如何去利用學(xué)習(xí)資源了。
2. 對(duì)學(xué)習(xí)內(nèi)容和學(xué)習(xí)活動(dòng)的調(diào)整變得靈活方便,教師可以隨時(shí)調(diào)整教學(xué)內(nèi)容,并自動(dòng)生成電子版演示文件。這樣資源的適用面就寬了,教師使用時(shí)也不受課件框架的限制。
3. 便于教學(xué)設(shè)計(jì)的保留、交換、共享。教師可以根據(jù)自己的教學(xué)設(shè)計(jì)修改、調(diào)整學(xué)習(xí)流程,以及每個(gè)環(huán)節(jié)的相關(guān)資源,這樣的設(shè)計(jì)都被作為“教學(xué)設(shè)計(jì)”存儲(chǔ),教師之間可以互相借鑒共享。
三、實(shí)施階段
有了科學(xué)的設(shè)計(jì)、豐富易用的標(biāo)準(zhǔn)化資源,教學(xué)過(guò)程的實(shí)施就很容易。大課和課外輔導(dǎo)都有豐富的資源支持,而且可以設(shè)計(jì)個(gè)性化的學(xué)習(xí)流程。
要很好地利用教學(xué)設(shè)計(jì)和資源建設(shè)的成果,教學(xué)支撐環(huán)境是很重要的。教學(xué)支撐環(huán)境的一個(gè)重要方面就是網(wǎng)絡(luò)教學(xué)環(huán)境,這是建立在校園網(wǎng)基礎(chǔ)設(shè)施和校級(jí)網(wǎng)絡(luò)教學(xué)平臺(tái)上的軟環(huán)境,需要在課程建設(shè)階段建設(shè)或者選擇。網(wǎng)絡(luò)學(xué)習(xí)環(huán)境可以將教師設(shè)計(jì)的學(xué)習(xí)流程和學(xué)習(xí)資源以網(wǎng)絡(luò)課件的形式展現(xiàn)給學(xué)習(xí)者,這樣學(xué)習(xí)者就可以在課外學(xué)習(xí)中隨時(shí)得到教師的指引,并充分利用教師開(kāi)發(fā)的資源。
C++語(yǔ)言程序設(shè)計(jì)這門(mén)課,就是應(yīng)用“清華網(wǎng)絡(luò)學(xué)堂”這個(gè)公共網(wǎng)絡(luò)教學(xué)平臺(tái),并且嵌入了本課程專(zhuān)用的、標(biāo)準(zhǔn)化的教學(xué)設(shè)計(jì)和學(xué)習(xí)環(huán)境,使得學(xué)生可以自如地使用課件、動(dòng)態(tài)案例演示、實(shí)驗(yàn)指導(dǎo)等資源。
實(shí)施階段的一個(gè)重要環(huán)節(jié)就是在實(shí)施中不斷改革、更新課程內(nèi)容和教學(xué)模式。由于標(biāo)準(zhǔn)化資源建設(shè)工具的支持,這種更新變得平滑而自然,不會(huì)造成大量的重復(fù)開(kāi)發(fā)和資源浪費(fèi),也不會(huì)增加教師多少工作量。
課程建設(shè)是一個(gè)艱巨而長(zhǎng)期的任務(wù),一線教師對(duì)此付出很多辛勞,回報(bào)往往不盡如人意。雖然教師們都是具有無(wú)私奉獻(xiàn)精神的,但是如果我們能夠從課程解決方案的角度,站在更高的層次上共同探討,共享經(jīng)驗(yàn),我們的工作就會(huì)更容易些,效果也會(huì)更好一些。本文介紹的“C++語(yǔ)言程序設(shè)計(jì)”課程建設(shè)解決方案,只是我們剛剛開(kāi)始的一個(gè)探索。其中的資源建設(shè)工具是“十五”國(guó)家科技攻關(guān)項(xiàng)目《國(guó)產(chǎn)基礎(chǔ)軟件平臺(tái)體系開(kāi)發(fā)及應(yīng)用示范》——《網(wǎng)絡(luò)教育平臺(tái)體系結(jié)構(gòu)標(biāo)準(zhǔn)化關(guān)鍵技術(shù)研究與應(yīng)用》專(zhuān)題的一個(gè)成果應(yīng)用。所有這些都還在不斷的研究探索之中,還需要繼續(xù)完善。