季曉慧 張玉清
摘要:討論了在線評(píng)測(cè)系統(tǒng)在C程序設(shè)計(jì)實(shí)踐教學(xué)中的題庫建設(shè)、隨堂及課后練習(xí)的題目分類及使用方法、考試方式及分?jǐn)?shù)評(píng)定方法等。
關(guān)鍵詞:C程序設(shè)計(jì);在線評(píng)測(cè);題庫;練習(xí);考試
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)07-1465-02
C語言是大學(xué)一年級(jí)學(xué)生學(xué)習(xí)計(jì)算機(jī)程序設(shè)計(jì)廣泛使用的一種語言。學(xué)習(xí)本門課程,學(xué)生不僅可以掌握此種高級(jí)程序設(shè)計(jì)語言的語法和語義,還可以掌握結(jié)構(gòu)化程序設(shè)計(jì)“自頂向下、逐步求精”的思想及方法、常用的算法及實(shí)現(xiàn)技術(shù),以及分析和解決實(shí)際問題的語言應(yīng)用能力。其教學(xué)目標(biāo)是激發(fā)學(xué)生的程序設(shè)計(jì)興趣、培養(yǎng)學(xué)生探索精神和實(shí)際編程能力。
為實(shí)現(xiàn)上述教學(xué)目標(biāo),上機(jī)編程實(shí)踐是極為重要的教學(xué)手段,具有重要的教學(xué)意義。但由于本門課程面向的是大一學(xué)生,此時(shí)學(xué)生還沒有接觸專業(yè)課程,不能將專業(yè)的實(shí)際需要與本門課程的學(xué)習(xí)聯(lián)系起來,對(duì)課程的地位認(rèn)識(shí)不足,存在對(duì)課程的興趣不大、學(xué)習(xí)動(dòng)力不夠、主觀能動(dòng)性差、投入精力有限等問題。在具體上機(jī)實(shí)踐時(shí),有些同學(xué)精力不夠集中,不能按照指導(dǎo)教師的要求完成指定的上機(jī)實(shí)踐題目,甚至個(gè)別同學(xué)會(huì)有上網(wǎng)、看電影等與編程無關(guān)活動(dòng)的現(xiàn)象。而由于指導(dǎo)教師面向的學(xué)生較多,無法監(jiān)督和檢查所有學(xué)生的上機(jī)完成情況,對(duì)于能檢查到的學(xué)生,由于時(shí)間和精力有限也不能進(jìn)行十分嚴(yán)謹(jǐn)?shù)臋z驗(yàn),因此學(xué)生會(huì)進(jìn)一步放松對(duì)自己的要求。
在線評(píng)測(cè)系統(tǒng)是一套能對(duì)程序源代碼進(jìn)行自動(dòng)評(píng)判的計(jì)算機(jī)應(yīng)用軟件,目前國內(nèi)眾多高校都已采用此軟件作為計(jì)算機(jī)程序設(shè)計(jì)教學(xué)的輔助系統(tǒng),其特點(diǎn)是評(píng)判嚴(yán)格,不僅要求邏輯上正確,而且數(shù)據(jù)的格式也要相符合,學(xué)生必須考慮到每一個(gè)細(xì)節(jié)和特殊邊界條件,而不是大體上正確就能通過測(cè)試,這對(duì)于培養(yǎng)嚴(yán)謹(jǐn)、周密的程序設(shè)計(jì)思想及風(fēng)格極為有效。另一方面,在線評(píng)測(cè)系統(tǒng)可以通過對(duì)各學(xué)生的賬號(hào)查詢來掌握學(xué)生的上機(jī)實(shí)踐情況,使得教師能夠?qū)崟r(shí)地查看每一個(gè)學(xué)生的上機(jī)情況,極大地增強(qiáng)了教師的管理能力,可以促進(jìn)學(xué)生上機(jī)實(shí)驗(yàn)熱情的提高,加大學(xué)生的上機(jī)實(shí)驗(yàn)效率。該文就在線評(píng)測(cè)系統(tǒng)在C程序設(shè)計(jì)教學(xué)中的具體應(yīng)用進(jìn)行了探討。
1 在線評(píng)測(cè)系統(tǒng)簡(jiǎn)介
在線評(píng)測(cè)系統(tǒng)最早用于國際大學(xué)生程序設(shè)計(jì)競(jìng)賽,其通過對(duì)學(xué)生用網(wǎng)頁瀏覽器提交到服務(wù)器的競(jìng)賽題目源代碼進(jìn)行在線編譯,生成可執(zhí)行文件并產(chǎn)生輸出,將輸出與服務(wù)器數(shù)據(jù)庫中的測(cè)試數(shù)據(jù)中的輸出文件進(jìn)行逐字節(jié)的對(duì)比來判斷學(xué)生提交程序的正確性,并對(duì)耗時(shí)、耗費(fèi)內(nèi)存等方面進(jìn)行評(píng)測(cè),并將評(píng)測(cè)結(jié)果保存在數(shù)據(jù)庫中同時(shí)返回給用戶。目前,在線評(píng)測(cè)系統(tǒng)已廣泛應(yīng)用于各高校的程序設(shè)計(jì)類課程實(shí)踐教學(xué)中,其除對(duì)源代碼進(jìn)行評(píng)判之外,還具有用戶管理、題庫管理、在線比賽及在線討論等功能模塊,其中用戶管理模塊用于提供新用戶的注冊(cè)及用戶信息的更改功能,并為每個(gè)用戶維護(hù)提交的源程序,同時(shí)對(duì)所有用戶進(jìn)行排名;題庫管理模塊用于題目的發(fā)布、修改、分類和刪除等,每一道題目包括題意描述和測(cè)試數(shù)據(jù)兩部分,其中題意描述部分包含與測(cè)試數(shù)據(jù)格式相同的輸入及輸出數(shù)據(jù)格式要求;在線比賽模塊提供在限定時(shí)間內(nèi)對(duì)限定題目進(jìn)行的程序提交及評(píng)測(cè);在線討論模塊類似于小型的bbs系統(tǒng),用戶可以針對(duì)相應(yīng)的題目進(jìn)行討論。
有了在線評(píng)測(cè)系統(tǒng),教師在程序設(shè)計(jì)類課程的實(shí)踐教學(xué)上可以利用其進(jìn)行隨堂練習(xí)、作業(yè)布置、在線考試、遠(yuǎn)程指導(dǎo)等。與傳統(tǒng)的教學(xué)方式相比,將在線評(píng)測(cè)系統(tǒng)引入到實(shí)踐教學(xué)中具有如下優(yōu)勢(shì):(1)利用嚴(yán)格的測(cè)試數(shù)據(jù)對(duì)程序進(jìn)行自動(dòng)評(píng)判,更能訓(xùn)練學(xué)生編程思維的嚴(yán)謹(jǐn)性;(2)學(xué)生通過對(duì)已求解題目數(shù)量的累積及所在排名的實(shí)時(shí)查看能激發(fā)學(xué)生的上機(jī)實(shí)踐自主性、增強(qiáng)學(xué)生的程序?qū)嵺`興趣并形成學(xué)生之間的討論和交流氛圍;(3)教師通過對(duì)學(xué)生提交的次數(shù)、排名及源代碼的查看,能更好地了解學(xué)生的實(shí)踐完成及掌握情況;(4)24小時(shí)開放、自主的實(shí)驗(yàn)環(huán)境可以增加學(xué)生課外上機(jī)實(shí)踐的動(dòng)力。[1]
2 在線評(píng)測(cè)系統(tǒng)的題庫管理及應(yīng)用實(shí)踐
如前所述,在線評(píng)測(cè)系統(tǒng)具有嚴(yán)謹(jǐn)、能增強(qiáng)學(xué)生實(shí)踐興趣、形成良好的實(shí)踐討論氛圍等優(yōu)勢(shì),但欲使其能夠充分發(fā)揮所擁有的優(yōu)勢(shì),必須有與所學(xué)知識(shí)點(diǎn)緊密配合的、適于在線評(píng)測(cè)的相關(guān)題目。在教學(xué)實(shí)踐中我們采用下面幾種方式進(jìn)行相應(yīng)的題庫建設(shè):
1)通過增加明確的輸入輸出格式要求將傳統(tǒng)的實(shí)驗(yàn)題目轉(zhuǎn)化為適于進(jìn)行在線評(píng)測(cè)的實(shí)驗(yàn)題目;
2)借鑒兄弟院校的相關(guān)實(shí)驗(yàn)題目進(jìn)行必要補(bǔ)充。這里推薦哈爾濱工業(yè)大學(xué)李希然老師的課程實(shí)驗(yàn)題目(https://cms.hit.edu.cn/course/view.php?id=294)及浙江大學(xué)C程序設(shè)計(jì)基礎(chǔ)及實(shí)驗(yàn)課程題目(http://jpkc.zju.edu.cn/k/409/ml32.htm);
3)鼓勵(lì)優(yōu)秀學(xué)生結(jié)合課程所學(xué)知識(shí)點(diǎn)為題庫出新題,題目如果被采用可以以加分作為鼓勵(lì)。
擁有了一定數(shù)量的題目之后,在隨堂練習(xí)和作業(yè)布置上可將題目分為必做題與選做題兩部分,其中必做題是學(xué)生為掌握相關(guān)知識(shí)點(diǎn)必須完成的題目,而選做題則是供掌握情況較好的學(xué)生為進(jìn)一步提高程序設(shè)計(jì)水平而布置的題目。為鼓勵(lì)學(xué)生多做選做題,在平時(shí)成績中除去對(duì)學(xué)習(xí)態(tài)度及出勤率的考量外,按照學(xué)生所通過題目的數(shù)量進(jìn)行排序和折算。這樣一方面可以以顯式的方式使得學(xué)生投入實(shí)驗(yàn),另一方面由于并不要求所有的學(xué)生都完成同樣的題目,可以部分地規(guī)避抄襲現(xiàn)象的發(fā)生。
必做題是要求學(xué)生必須弄懂、調(diào)通的題目。對(duì)于隨堂練習(xí)的必做題,在距下課20分鐘的時(shí)候公布測(cè)試數(shù)據(jù),供沒有通過的同學(xué)分析程序,在距下課5分鐘的時(shí)候公布通過的優(yōu)秀程序,供同學(xué)們比較學(xué)習(xí);對(duì)于課后作業(yè)的必做題,參考北京大學(xué)程序設(shè)計(jì)類課程實(shí)踐教學(xué)的作法,要求一周內(nèi)提交程序,一周之后公布測(cè)試數(shù)據(jù),供沒有通過的學(xué)生分析程序,兩周之后公布優(yōu)秀程序,供學(xué)生學(xué)習(xí)參考并改進(jìn)自己的方法[2]。在學(xué)生通過評(píng)測(cè)系統(tǒng)進(jìn)行練習(xí)的過程中,教師并不是完全置之不理,而是可以以抽查學(xué)生代碼的方式了解學(xué)生掌握情況,及時(shí)發(fā)現(xiàn)相關(guān)問題并在課堂上講解、要求學(xué)生改正。
同其他課程一樣,學(xué)生在隨堂及課后練習(xí)過程中會(huì)存在抄襲現(xiàn)象。為規(guī)避抄襲,在課程開始時(shí)即進(jìn)行誠信教育,并宣布一旦發(fā)現(xiàn)抄襲即將本次及以往實(shí)驗(yàn)成績清零的處罰,以增大學(xué)生抄襲成本、減小學(xué)生抄襲可能。在具體操作上,對(duì)每次作業(yè)可采用斯坦福大學(xué)的moss軟件(http://theory.stanford.edu/~aiken/moss/)進(jìn)行雷同作業(yè)甄別,并對(duì)結(jié)果進(jìn)行公示。對(duì)于申辯的同學(xué),如果其能夠了解題目的算法及實(shí)現(xiàn)細(xì)節(jié),可以考慮適當(dāng)恢復(fù)分?jǐn)?shù),以達(dá)到教學(xué)是為了使學(xué)生最終掌握知識(shí)點(diǎn)的目的。
3 在線評(píng)測(cè)系統(tǒng)的考試應(yīng)用
C程序設(shè)計(jì)的教學(xué)目標(biāo)是使得各專業(yè)的學(xué)生在學(xué)完本門課程后具有實(shí)際的動(dòng)手編程能力,在線評(píng)測(cè)系統(tǒng)的實(shí)時(shí)判題能力使得考察學(xué)生的現(xiàn)場(chǎng)編程解決問題的能力成為現(xiàn)實(shí)。在具體應(yīng)用在線評(píng)測(cè)系統(tǒng)考察學(xué)生的動(dòng)手編程能力時(shí),允許學(xué)生攜帶紙質(zhì)資料進(jìn)入機(jī)房,只需在給定時(shí)間內(nèi)完成指定題目的求解即可,最終成績可按通過的程序數(shù)目以及提交次數(shù)與通過題目數(shù)量的比例進(jìn)行排名換算,首先按通過的題目數(shù)量進(jìn)行排名,如果通過的題目數(shù)量相同則按照提交次數(shù)與通過題目數(shù)量的比例進(jìn)行排名,比例越小排名越靠前。
C語言的一個(gè)特點(diǎn)是規(guī)則繁多且瑣碎,因此結(jié)合相關(guān)筆試來考察學(xué)生的相關(guān)語法規(guī)則掌握情況以及對(duì)程序的閱讀及理解能力也是十分必要的。同時(shí)對(duì)僅用幾道題目來對(duì)學(xué)生進(jìn)行考核的方式也是一個(gè)有益補(bǔ)充。在筆試試卷中可以增加平時(shí)在線評(píng)測(cè)系統(tǒng)中的練習(xí)題的程序填空,并在課程開始時(shí)就告訴學(xué)生有這樣的考試題型,以督促學(xué)生平時(shí)在利用在線評(píng)測(cè)系統(tǒng)進(jìn)行實(shí)踐時(shí)的認(rèn)真性,同時(shí)也減少了學(xué)生在完成程序設(shè)計(jì)實(shí)踐任務(wù)時(shí)的簡(jiǎn)單抄襲。
最終學(xué)生的課程分?jǐn)?shù)可以由平時(shí)成績20%、期末筆試成績30%、期末上機(jī)考試成績30%及期中成績20%的比例綜合獲得。其中,期中考試可以完全采用在線評(píng)測(cè)系統(tǒng)來完成。
4 結(jié)論
在線評(píng)測(cè)系統(tǒng)具有嚴(yán)謹(jǐn)、評(píng)判客觀、開放等特點(diǎn),將在線評(píng)測(cè)系統(tǒng)應(yīng)用到C程序設(shè)計(jì)教學(xué)中,可以激發(fā)學(xué)生的學(xué)習(xí)實(shí)踐興趣、訓(xùn)練學(xué)生的程序設(shè)計(jì)能力、幫助學(xué)生養(yǎng)成嚴(yán)謹(jǐn)?shù)木幊塘?xí)慣。在具體應(yīng)用上,可通過移植傳統(tǒng)實(shí)驗(yàn)題目、借鑒兄弟院校題目、自行編制題目等方式建設(shè)題庫,并根據(jù)教學(xué)需要將題目劃分為必做題目、選做題目及考試題目進(jìn)行使用。在線評(píng)測(cè)系統(tǒng)可作為傳統(tǒng)筆試考試的有益補(bǔ)充,以充分考察學(xué)生對(duì)C語言的實(shí)際運(yùn)用能力,并結(jié)合平時(shí)的實(shí)踐分?jǐn)?shù)給出最終成績。
致謝:文章受中國地質(zhì)大學(xué)(北京)2012年度教學(xué)研究與教學(xué)改革項(xiàng)目資助。
參考文獻(xiàn):
[1] 肖瀟,賀細(xì)平. C 語言程序設(shè)計(jì)教學(xué)探索[J]. 計(jì)算機(jī)教育,2011(5):65-68.
[2] 李文新,郭煒:北京大學(xué)程序在線評(píng)測(cè)系統(tǒng)及其應(yīng)用[J]. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版), 2005(S2):170-177.