摘要:針對傳統(tǒng)計算機(jī)程序設(shè)計課程評價方法的不足,提出利用程序自動化批改技術(shù),搭建計算機(jī)程序設(shè)計課程自動化教學(xué)評價平臺,探索建立科學(xué)全面的學(xué)生編程能力評價指標(biāo)體系,以強(qiáng)化學(xué)生項目實踐過程的管理和實際編程能力的培養(yǎng)。
關(guān)鍵詞:計算機(jī)程序設(shè)計;教學(xué)評價平臺;程序自動化批改
文章編號:1672-5913(2013)18-0091-04
中圖分類號:G642
0 引言
計算機(jī)程序設(shè)計課程是高等院校計算機(jī)專業(yè)的必修課程,主要講授C、C++、Java等程序設(shè)計語言。作為實踐性要求很高的一類課程,計算機(jī)程序設(shè)計課程教學(xué)評價的核心內(nèi)容是對學(xué)生實際編程能力的評價。各類紙質(zhì)考試成績并不能全面反映教學(xué)效果,而且要想從中獲得有用的信息用于相關(guān)教學(xué)評價工作,必然會花費大量的時間和精力。隨著教學(xué)改革的不斷深入,目前逐漸興起利用計算機(jī)網(wǎng)絡(luò)平臺開展大量的考試工作,給課程教學(xué)評價工作帶來新的思路和方法。但是由于缺乏對學(xué)生實際編程能力的自動化評價方法,已有的網(wǎng)絡(luò)考試平臺在對學(xué)生編寫的計算機(jī)程序進(jìn)行評價時,仍是基于人工方式,并未從真正意義上減少評價工作所花費的時間和精力,這使得運(yùn)用已有的網(wǎng)絡(luò)考試平臺進(jìn)行計算機(jī)程序設(shè)計課程教學(xué)評價時,具有一定的局限性。如何實現(xiàn)對學(xué)生編程能力的自動化評價方法,搭建基于網(wǎng)絡(luò)考試的計算機(jī)程序設(shè)計課程自動化教學(xué)評價平臺,強(qiáng)化對學(xué)生實際編程能力的考察,是我們改革探索的焦點和核心。
1 指導(dǎo)思想
1.1 強(qiáng)化全過程考核
傳統(tǒng)的計算機(jī)程序設(shè)計課程實踐教學(xué)環(huán)節(jié),對學(xué)生的學(xué)習(xí)過程管理不夠充分,往往只考核最終的實驗報告和程序代碼,對程序的實現(xiàn)過程缺乏評價管理。這種終結(jié)式評價存在很多弊端。對于學(xué)生來說,這種評價方式容易導(dǎo)致學(xué)生只重視最終程序的實現(xiàn),而忽視對編程過程的經(jīng)驗積累,學(xué)生難以及時發(fā)現(xiàn)編程過程中的問題所在,學(xué)習(xí)缺少主動性。同時,終結(jié)式評價也容易引起抄襲現(xiàn)象。對于教師來說,這種評價方式使教師在教學(xué)過程中難以準(zhǔn)確把握學(xué)生對計算機(jī)程序設(shè)計的掌握程度及教學(xué)中存在的問題,也無法根據(jù)學(xué)生的學(xué)習(xí)狀態(tài)及時有效地調(diào)整教學(xué)策略。
1967年美國芝加哥大學(xué)教授Michael Scriven提出形成性評價(Formative Assessment),強(qiáng)調(diào)教師在教學(xué)過程中利用多種機(jī)會和手段評估學(xué)生的學(xué)習(xí)狀況,以獲得有益的教學(xué)信息指導(dǎo)教學(xué),促進(jìn)教學(xué)健康發(fā)展,最終促進(jìn)學(xué)生學(xué)習(xí)進(jìn)步。與終結(jié)式評價不同,形成性評價關(guān)注學(xué)生的學(xué)習(xí)過程,給予學(xué)生獲得多次評價的機(jī)會,有助于改善學(xué)生的焦慮情緒,增強(qiáng)其學(xué)習(xí)自信心,激發(fā)其學(xué)習(xí)積極性并保持學(xué)習(xí)的持久性。形成性評價既是教師獲取教學(xué)反饋信息、改進(jìn)教學(xué)管理、保證教學(xué)質(zhì)量的重要依據(jù),又是學(xué)生調(diào)整學(xué)習(xí)策略、改進(jìn)學(xué)習(xí)方法、提高學(xué)習(xí)效率的有效手段。
借鑒形成性評價方法,在計算機(jī)程序設(shè)計課程教學(xué)評價中,強(qiáng)化全過程考核。從課程教學(xué)準(zhǔn)備階段,到課程教學(xué)執(zhí)行階段,管理學(xué)生作業(yè)、項目實踐過程等關(guān)鍵教學(xué)活動,實現(xiàn)教師與學(xué)生跨時間地點的交流,記錄教師在教學(xué)和交流活動中的情況,為教學(xué)評價提供參考依據(jù)。將學(xué)生的成績評定滲透到各個教學(xué)環(huán)節(jié)和教學(xué)活動中,對學(xué)生各個學(xué)習(xí)環(huán)節(jié)的完成程度和情況進(jìn)行評價,以客觀評價學(xué)生對知識的掌握和應(yīng)用情況,促使學(xué)生真正重視平常的學(xué)習(xí),使教學(xué)與評價融為一體,做到在評價中學(xué)習(xí),在學(xué)習(xí)中評價。
1.2 評價指標(biāo)多元化
傳統(tǒng)的計算機(jī)程序設(shè)計課程教學(xué)評價以教師對學(xué)生的期末試卷和實驗程序評價為主,多是對學(xué)生理論知識掌握程度和程序?qū)崿F(xiàn)功能完整性方面的考核,評價指標(biāo)單一,主觀性大,不足以全面評價學(xué)生的學(xué)習(xí)主動性、學(xué)習(xí)效果和實際編程能力。客觀全面的綜合評價可以激發(fā)學(xué)生的學(xué)習(xí)積極性,增強(qiáng)學(xué)生編程動手實踐的主動性,從而保證教學(xué)質(zhì)量的提高。同時,自動化的評價手段將教師從繁瑣的評價事務(wù)中解脫出來,從而將更多的精力投入充實教學(xué)內(nèi)容和設(shè)計任務(wù)中,更好地引導(dǎo)學(xué)生學(xué)習(xí)。
2 教學(xué)評價平臺設(shè)計
計算機(jī)程序設(shè)計課程自動化教學(xué)評價平臺的總體目標(biāo)是構(gòu)建基于B/S架構(gòu)的計算機(jī)程序設(shè)計實踐平臺,開展學(xué)生編程能力綜合評價體系的研究和探討。
2.1 系統(tǒng)功能模塊
計算機(jī)程序設(shè)計課程自動化教學(xué)評價平臺功能設(shè)計見表1。教學(xué)評價平臺的主要功能模塊包括:基礎(chǔ)數(shù)據(jù)管理、課程資源展示與學(xué)習(xí)、實踐準(zhǔn)備、實踐執(zhí)行、綜合評價、實踐情況統(tǒng)計查詢和師生互動。
功能設(shè)計滿足如下要求:
(1)將計算機(jī)程序設(shè)計課程的習(xí)題、課件、相關(guān)技術(shù)資料等資源網(wǎng)絡(luò)化,面向?qū)W生開放,方便學(xué)生在線學(xué)習(xí)。
(2)平臺以自動化評價為主、人工評價為輔的方式評價學(xué)生所完成的程序,使學(xué)生能夠自主進(jìn)行編程練習(xí)。
(3)平臺隨時記錄學(xué)生的學(xué)習(xí)過程(在線學(xué)習(xí)時間、編寫程序耗時、錯誤程序提交次數(shù)、程序錯誤原因、互動情況等),同時根據(jù)學(xué)生學(xué)習(xí)狀況,為學(xué)生提供后續(xù)學(xué)習(xí)建議等。
2.2 系統(tǒng)流程
計算機(jī)程序設(shè)計課程自動化教學(xué)評價平臺基于B/S架構(gòu),通過瀏覽器向?qū)W生提供自主學(xué)習(xí)、資源瀏覽、程序自動評價等功能,向教師提供資源管理以及學(xué)生上機(jī)實踐的全程掌控服務(wù)。系統(tǒng)總體流程如圖1所示。
程序自動批改是系統(tǒng)的核心功能。本文借鑒軟件黑盒測試方法,通過編譯、運(yùn)行、運(yùn)行結(jié)果比對等步驟實現(xiàn)程序的自動批改,程序自動批改流程如圖2所示。其中,對于不同的程序語言選用不同的編譯程序進(jìn)行編譯操作,例如,Java語言選用iavac.exe,C/C++語言可選用VC的cl.exe。當(dāng)程序不能成功編譯,或者程序不能運(yùn)行,或者程序的運(yùn)行結(jié)果與測試用例的預(yù)期結(jié)果不符時,均判斷為錯誤程序,并輸出相應(yīng)的錯誤原因。
2.3 教學(xué)評價指標(biāo)
為了盡可能全面客觀地評價學(xué)生的編程能力和學(xué)習(xí)效果,筆者從學(xué)習(xí)態(tài)度、編程正確率、編程思想運(yùn)用程度等方面制訂了相應(yīng)指標(biāo),具體內(nèi)容見表2。其中學(xué)習(xí)態(tài)度方面包括出勤率、網(wǎng)絡(luò)資源自主學(xué)習(xí)情況、師生互動情況、編程實踐完成情況等指標(biāo),反映學(xué)生的學(xué)習(xí)積極性;編程正確率方面包括編寫程序耗時、錯誤程序提交次數(shù)、常見錯誤原因等指標(biāo),反映學(xué)生能否在較短時間里編寫出符合要求的程序,相關(guān)指標(biāo)主要由程序自動批改功能完成;編程思想運(yùn)用程度則主要反映程序的質(zhì)量,程序是否具有模塊化、可擴(kuò)展、可移植等優(yōu)點,主要由人工評價的方式進(jìn)行,包括學(xué)生自我評價、學(xué)生互評、教師評價等,通過人工閱讀代碼的方式分析總結(jié)出程序代碼的優(yōu)點。對于上述3方面的指標(biāo),表2給出了相應(yīng)的權(quán)重,以計算學(xué)生的最終成績。當(dāng)然,指標(biāo)權(quán)重的確立可依據(jù)自身教學(xué)特點和教學(xué)大綱的具體要求,在執(zhí)行時通過系統(tǒng)進(jìn)行動態(tài)調(diào)整。
2.4 系統(tǒng)實現(xiàn)
計算機(jī)程序設(shè)計課程自動化教學(xué)評價平臺采用Java EE技術(shù)開發(fā),開發(fā)工具使用Eclipse 3.4,應(yīng)用服務(wù)器使用Tomcat 7.0,數(shù)據(jù)庫服務(wù)器使用SQL Server 2005。
3 實施效果
計算機(jī)程序設(shè)計課程自動化教學(xué)評價平臺在重慶大學(xué)計算機(jī)學(xué)院的面向?qū)ο蟪绦蛟O(shè)計與C++課程中進(jìn)行試運(yùn)行。學(xué)生可以通過網(wǎng)絡(luò)利用本系統(tǒng)進(jìn)行自主學(xué)習(xí)和編程實踐練習(xí)。系統(tǒng)自動批改學(xué)生程序,全程記錄學(xué)生學(xué)習(xí)和編程的實踐情況。如果在學(xué)習(xí)中遇到疑難問題,可以利用網(wǎng)上留言、主題討論、Q&A等方式進(jìn)行師生在線交流。通過教學(xué)評價平臺的使用,讓學(xué)生的編程練習(xí)不再局限于實驗課時間,學(xué)生在課外時間也能自由地進(jìn)行編程練習(xí)并及時獲得教學(xué)評價平臺對程序的批改結(jié)果。同時,通過將教學(xué)評價平臺統(tǒng)計出的學(xué)生學(xué)習(xí)時長、提問次數(shù)、實踐項目完成個數(shù)等數(shù)據(jù)作為課程成績的組成部分,促使學(xué)生重視編程實踐練習(xí),學(xué)生平均在線編程練習(xí)時間得到了提高。目前,本系統(tǒng)使用情況正常,獲得學(xué)生好評。
4 結(jié)語
計算機(jī)程序設(shè)計是計算機(jī)本科專業(yè)的重要教學(xué)內(nèi)容之一。為了更好地強(qiáng)化學(xué)生的實際編程能力,我們在計算機(jī)程序設(shè)計課程中需要不斷改進(jìn)教學(xué)方式,完善評價方法。教學(xué)實踐表明,借助程序自動批改技術(shù)和網(wǎng)絡(luò)考試平臺,為進(jìn)一步完善計算機(jī)程序設(shè)計課程教學(xué)評價提供了一種有效的解決思路,能夠充分調(diào)動學(xué)生自主學(xué)習(xí)的積極性,強(qiáng)化培養(yǎng)學(xué)生實際編程能力。在后續(xù)研究中,還需通過更多學(xué)生的使用驗證,對評價內(nèi)容、評價方式、評價主體進(jìn)行擴(kuò)展,進(jìn)一步科學(xué)化完善評價指標(biāo)體系,并隨著技術(shù)發(fā)展,繼續(xù)開展平臺建設(shè),使其功能日趨完善。
參考文獻(xiàn):
[1]周肆清,楊莉軍,李利明,“數(shù)據(jù)庫應(yīng)用基礎(chǔ)”開放式實驗平臺與實驗過程綜合自動評價系統(tǒng)研究[J],計算機(jī)教育,2011(22):104-108
[2]蔡文青,梁斌,網(wǎng)絡(luò)教學(xué)平臺在c++程序設(shè)計課程教學(xué)改革中的運(yùn)用[J],計算機(jī)教育,2011(1):76-78
[3]楊秀梅,陳洪亮,董得義,基于ASP.NET的網(wǎng)上考試系統(tǒng)的設(shè)計與實現(xiàn)[J],實驗室研究與探索,2007,26(2):67-69
(見習(xí)編輯:劉麗麗)