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