999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

程序設計類課程考核評價方法的改革與實踐

2010-01-01 00:00:00張麗萍劉東升王春暉
計算機教育 2010年2期

摘要:程序設計類課程的實踐性很強,該類課程的考核評價應特別注重考查學生的實際編程能力。而傳統的機試需要人工評判,不僅無法保證成績評定的公平性,而且對于抄襲的判別非常困難。本文提出用在線評測和抄襲檢測相結合的方法作為程序設計類課程的考核評價方法,并以“程序設計基礎”為例,詳細介紹考核評價的具體實施過程。實踐表明,該方法不僅考查了學生的實際編程水平,而且對考試抄襲的學生起到了震懾的作用,從而有效地督促學生學習。

關鍵詞:程序設計;考核評價;在線評測;抄襲檢測

1問題的提出

程序設計類課程與基礎理論類課程不同,其實踐性很強,注重學生實際編程能力的培養。因此,將筆試作為該類課程的考核評價方法,顯然是不可取的。目前,許多院校將機試納入程序設計類課程的考試當中,比如學生在指定的時間內現場提交程序,任課教師事后檢查。這種做法不但十分耗費人力,而且由于人為因素較多,也無法保證成績評定的公平性。因而這種人工評判的上機考試較難推行。

此外,在程序設計類課程的教學中還存在一個不能回避的事實,互相抄襲程序代碼的現象也較為普遍。國外很多教育機構針對程序設計課程的源代碼抄襲現象進行的調查顯示:高達85.4%的學生承認抄襲過別人的編程作業[1]。此類抄襲行為在國內也十分普遍,近年來這一現象愈演愈烈,嚴重影響了學生個人素質的提高,破壞了正常的教學秩序,同時使得眾多老師不得不在常規教學和考試中對雷同程序反復審核,既極大地消耗了任課教師的時間和精力,無形中增加了更為繁重的工作量,也無法確保考核的準確性與客觀性。

鑒于上述情況,在程序設計類課程中,采用何種考核評價方法才能較為準確地考查學生的真實學習

水平是一個值得研究的問題。

2程序設計類課程考核評價方法的改革思路

筆者多年來一直從事程序設計類課程的教學工作,并與教學團隊成員一起對該類課程進行了深入地研究和實踐[2-5],總結出一套行之有效的考核評價方法,我們將在線評測與抄襲檢測相結合,不僅考查了學生的實際編程水平,而且對考試抄襲的學生起到了震懾的作用,從而有效地督促學生學習。下面以“程序設計基礎”為例,與大家共同探討其考核評價方法。

2.1在線評測

在線評測(Online Judge,簡稱OJ)是個基于WWW的服務器端軟件系統,其主要功能包括:用戶注冊和管理、題庫管理、在線提交和實時評測、網上考試、討論、郵件服務等。該服務器上有一個豐富的題庫,題目包括ACM國際大學生程序設計競賽所公布的試題和我院師生自創的與教學內容緊密結合的問題,每道題目包含文字描述、輸入數據文件和作為標準答案的輸出數據文件三個部分,只有文字描述部分對做題者是可見的。正確的程序應該根據輸入數據,在限定時間范圍內計算出標準輸出數據。做題者

基金項目:內蒙古自治區高等教育教學成果重點資助項目“以系統平臺為主線構建計算機專業課程體系的研究”(內教高函[2006]27號);內蒙古自治區高等學校科學研究項目“程序代碼相似度度量研究”(NJ06109)。

作者簡介:張麗萍(1974-),女,內蒙古呼和浩特市人,副教授,碩士,研究方向為計算機應用。

根據題目文字描述編寫程序,編程語言可以選用C/C++、Java、Pascal等,編寫完成后在網頁中將源程序提交到服務器,服務器啟動編譯器編譯該源程序并生成可執行程序,然后再以輸入數據文件作為輸入啟動該可執行程序,并將程序的輸出結果和標準輸出數據文件(就是答案)進行對比,完全一致則判為正確,否則判為錯誤。在OJ上做題,能夠立即看到結果,對錯分明,錯了還可以修改后再次提交。用OJ進行現場集中上機考試,十分方便,能夠比較準確地反映學生的水平[6]。

實際上,在平時的上機實驗環節中,我們就要求學生完成OJ提供的相關練習,由于學生人數比較多,采用了Online Judge在線評測系統對學生提交的作業進行評判。一方面可以減輕教師的工作量,另一方面又可以減少因教師的主觀因素使評測尺度不統一。而學生在做題過程中,看到評測通過非常激動,能讓學生有成功的喜悅和成就感,但又會刺激他們主動去做更多的題,也給了他們新的挑戰。

2.2抄襲檢測

抄襲通常采用將一個程序進行少量常規修改的手段。常規的修改主要包括下以幾個方面:逐字逐句的拷貝,更改注釋;增加空行或者改變書寫格式;標識符重命名;代碼段重新排序;改變表達式中的操作數或者操作符的順序;改變數據類型;增加無關語句或者變量;用等價的結構進行替代。

檢測抄襲就是檢測一個程序是否通過對另一個程序的上述修改而來的。程序代碼相似性檢測技術能對程序集合中的每兩個程序進行比對,找出一個程序對另一個程序經過上述修改而來的相似代碼部分,得到描述程序相似程度的量化值,即相似度(similarity),并且能夠對兩個程序的相似代碼部分進行標注,幫助用戶找出并判定抄襲的作業對象[7]。

目前已開發了多種用于抄襲檢測的系統,如Jplag、MOSS、YAP系列以及SIM等,檢測結果的錯誤率比較低,速度比較快,能夠滿足程序抄襲檢測的需要。

判定一個學生抄襲了他人的作業是件比較嚴肅的事情,不能簡單的通過檢測系統得出的相似度大小就判定抄襲與否,還要經過一系列的驗證以確保判定結果正確。這個判定過程經過下面四個階段 :收集(collection)、分析(analysis)、確認(confirmation)、調查(investigation)。

(1) 收集階段。即收集要進行抄襲檢測的作業,一般為同一題目的學生作業。可將學生提交的作業放在一個文件夾中等待檢測系統的檢測。

(2) 分析階段。用一種代碼相似性檢測系統(以下稱為檢測系統)實現自動檢測,此時教師將收集好的學生作業提交給檢測系統,經過檢測系統的檢測可以得出每對程序的相似度,并對每對程序的相似區域進行標注,以幫助教師做進一步的判斷。

(3) 確認階段。對檢測系統得到的結果進行核查,看是否某對程序中所有的相似代碼都被檢測出來,以及被檢測出相似的代碼段是否屬實。

(4) 調查階段。在確定抄襲之前教師還要對初步判定抄襲的學生作業對象進行調查。調查可以分別向被懷疑同學詢問關于程序設計作業的解題思路及過程,也可以詢問其他同學或輔導老師關于被懷疑同學平時練習情況,盡量做到判定結果真實。

3程序設計類課程考核評價方法的實施過程

3.1在線評測

OJ系統是一個在線的判題系統,用戶可以在線提交程序多種程序源代碼,系統對源代碼進行編譯和執行,并通過預先設計的測試數據來檢驗程序源代碼的正確性。一個用戶提交的程序在OJ系統下執行時將受到比較嚴格的限制,包括運行時間限制,內存使用限制和安全限制等。用戶程序執行的結果將被OJ捕捉并保存,然后再轉交給一個裁判程序。該裁判程序比較用戶程序的輸出數據和標準輸出樣例的是否存在差別,最后系統返回給用戶一個狀態:通過(Accepted)、答案錯誤(Wrong Answer)、超時(Time Limit Exceed)、超內存(Memory Limit Exceed)、運行時錯誤(Runtime Error)或是無法編譯(Compile Error),并返回程序使用的內存、運行時間等信息。

在研究中,我們選取了2007級選修“程序設計基礎”課的學生作為樣本,共346人同時使用在線評測系統參加期末考試,要求5小時內完成10個編程題。從收集的數據來看,這種考試具有極高的區分度。有的同學3小時內可以完成10個題,有的同學1道題也不能通過,有的同學完成某個簡單題只要5分鐘,有的同學則要5小時。

我們提供的在線評測系統的網址為http://acm.cs. imnu.edu.cn,現有340多道訓練、競賽題,所有評測工作全部由系統來完成,現有注冊用戶2276人,供廣大學生學習程序設計類課程和參加競賽訓練使用。在線評測系統所使用的技術先進,可靠性好,健壯性強。經過3年使用,完全適應無紙化考試的要求,從收集的數據來看,這種考試具有極高的信度和區分度,能考查出學生真實的編程水平,并在全校的程序設計語言公共課中推廣使用。

3.2抄襲檢測

相似度是反映兩對程序相似情況的量化值,這個值越大說明越相似。對于程序代碼比較短的情況,得到的相似度普遍要大一些。這是因為對于比較簡單的作業,解決問題的方法大多比較集中,所以不考慮互相抄襲的情況,兩個程序也由于解決問題的方法相似造成有較大的相似度結果值。但對于相似度是100%的程序對,判定為抄襲的可能性還是很大的,因為就算是再簡單的程序,也不可能兩個人編寫的完全一致。對于作業代碼長一些的程序,解決問題的方法相應會更多一些,不存在抄襲而達到較高的相似度的情況可能性會更小一些。所以對于相似度是100%的程序對,判定為抄襲的可能性就更大了。具體實施過程如下。

3.2.1收集

對于通過在線測試的學生程序,將它們放在一個

文件夾中,完成程序收集階段的工作,等待檢測系統的檢測,以找出存在抄襲嫌疑的作業對象。

3.2.2分析

將收集好的學生作業提交給檢測系統,檢測系統對指定文件夾的程序進行自動檢測,得出檢測結果。檢測結果一般以網頁的形式反饋給用戶,其中包含相似度在某一閾值以上的每對程序的相似度信息。不同的檢測系統根據實際情況設定了不同的閾值,這是因為對于相似度小的程序對只有部分代碼相似,判定為兩者之間是互相抄襲的可能性比較小,因此系統不提供小于這個閾值的程序對的具體相似信息,以提高速度與效率。

我們從期末考試題目中選擇了“求圓面積”問題作為抄襲檢測的對象。題目要求如下:

有一個形狀類CShapes,從此類派生出圓形類(包括圓心坐標及圓的半徑),在派生類中計算圓的面積,并用基類成員函數displayarea()輸出圓形面積area。

如圖1為使用德國卡爾斯魯厄(Karlsuhe)大學的Jplag檢測系統對上述題目考試結果檢測后得到的檢測結果的首頁信息。在圖中可以查看相似度為100%的每對程序相似度的情況。使用該檢測系統可以訪問網站http://www.ipd.uni-karlsruhe.de/jplag。

教師可將相似度大的作業對作為重點抄襲嫌疑對象,對它們進行人工核查。經過分析階段的工作可以縮小核查范圍,提高檢測效率。

圖1Jplag檢測系統的檢測結果

3.2.3確認

由于被檢測的每個作業的代碼長度在50行左右,對于學生作業來說代碼較短,所以本次人工檢測

的相似度閾值可以設定為100%。點擊圖1中的相似度值部分就可查看兩個程序的相似代碼區域,每部分相似的代碼區域都會用同一種顏色進行標注,幫助教師進一步核查抄襲與否。可參見圖2。

圖2程序的相似代碼區域

3.2.4調查

調查階段對經過分析與確認初步判定抄襲的作業對象進行調查。可將被懷疑同學單獨叫過來詢問關于解題過程與思路等具體細節,以確定被懷疑同學的作業是否經過抄襲而來。經過上面的檢測過程基本上能夠找出存在抄襲行為的學生,然后采取一定的措施對其進行處罰,最終實現減少抄襲再次發生的目的。

4結語

隨著計算機科學在人工智能、程序理解等領域的發展,使用計算機進行考核評價已成為傳統的筆試考核方式的有益補充。在程序設計類課程的考核中存在

程序代碼自動評測和抄襲檢測的難題,而自動評測與抄襲檢測同時也是計算機應用技術中的兩個重要的科學問題。如何將教學研究與科學研究相結合,運用技術手段解決教學實際當中的問題已刻不容緩。本文提出利用在線評測和抄襲檢測相結合的方法,對程序設計類課程進行考核評價,這樣做既能考查出學生真實的編程水平,又能從一定程度上減少抄襲現象的發生,從而促進學生學習,同時大大減輕了教師進行人工評測機試程序和人工判別抄襲學生的工作負擔。事實上,最好的辦法還是應該讓學生樹立正確的道德觀念,培養學生對程序設計類課程的興趣,使他們自覺自愿地學習,并從中獲得成就感,這樣才能從根本上解決問題。

參考文獻:

[1]Georgina C, Mike J. Source2code plagiarism: A UK academic perspective[R]. Research Report RR-422, Department of Computer Science, University of Warwick, 2006.

[2] 張麗萍,劉東升. 程序設計精品課程建設的研究與實踐[J]. 內蒙古師范大學學報:教育科學版,2007(1):109-111.

[3] 張麗萍,劉東升. 關于精品課程“程序設計”的建設方案[C]. //大學計算機基礎課程報告論壇論文集(2006). 北京:高等教育出版社,2006.

[4] 劉東升,孟繁軍,張麗萍,等. 程序設計基礎創新型教學模式的構建與實踐[J]. 計算機科學,2007(8):400-402.

[5] 劉東升,孟繁軍,張麗萍,等. 程序設計類課程實驗環境的研究[C]. //大學計算機基礎課程報告論壇論文集(2005). 北京:高等教育出版社,2006.

[6] 郭瑋,李文新. 程序設計類實習課程如何準確考查學生學習情況[J]. 吉林大學學報,2005(8):99-103.

[7] 王春暉,程金宏,孟繁軍,等. 程序代碼相似性檢測技術在教學中的應用[J]. 計算機教育,2007(12):137-139.

Reform and Practice of Evaluation Method for Programming Courses

ZHANG Li-ping, LIU Dong-sheng, WANG Chun-hui

(Computer Information Engineering College, Inner Mongolia Normal University, Inner Mongolia Huhhot 010022, China)

Abstract: Programming courses is a practical subject, this course evaluation should be paid special attention to the actual programming examines student ability. But the traditional machine try to judge, not only it can not guarantee fairness grades, but also the discrimination of plagiarism is very difficult. In this paper, using online judge and plagiarism detection method of combining the programming courses as evaluation method, and with \"Programming fundamentals\" as an example, the detailed introduction of evaluation specific implementation process. A practice show that this method is not only examines the student's actual programming, but also played a deterrent effect, thus effectively supervise students learning.

Key words: programming; evaluation; online judge; plagiarism detection

(編輯:彭遠紅)

主站蜘蛛池模板: 欧美一级在线播放| 午夜老司机永久免费看片| 国产91成人| 熟妇丰满人妻| 免费无码AV片在线观看国产| 一级一级特黄女人精品毛片| 91人妻在线视频| 午夜不卡福利| 在线观看国产精品第一区免费| 国产精品不卡永久免费| 香蕉99国内自产自拍视频| 中文字幕在线看| 国产成人高清精品免费| 亚洲天堂区| 免费中文字幕一级毛片| 精品国产毛片| 在线色综合| 亚洲AⅤ综合在线欧美一区| 国产精品自在在线午夜| 日韩少妇激情一区二区| 本亚洲精品网站| 国产午夜一级毛片| 波多野结衣AV无码久久一区| 日韩高清一区 | 国产精品hd在线播放| 免费看av在线网站网址| 精品人妻无码中字系列| 2020国产免费久久精品99| 午夜国产小视频| 亚洲美女AV免费一区| 亚洲av无码牛牛影视在线二区| 香蕉综合在线视频91| 亚国产欧美在线人成| 日韩欧美网址| 日本在线视频免费| 免费国产好深啊好涨好硬视频| 亚洲AV无码不卡无码| 1769国产精品免费视频| 欧美不卡视频一区发布| 日本亚洲国产一区二区三区| 漂亮人妻被中出中文字幕久久 | 天堂网亚洲综合在线| 国内精品久久人妻无码大片高| 一本大道无码日韩精品影视 | 狠狠色丁婷婷综合久久| 国产丰满成熟女性性满足视频| 亚洲视频黄| 她的性爱视频| 国产成人精品一区二区三区| 亚洲青涩在线| 亚洲成人一区在线| 国产精品污污在线观看网站| 久久黄色影院| 成人免费视频一区二区三区 | 亚洲精品手机在线| 国产精品亚洲一区二区三区在线观看| 国产91小视频在线观看| 91小视频在线观看免费版高清| 91小视频在线观看| 国产精品亚洲一区二区三区在线观看 | 在线亚洲精品自拍| 亚洲天堂成人在线观看| 99精品视频在线观看免费播放| 欧美日韩免费| 亚洲国产成人精品无码区性色| 欧美日韩在线国产| 免费人成在线观看视频色| 日韩欧美国产综合| 国产一区二区精品高清在线观看| 成人精品视频一区二区在线| 国产91熟女高潮一区二区| 欧美视频在线第一页| 欧美亚洲另类在线观看| 亚洲精品日产AⅤ| 久久香蕉国产线看观看精品蕉| 成年看免费观看视频拍拍| 国产va在线观看免费| 一级毛片免费观看久| 婷婷亚洲最大| 国内精品一区二区在线观看 | 色妞www精品视频一级下载| 在线观看国产网址你懂的|