馬瑞民++劉華鎣++時貴英
摘 要:高級語言程序設計類課程的實踐性強,傳統的筆試方法難以保證課程的教學質量,對其考核方案的改革十分必要。針對傳統的筆試、筆試與機試相結合、完全機試、實驗考核以及基于項目的考核等多種考核方案,分析了各自的選取方法,總結了每種方案的優缺點,對程序設計類課程考核方案的選取、考核過程的組織和實施等具有一定的指導意義。
關鍵詞:高級語言 程序設計 考核 利弊 筆試 機試
中圖分類號:G642 文獻標識碼:A 文章編號:1674-098X(2017)10(a)-0220-03
Abstract: Since the advanced language programming courses are very practical, the traditional written examination method is difficult to ensure the courses teaching quality. Hence it is quite necessary to carry out examination scheme reform. Based on the various examination schemes, such as the traditional written examination, the combined method of written examination and computer examination, the computer examination, the experimental examination, the examination based on projects, this paper aims to analyze their selection methods and summarize the pros and cons of each scheme respectively, which will have the guiding significance for the selection of examination scheme, the organization and implementation of examination process in the language programming courses.
Key Words:Advanced language; Programming; Examination; Pros and cons; Written examination; Computer examination
我國高校從20世紀70年代末開始在各專業中相繼設置了高級語言類課程,雖然各校每個專業選取的高級語言不同,其教學側重面也不盡一樣,但該類課程中的程序設計屬性從來都是教學的重點。此類課程考核方法的改革一直是改革的重點課題之一。
1 早期筆試為主的考試方法
我國高校的計算機教學早期主要面向電類專業,到20世紀70年代末80年代初才逐漸普及到非電類專業。當時的非電類專業高級語言教學以BASIC、FORTRAN、ALGOL等為主,后來又有C及其發展的諸多新版本,例如C++等。
80年代初期,受設備和師資等條件的影響,高級語言程序設計類課程規范性不強。例如,沒有固定的高級語言公共課教學組,教學大綱不統一,機時很少,甚至實驗不能一人一臺終端,導致學生的程序設計能力薄弱。此時的高級語言教學的考試只能是以傳統的筆試為主,設備、教師等條件比較充沛的學校會把通過實驗作為參加考試的必要條件之一,或者把平時的實驗成績的一部分(或全部)折算在總成績之中,但所占比例不大。筆試基本上是授課教師各自出題,不能同課程全校學生一張試卷,其考核效果難以衡量。
筆試的優勢是同課堂的學生使用同一套試卷,容易考察和比較學生間的優劣,符合傳統的考試習慣,其成績也容易被教師(學校)、學生和家長各方所接受。其次,教師可以根據學生的專業、對程序設計需求的程度以及學時情況等設計試卷結構和試題難度,有利于保證考試成績的合理分布。當然,學生也比較適應筆試方式,一般不會大起大落。但是這種考試的缺點也十分明顯,主要是考試與學習中的實驗過程相脫節,無法體現程序設計課程實踐性強的特點,一些學生平時實驗不認真,考前復習不到位,試后效果不理想。
2 筆試與機試相結合的考試方案
由于計算機程序設計類課程獨有的特點,除了利用筆試方式考察學生的理論知識和閱讀程序的能力外,還要采用機考方式考察學生設計算法和編寫程序的能力[1]。20世紀80年代中后期開始,各高校的計算機設備逐漸增多,分時系統計算機開始流行,以IBM PC系列機為代表的個人計算機也裝備到高校,這些為每人一臺終端設備上機提供了設備保障。同時,各高校逐步認識到計算機科學在大學生知識層次結構中的重要地位,在師資配備、設備購置以及計算機類課程設置等方面均采取了有效的措施,高級語言類課程改革迎來了機遇。例如,東北石油大學(原大慶石油學院,下同)于1985年提出了以主干課為主體、以計算機和外語教學為兩翼的“一體兩翼”的教學思想,并從1988年開始對高級語言類課程進行全校統一結業考試,從1984級學生開始實施以訓練(Training)—測試(Test)—講評(Comment on and appraise)三步為核心的計算機教學TTC循環教學法,把機試引入課程結業考試和計算機應用能力測試中,收到了很好的訓練效果,提高了學生的計算機應用能力。
計算機設備更新并增多以后,學生一人一機上機實驗得以實現,促使高級語言類課程的考試方案出現了變化,使用最多的是把機試引入課程考核,課程成績由筆試和機試組成(還可以包括平時成績等),根據機試時間和題量的不同,機試成績占總成績的比例也不同。例如,考試由3次組成,其中期末考核方式以機考成績為主占50%,筆試成績占20%,平時成績占30%[2]。endprint
這種考試方式既照顧了學生傳統的考試觀念,也兼顧了高級語言程序設計課的實踐性特點,學生必須經過一定量的實驗操作才能熟練地掌握上機操作及程序設計方法與技巧,可以說在一定程度上引導性地強化了學生的程序設計訓練,提高了學生的編程能力和教學效果。
機試的主要問題一是分組較多致使教師組卷比較困難。因為組織難度、題量基本相同,而且還要照顧知識點和程序設計題類型分布等問題的多套試卷,對任何一個高級語言課程教學組來說都不易解決。二是分組、多試卷考試之后,一些學生總覺得自己的試卷比別人的難,多少有一些不服和欠公平的非議。三是開課班級多導致機試分組太多,無法保證每道機試題僅用一次,對試卷的保密性和嚴肅性也會有質疑。這些問題都需要教學組事先做好預案,保證機試順利進行。
3 完全機試方案
完全機試方案是從筆試與機試相結合方案中逐步演變而來的,隨著筆試與機試相結合方案中筆試權重的降低和機試權重的提升,最終出現了完全機試方案。完全機試方案在20世紀90年代開始,到21世紀初趨于成熟。
3.1 單機版機試方案
由于漢字系統尚未普及,最早的機試方案中,是用紙張印有試題,學生在考場(機房)拿到試題后上機編程,把程序和運行結果抄在試卷紙上(或打印后)上交。后期一般是每個考生發一張軟盤,試題存在磁盤中,學生的程序答案以文件的形式存在磁盤中上交。雖然這種機試組織方法比較落后,但學生只有加強平時的上機訓練才能熟練參與考試,機試效果非常明顯。
完全機試方案的主要問題和筆試與機試相結合方案中的問題大同小異,只是完全通過上機考試之后,每個學生機試的時間更長,對機試、組卷、監考、閱卷以及考試公平度等方面的壓力更大。由此,出現了真正的單機版的考試系統,其特點是將試題建庫集成到考試系統中,考試前需要機房教師將該考試系統安裝到每一臺機器的硬盤上,學生通過上機運行該單機版考試系統實現自動抽題,答卷也以文件的形式存儲到硬盤中,考試結束后由教師將每臺機器上的試卷及答案拷走。
3.2 基于局域網的機試方案
在互聯網流行之前,大多數學校都在機房建有局域網,基于局域網的教學也曾是一個熱點。但由于局域網技術的使用相對復雜,網內資源也不豐富,加上互聯網出現后的巨大優勢,基于局域網的程序設計類課程考試系統成熟且推廣的相對較少。但由于在局域網內可以實現各計算機軟硬件資源的共享,給基于局域網環境的機試方案提供了可能。
3.3 基于互聯網環境的機試方案
我國絕大部分高校于上世紀90年中期以后開始建設互聯網,基于互聯網的機房管理系統逐步出現。例如,通過網絡排實驗課表、對計算機設備開放管理并實現上機的預約、持卡(或學號)到指定設備上機實驗,網上交實驗報告等,實現了計算機機房實驗課及其機時開放的網絡化自動管理,節省了人力,也提高了機房的利用率和管理水平。
由于計算機設備的網絡化和學生用計算機操作系統的漢化,漢字及數學公式、圖表的編輯系統軟件大量出現且基本成熟,這為完全采用無紙化機試方案提供了充分的設備條件。另外,隨著筆試與機試相結合考試方式的逐步完善,使用程序設計試題庫來組織機試的方案也逐步推開,并出現了基于Word界面的網絡試題庫系統等[3],基于互聯網的機試系統也開始出現。這種考試系統成熟使用以后,教師組卷的工作量由每年一次多套試卷,變為網絡試題庫建設,使機試系統的瓶頸問題之一得以初步解決。同時,網絡機試系統由于可以隨機組卷,打消了學生的不公平心態,也減少了考場內學生互相參考的可能性,致使學生丟掉了幻想,增加了平時實驗量和實驗難度,課外上機量明顯增加,鍛煉了學生上機實際操作的能力。重要的是使學生擺脫了以書本學習為主的學習模式,實現了從紙上編程到機器上編程的轉變,其計算機的操作能力和應用水平都得到了顯著提高。這種考試模式的轉變還激發了學生自主學習、自主增加編程訓練的時間,各高校也出現了許多計算機活動興趣小組,為大學生創新創業提供了技術保障。
完全采用機試方案也存在一些弊端。一是適合于機試的程序設計題的類型有限,其題量也不海量,總會有一部分人員通過各種方法收集試題庫中的試題先期試做,或者死記硬背,違背了機試的初衷。二是由于程序的不可證明性,無法對程序使用完全科學的自動閱卷方法,而完全機試方案的考試時間、題量遠遠超過筆試與機試相結合方案中的機試,導致教師閱卷量急劇增加。多年來,研究主觀題自動評分閱卷的文獻時常出現,提出了許多評分算法和解決方案[4-5],為機試系統中程序設計題的自動閱卷提供了幫助。三是學生機試時抽題用的組卷策略和算法尚不能滿足完全科學、公平的考試原則。
東北石油大學一直致力于計算機基礎教學改革,一直探索考察學生編程實踐能力的考試方案,并進行相應的試題庫建設,從20世紀90年代末期使用本校教師自主研發的網上考試系統,后一直主要使用萬維全自動網絡考試系統(萬維捷通軟件技術有限公司研發)進行無紙化網上考試,收到了較好的考核效果。近年來由浙江大學計算機科學與技術學院研發的程序設計類實驗輔助教學平臺(PTA),在全國多所高校的程序設計教學中被廣泛使用。這些系統都具有自動閱卷功能,其對判斷題、選擇題、填空題、改錯題等類型的自動閱卷方案具有極大的準確度,出現的質疑聲較少,但在編程題的自動閱卷方案中多少都有一些符合度上的差異。好在各個考試系統都采用了相應的解決方案,考生也基本適應了這種帶有瑕疵的自動閱卷系統。
4 其他考核方案
除了筆試、筆試與機試相結合、完全機試這些常規的考試方式以外,還有一些其他考核方案,例如實驗考核法,基于項目的考核法,小組合作法以及通過創新創業項目替代法等。
實驗考核法主要是以平時的實驗成績作為課程結業的分數。這種考核方法一般選取全部或部分實驗項目作為課程結業成績的依據,并根據各個實驗項目中上機題的難度、題量以及重要程度加權(或平均)計算,最終得出課程結業成績。這種方案的考核貫穿于課程教學全過程,表面看極好,但由于平時程序設計實驗的監督不很嚴格,無法避免抄襲現象,使用這種考核方案的越來越少。endprint
基于項目的考核法要求學生課程結業時完成一個(或數個)軟件。該方法主要用于項目驅動的案例式教學方式中,學生根據要求完成比較綜合性的程序。但這往往需要有多項可供學生選擇的結業程序項目(程序代碼量要大小適中),教師一般要通過面試的方式考核學生對所編程序的真正掌握程度,教師在項目成果審核時所用的工作量實際上很大。
實驗考核法和基于項目的考核法也可以折中,一般稱作大作業法。大作業法的程序規模比基于項目的考核法要小很多,但比實驗考核法要大一些,當然用于考核的程序數比實驗考核法要少,但比基于項目的考核法要多。這種考核方法的難度和題量比較適中,可以防止結業成績起伏不定。
小組合作法是對基于項目的考核方式的發展,側重于考核學生的分工與合作能力。這種考核方法先將學生分成若干組(可自選或指定),每組合作完成一個軟件項目,項目內學生集體研究進行項目的總體設計,然后進行模塊分工,分別調試,最后再合成一個較大的軟件。這種方法能體現學生的合作精神,促使小組成員之間互相研討開發經驗,最后共贏。但其缺點也很明顯,仍然是監督的問題。如果某個人不努力,組內同學往往不好協調,需要教師介入。同時,如果監督不利,某人可能干脆找人代勞編程,使得教師用于監督和面試的工作量更大。
創新創業項目法也是以項目中的軟件開發為基礎,可以一人完成,也可以小組合作實現。其特點是學生自選課題(或完成教師科研項目中的某個部分),強調創新創業屬性,其工作量和難度比別的考核方法都大,一般適用于編程能力較強的學生(或小組),其創新創業項目完成后可以替代課程結業考核,對完成好的可以在成績上有一定的加權增量。
以上方案都需要上機完成,能很好地訓練學生的程序設計能力,但也都存在如何監督考核(編程)過程的問題。另外,教師給成績的標準和執行的準確性都容易被質疑,還有就是學生在軟件開發中可能會什么就用什么,程序設計方法與技巧的訓練可能欠完整,計算思維能力的訓練不夠,這些在教學中需要認真對待和解決。
5 結語
程序設計類課程考核方式基本可以劃分為筆試、機試和項目軟件開發幾類,這些方式的加權組合就有了筆試法、筆試與機試相結合方案、完全機試方案以及實驗考核法等。選取這些考核方法時,一定與教學模式、機器設備、教師配備和網絡環境等狀況相關,每種方案都有其優點,當然也有需要克服的弱點。無論使用哪種考核方案,學校和教師對教學的投入,特別是對考試環節的投入是至關重要的,只有教師投入足夠的精力才能保證考核方案的順利實施,才能使成績公平合理,達到提高教學質量的目的。
參考文獻
[1] 鐘世芬,柳榮其,陳紅紅,等.程序設計類課程無紙化考試系統存在的問題及改進方法[J].高等教育研究,2016,33(1):42-44.
[2] 陳婷.C語言程序設計實驗教學改革探究[J].實驗技術與管理,2010,27(10):182-184.
[3] 馬瑞民,顧洪博,韓玉祥.基于Word界面的網絡試題庫系統的設計與實現[J].大慶石油學院學報,2003,27(4):54-57.
[4] 黃英斌,竹翠.基于網絡的新型計算機考試系統[J].計算機工程,2001,27(7):150-152.
[5] 孟愛國,卜勝賢,李鷹,等.一種網絡考試系統中主觀題自動評分的算法設計與實現[J].計算機與數字工程,2005,33(7):147-150.endprint