




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 面向在線判題系統(tǒng)的程序設(shè)計(jì)教學(xué)方法的研究與實(shí)踐 林子慧摘 要:為了改變傳統(tǒng)的程序設(shè)計(jì)教學(xué)過程中訓(xùn)練效果不易跟蹤,人工判題需要大量人工操作,學(xué)生學(xué)習(xí)積極性不易提高的狀況,文章研究并實(shí)踐了一種應(yīng)用在線判題系統(tǒng)的程序設(shè)計(jì)教學(xué)方法。通過應(yīng)用在線判題系統(tǒng)中的題目分類標(biāo)簽、判題結(jié)果、小組和比賽以及學(xué)生解題情況匯總等功能,可以激發(fā)了學(xué)生學(xué)習(xí)的能動(dòng)性,并為教師提供更直觀的教學(xué)效果可視化工具,從而有效地提高教學(xué)質(zhì)量。關(guān)鍵詞:在線判題系統(tǒng);程序設(shè)計(jì)教學(xué);教學(xué)研究1 在線判題系統(tǒng)與程序設(shè)計(jì)教學(xué)1.1 在線判題系統(tǒng)簡(jiǎn)介在線判題
2、系統(tǒng)(online judge system)是一個(gè)基于web的交互式程序設(shè)計(jì)訓(xùn)練系統(tǒng)。在線判題系統(tǒng)的大量使用始于acm程序競(jìng)賽,為了備賽,國(guó)內(nèi)外許多大學(xué)都分別自行開發(fā)了類似的在線判題系統(tǒng),用于日常的訓(xùn)練和內(nèi)部比賽。在線判題系統(tǒng)的后臺(tái)管理一個(gè)或多個(gè)題庫(kù),提供訓(xùn)練題目,每個(gè)題目有多個(gè)測(cè)試樣例,以驗(yàn)證用戶提交的代碼的正確性。測(cè)試樣例一般包含多組輸入數(shù)據(jù)和正確輸出數(shù)據(jù),學(xué)生提交解決問題的程序后,系統(tǒng)通過驗(yàn)證在相同輸入數(shù)據(jù)時(shí),程序是否可以分別正確地輸出結(jié)果,來判斷程序的正確性。本文作者使用開源的江南在線判題系統(tǒng)(jiangnan online judge),通過二次開發(fā)不斷完善后,為在校學(xué)生提供了自建
3、題庫(kù)的在線判題系統(tǒng)“jp程序設(shè)計(jì)網(wǎng)站(jpoj)”,目前系統(tǒng)已正常運(yùn)行超過兩百天,注冊(cè)用戶超過七百人,接收并驗(yàn)證學(xué)生提交的代碼超過11萬次,取得了初步的教學(xué)效果1。1.2 在線判題系統(tǒng)的驗(yàn)題方式在線判題系統(tǒng)通常在后臺(tái)運(yùn)行一個(gè)判題模塊,使用特制的受限沙盒環(huán)境,自動(dòng)編譯和測(cè)試用戶提交的解決代碼。根據(jù)測(cè)試原理,判題模塊采用多組測(cè)試樣例,窮舉可能存在的邏輯漏洞。根據(jù)用戶提交的程序的執(zhí)行結(jié)果,在線判題系統(tǒng)返回相應(yīng)的驗(yàn)證結(jié)果。1.3 傳統(tǒng)程序設(shè)計(jì)教學(xué)方法中的存在的問題為了考查學(xué)生程序設(shè)計(jì)的掌握程度,通常課堂的代碼演示之后需要布置堂上編程練習(xí)和課后編程作業(yè)。在傳統(tǒng)的程序設(shè)計(jì)教學(xué)中,學(xué)
4、生在線下編輯程序、編譯執(zhí)行、測(cè)試程序和記錄結(jié)果都需要大量人工操作,效率難以提高;教師人工判題也難免遺漏一些程序邏輯錯(cuò)誤。另外,傳統(tǒng)的程序設(shè)計(jì)課程教學(xué)依賴課本和教學(xué)大綱,按提前準(zhǔn)備ppt的教學(xué),難以擺脫堂上案例不夠豐富,程序示例演示不便的問題,在學(xué)生學(xué)習(xí)狀況超過或低于預(yù)期時(shí),不容易及時(shí)動(dòng)態(tài)調(diào)整教學(xué)進(jìn)度2。2 在線判題系統(tǒng)與程序設(shè)計(jì)課程教學(xué)的融合設(shè)計(jì)2.1 根據(jù)程序設(shè)計(jì)教學(xué)目標(biāo),合理安排編程訓(xùn)練程序設(shè)計(jì)教學(xué)一般采用循序漸進(jìn)的方式,從程序接收輸入和產(chǎn)生輸出開始,接著介紹各類數(shù)據(jù)類型的特點(diǎn)和運(yùn)算表達(dá)式,然后介紹3大基本的流程控制、容器數(shù)據(jù)類型和基礎(chǔ)算法等,其中的知
5、識(shí)模塊和知識(shí)點(diǎn)眾多,為其整理例題和練習(xí)題是教學(xué)中必需的環(huán)節(jié)。使用在線判題系統(tǒng),整理相似題目,合理安排題目的標(biāo)簽,可以在教學(xué)中根據(jù)學(xué)生的掌握情況,合理安排練習(xí)和作業(yè)。這些標(biāo)簽,比如“分支”“循環(huán)”“一維數(shù)組”等,都直接關(guān)聯(lián)課程教學(xué)大綱中的理論知識(shí)和實(shí)踐技能。通過訪問標(biāo)簽,教師可以更方便地在課堂教學(xué)中指導(dǎo)與堂上講授知識(shí)相關(guān)的題目;能幫助學(xué)生理解課程大綱,并引導(dǎo)學(xué)生根據(jù)標(biāo)簽提供的題目分類,自主深入學(xué)習(xí)有關(guān)知識(shí)3。對(duì)于每個(gè)知識(shí)點(diǎn)的分類標(biāo)簽,在線判題系統(tǒng)提供多個(gè)由淺入深的題目。比如對(duì)于整數(shù)的數(shù)據(jù)類型和計(jì)算,本文中的系統(tǒng)整理了21個(gè)相關(guān)的題目,包括僅為入門難度的“a+b”“a×b”,以及一定挑戰(zhàn)
6、的“整數(shù)的各個(gè)數(shù)字”“打包蘋果”等題目。其他分類標(biāo)簽中的題目也是根據(jù)學(xué)習(xí)曲線,優(yōu)化選擇了c程序設(shè)計(jì)及其他教材中的課后習(xí)題,這樣有利于學(xué)生從基礎(chǔ)開始,舉一反三,加強(qiáng)對(duì)程序設(shè)計(jì)的感性認(rèn)識(shí)。在線判題系統(tǒng)可以自動(dòng)判斷學(xué)生提交的代碼是否可以正確解答問題。根據(jù)系統(tǒng)提供的判題結(jié)果,可以及時(shí)掌握學(xué)生編程時(shí)遇到的具體問題,提供及時(shí)的輔導(dǎo)。如圖1(a)中的編譯錯(cuò)誤,系統(tǒng)提供了編譯器的日志,能直接定位到出錯(cuò)的代碼段;圖1(b)中出現(xiàn)了運(yùn)行超時(shí)的錯(cuò)誤,通過分析可以判斷循環(huán)結(jié)構(gòu)沒有正確結(jié)束,進(jìn)入了死循環(huán);圖1(c)中由于計(jì)算邏輯錯(cuò)誤,產(chǎn)生了錯(cuò)誤的計(jì)算結(jié)果;圖1(d)的正確運(yùn)行結(jié)果返回了各測(cè)試樣例的運(yùn)行時(shí)長(zhǎng)和內(nèi)存使用情況
7、,為優(yōu)化程序邏輯,提高程序執(zhí)行效率提供了參考。在線判題系統(tǒng)中的“小組”功能將教學(xué)班的學(xué)習(xí)組織起來,通過系統(tǒng)布置作業(yè),查看教學(xué)班的學(xué)習(xí)進(jìn)展。小組中的“榜單”功能記錄了每位學(xué)生歷次提交的代碼及其運(yùn)行結(jié)果,并以完成作業(yè)的總用時(shí)作為依據(jù)進(jìn)行排序。在程序設(shè)計(jì)教學(xué)中,可以靈活使用小組功能,在堂上布置練習(xí)和在課后布置作業(yè),隨時(shí)跟蹤學(xué)生的完成情況。在實(shí)踐中,教師通過榜單功能可以更好地激勵(lì)學(xué)生及時(shí)完成作業(yè),學(xué)生亦可由此發(fā)現(xiàn)班里學(xué)習(xí)進(jìn)展較快的同學(xué),促進(jìn)了線下的學(xué)習(xí)交流。使用在線判題系統(tǒng)中的比賽功能,教師可以通過組織線上編程比賽,借此達(dá)到訓(xùn)練學(xué)生的目的。在線判題系統(tǒng)的比賽可分為個(gè)人排位賽、oi賽、線下比賽等多種形式
8、,依據(jù)歷次個(gè)人排位賽的比賽結(jié)果,生成“段位排行”(見圖2),激勵(lì)學(xué)生勇于爭(zhēng)先,達(dá)到以賽促練的效果。2.2 依據(jù)在線判題系統(tǒng)中的數(shù)據(jù),優(yōu)化程序設(shè)計(jì)課程教學(xué)通過在線判題系統(tǒng),生成學(xué)生在時(shí)間上完成題目的數(shù)量,可以跟蹤學(xué)生完成題目的進(jìn)展情況,如圖3所示。對(duì)于進(jìn)展較快的學(xué)生,鼓勵(lì)他(她)繼續(xù)完成難度更高,更有挑戰(zhàn)性的題目;對(duì)于進(jìn)展不理想的學(xué)生,在堂上堂下給予更多的關(guān)注,督促學(xué)生跟上學(xué)習(xí)進(jìn)度。分析判題結(jié)果的匯總情況,可以掌握學(xué)生的學(xué)習(xí)狀態(tài),如圖4所示。較高的通過率和較少的編譯錯(cuò)誤和解答錯(cuò)誤通常是編程水平較強(qiáng)的表現(xiàn),但也有可能是抄襲的結(jié)果。通過上線判題系統(tǒng),匯總每位學(xué)生的判題結(jié)果,可以在一定程序上反映學(xué)生的
9、學(xué)習(xí)狀態(tài)。2.3 完善在線判題系統(tǒng)的思路引入查重功能,杜絕代碼抄襲。在教學(xué)中發(fā)現(xiàn)學(xué)習(xí)提交的代碼偶爾還存在抄襲的情況。未來將研究如何實(shí)現(xiàn)自動(dòng)查重和人工查重的功能,使用低閾值的方式對(duì)代碼進(jìn)行初步處理和分析,去除注釋、預(yù)處理、標(biāo)準(zhǔn)庫(kù)等通用的代碼段,并對(duì)自動(dòng)查重時(shí)觸發(fā)限值的代碼進(jìn)行人工復(fù)核,減少自動(dòng)查重的誤判。另外為了適應(yīng)新的教學(xué)需要,還可以在系統(tǒng)中繼續(xù)增加go,scala,kotlin和perl等編程語言,適應(yīng)更多的編程課程。3 結(jié)語為了提高程序設(shè)計(jì)課程的教學(xué)質(zhì)量,更好地跟蹤學(xué)生在程序設(shè)計(jì)課程的學(xué)習(xí)狀態(tài)和進(jìn)展,本文介紹了一種結(jié)合在線判題系統(tǒng)的程序設(shè)計(jì)教學(xué)方法。通過分析在線判
10、題系統(tǒng)在程序設(shè)計(jì)教學(xué)中的實(shí)際應(yīng)用,本文發(fā)現(xiàn)題目分類標(biāo)簽、判題結(jié)果、小組和比賽以及學(xué)生解題情況的匯總數(shù)據(jù),可以為教師和學(xué)生提供便利的教學(xué)工具,激發(fā)學(xué)習(xí)的積極性,其直觀的教學(xué)效果可視化工具也為教師及時(shí)調(diào)整課程教學(xué)進(jìn)度,提高教學(xué)質(zhì)量提供了有效的保障。參考文獻(xiàn)1韓志科,王貴,韓俊杰.基于api自動(dòng)測(cè)試的程序設(shè)計(jì)在線判題系統(tǒng)的研究與實(shí)現(xiàn)j.計(jì)算機(jī)系統(tǒng)應(yīng)用,2008(7):9-13.2武建華.基于acm模式的數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)改革與探索j.計(jì)算機(jī)教育,2007(24):114-116.3蔡崇超.基于web的在線判題系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)j.軟件導(dǎo)刊,2016(3):107-109.(編輯 何 琳)research
11、and practice of program design teaching method for online problem determination systemlin zihui(jiangmen vocational and technical college, jiangmen 529020, china)abstract:in order to change the traditional programming teaching process, the training effect is not easy to track, manual problem determi
12、nation needs a lot of manual operation, students' learning enthusiasm is not easy to improve, this paper studies and practices a programming teaching method using online problem determination system. by applying the functions of problem classification label, result, group and competition, and summary of students' problem solving in online problem determination system, the students' initiative in learning can be stimulated, and more intuitive visual tools
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 美國(guó)生物學(xué)試題及答案
- 文化產(chǎn)業(yè)管理試題信息匯集
- 芭蕾等級(jí)測(cè)試題及答案
- 2024年高考政治二輪復(fù)習(xí)專題05國(guó)家和公民測(cè)含解析
- 育嬰師考試復(fù)習(xí)過程中常見問題剖析試題及答案
- 西醫(yī)臨床考試中典型案例討論與試題及答案
- 美國(guó)地理考試題及答案
- 七年級(jí)地理上冊(cè)2.2眾多的人口練習(xí)題無答案中圖版
- 系統(tǒng)架構(gòu)設(shè)計(jì)師考試基礎(chǔ)框架試題及答案
- 聚焦文化產(chǎn)業(yè)管理證書試題及答案
- 項(xiàng)目管理人員安全教育課件
- 漢字的五行屬性與三才五格計(jì)算方法
- 唐山高科總部大廈幕墻工程幕墻招標(biāo)技術(shù)評(píng)估總結(jié)
- 蘇教版三年級(jí)下冊(cè)數(shù)學(xué) 第三單元 解決問題的策略 測(cè)試卷
- 10kV線路拆除
- 高中學(xué)生選課指導(dǎo)手冊(cè)
- 為老年人更換紙尿褲評(píng)分標(biāo)準(zhǔn)
- 教務(wù)管理系統(tǒng)UML模型PPT課件
- 吸收塔及煙囪施工方案
- 高中數(shù)學(xué)答題卡模板word版(共2頁(yè))
- 小型構(gòu)件預(yù)制場(chǎng)建設(shè)方案
評(píng)論
0/150
提交評(píng)論