前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計算機編程課程實踐教學優(yōu)化范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:目前,計算機編程類課程教學存在許多問題,比如程序實踐教學環(huán)節(jié)薄弱、作業(yè)考察方式不合理、抄襲現(xiàn)象存在等。針對存在的問題,提出了基于在線On-lineJudge學習測評系統(tǒng)的計算機類編程課程教學實踐手段優(yōu)化改革思路,以滿足該類課程實踐性強的需要,以增強學生學習能力和使用計算機編程解決實際應用問題的能力。該教學改革手段在最近幾屆學生上應用實踐后取得了良好的教學效果,證明其能有效培養(yǎng)學生的程序?qū)嵺`應用能力。該實踐手段既可以為程序設計類課程提供在線實驗平臺,還可以為藍橋杯、ACM程序設計競賽以及編程類科技競賽等大賽提高平臺服務。
關鍵詞:OnlineJudge;教學改革;計算機編程課程
一、引言
隨著計算機和互聯(lián)網(wǎng)技術的發(fā)展,網(wǎng)絡在線教育與計算機輔助教學引發(fā)了一場深刻的教育模式和教育觀念的變革,一方面計算機技術減輕了教育者的工作量,提供了更豐富的教育表現(xiàn)形式,并可在教育資源和教育對象之間建立聯(lián)系;另一方面互聯(lián)網(wǎng)技術使得更為廣泛的群體可以遠程接受到更高質(zhì)量的教育。另外,近期中國國務院印發(fā)了《新一代人工智能發(fā)展規(guī)劃》,《規(guī)劃》中指出中國到2030年人工智能理論、技術與應用總體達到世界領先水平。人工智能中最重要的部分就是程序設計。在高校計算機相關專業(yè)的教學活動中,編程課程有利于培養(yǎng)學生的創(chuàng)新思維和邏輯思維,增強學生的信息素養(yǎng)。目前,計算機及其相關專業(yè)需要學習幾門計算機語言專業(yè)基礎課程,比如C語言程序設計、C++程序設計、JAVA程序設計等,傳統(tǒng)教學方式為大量理論學時與少量實踐學時相結合,學生通過理論教學學習計算機語言相關的基礎知識,在實踐學時階段開展上機驗證與擴展學習,具有較好的教學效果,但是也存在以下幾個問題。(1)課后作業(yè)一般為教材的習題,數(shù)量較少而且擴展性不強,教師一般選取一部分代表性的習題作為課后作業(yè),不能照顧到各個知識點。(2)學生所交作業(yè)一般為紙質(zhì)稿,教師審閱時工作量非常大。以一個小型工程為例,代碼可能為幾百甚至幾千行,而一個教學班人數(shù)少則幾十人,多則上百人。全部檢查學生上交的代碼,可操作性太差,因而,教師一般采用抽查其中部分關鍵代碼段,相應地實際的檢查效果也大打折扣。(3)由于過程監(jiān)控力度不夠,抄襲現(xiàn)象嚴重。(4)傳統(tǒng)的紙質(zhì)作業(yè)方式不能有效激發(fā)學生學習的積極性,簡單的評分依據(jù)難以對學生學習情況作出客觀評價,相反,它在一定程度上還挫傷學生的學習積極性。針對上述問題,有人提出將目前軟件工程中的自動測試的方法引入到計算機語言課程教學中來,學生的課后作業(yè)不再采用傳統(tǒng)的紙質(zhì)方式,而是采用在網(wǎng)上系統(tǒng)來完成,讓系統(tǒng)對學生提交的代碼進行自動評判,從而減輕任課教師的工作量,最大限度降低學生抄襲行為,同時提高教師對學生學習過程的監(jiān)控力度,并使評分更為客觀,進而提高整個理論與實踐教學的質(zhì)量。目前有很多比較流行的OnlineJudge(OJ)系統(tǒng),比如北京大學的POJ在線程序測試系統(tǒng),杭州電子科技大學的HDUOnlineJudgeSystem,還有些比較優(yōu)秀的開源OJ系統(tǒng)可以利用,從而實現(xiàn)對課程設計中的代碼進行在線自動評判的方法。實踐表明,該方法實現(xiàn)較為簡單,且效果良好。
二、OnlineJudge簡介
ACM/ICPC國際大學生程序設計競賽是由ACM(AssociationforComputingMachiner-y,美國計算機協(xié)會)組織的年度性競賽,國內(nèi)高校從1996年開始參加ACM/ICPC亞洲預賽。為了利用計算機技術與網(wǎng)絡技術在線開展程序設計競賽,OnlineJudge系統(tǒng)(簡稱OJ)被研發(fā)出來,它是一個利用web技術開發(fā)的在線判題系統(tǒng)。注冊的用戶可以利用Web瀏覽器在線提交程序多種計算機語言的源程序(如C、Java、C++、Pascal等),OJ系統(tǒng)自動對提交的源代碼進行編譯和執(zhí)行,產(chǎn)生執(zhí)行文件,并利用預先設計的大量測試數(shù)據(jù)來檢驗程序所得到結果的正確性,最終判斷用戶提交源代碼的可用性?;谶@樣的背景,很多大學開發(fā)了自己的OnlineJudge系統(tǒng),任課教師可以在平臺后臺添加自定義的題目,進行上機實踐考試,舉辦程序設計比賽,學生提交的程序可以實時得到評測,返回測評結果。利用該技術,既能鼓勵學生提高動手能力,又極大地方便了教師的教學工作。
三、實踐教學手段優(yōu)化
利用OnlineJudge開展計算機編程課程實踐教學手段優(yōu)化,采用了如下的步驟:(1)利用OnlineJudge程序測評平臺,任課教師先設置問題題庫,每道題都針對著編程應用中的一個實際知識點。除此之外,還需結合西南科技大學國防學院信息對抗技術專業(yè)本科生的培養(yǎng)目標,在設計問題時,可以圍繞國防軍工背景,這不僅可以增強問題的生動性,還能增強學生對該專業(yè)的學習興趣。(2)任課教師從題庫中抽取部分題目作為作業(yè)、考試或者比賽實踐。比如在理論課教學結束后,任課教師告知學生需要在OJ中完成題目,并提醒學生注意截止提交時間,如圖1所示為某次比賽時的題目。(3)學生通過賬號登陸測評平臺查看問題集,針對問題,在PC機上進行編程調(diào)試,調(diào)試通過的程序源代碼通過平臺提交到服務器進行測評,如果代碼正確則返回Accept,錯誤則返回WrongAnswer,有語法錯誤則提示PresentationError,并同時返回學生提交源代碼編譯后程序使用的內(nèi)存、運行時間等程序評價數(shù)據(jù)信息。如圖2所示為OJ實時返回的學生答題狀態(tài)信息。(4)教師登錄到平臺后臺可以導出學生完成情況的統(tǒng)計信息,包括完成率、正確率、重合率等信息。
四、效果驗證
從2014級開始,利用任教的《C語言程序設計》開展實驗工作,共兩個教學班(A班和B班),A班和B班人數(shù)相差不大,對A班采取以OnlineJudge的計算機課程教學手段優(yōu)化,對B班則按照傳統(tǒng)的教學方法開展教學實踐。為了區(qū)分使用和未使用Online-Judge實踐教學效果,實驗將學生的成績分成五個等級,分別是<60分、60-69分、70-79分、80-89分、90分及以上。實驗結果如下所示。針對2014級《C語言程序設計》教學班,使用OnlineJudge的效果如圖3所示,使用OJ的A班平均成績、及格率、優(yōu)良率都好于未使用OJ的B班。圖32014級學生C語言成績分布統(tǒng)計針對2015級《C語言程序設計》教學班,使用OnlineJudge的效果如圖4所示,使用OJ的A班平均成績、及格率、優(yōu)良率也均好于未使用OJ的B班。針對2016級《C語言程序設計》教學班,使用OnlineJudge的效果如圖5所示,兩個班級均適用使用OnlineJudge課程教學手段優(yōu)化,可以得到兩個班的成績分布曲線與趨勢大致相同。圖42015級學生C語言成績分布統(tǒng)計圖52016級學生C語言成績分布統(tǒng)計通過實驗表明,利用OnlineJudge的計算機課程教學手段優(yōu)化的教學班級各項指標都優(yōu)于未使用的班級,充分證明了該系統(tǒng)對教學效果具有顯著提升作用。
五、計算機課程教學手段優(yōu)化總結
針對目前計算機課程教學實踐中存在的問題,基于OnlineJudge開展教學手段優(yōu)化,以高質(zhì)量、高成效完成計算機語言相關教學實踐。一方面極大地釋放了教師的作業(yè)批改與統(tǒng)計整理負擔;另外一方面提升了學生學習興趣,對學生培養(yǎng)編程興趣、學習計算機語言、掌握編程實踐技能,具有重要的意義。實踐表明,在教學實踐中引入OnlineJudge優(yōu)化手段后,學生的學習主動性得到大幅提升,課程教學質(zhì)量也得到較大改善。
參考文獻
[1]陳薈慧,熊楊帆,蔣滔滔,等.基于在線測評系統(tǒng)的編程題目難度研究[J].現(xiàn)代計算機(專業(yè)版),2018,(13):26-30+34.
[2]黃金春,杜娟嬌.超小型在線評測系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代計算機(專業(yè)版),2018,(13):83-86.
[3]肖紅玉,藍榮祺,萬志強.在線評測教學輔助系統(tǒng)設計與應用[J].電子設計工程,2017,(23):11-15.
[4]晏燕.在線編程評測系統(tǒng)設計與實現(xiàn)[D].長春:吉林大學,2017.
[5]肖紅玉,賀輝,陳紅順.在線評測教學輔助系統(tǒng)設計[J].計算機技術與發(fā)展,2017,(11):141-145.
[6]吳舜歆,梁寶蘭.OnlineJudge在C++程序設計課程實踐教學中的應用[J].高教學刊,2016,(09):164-167.
作者:任珍文 楊超 印茂偉 吳明娜 劉洋 孫元 單位:西南科技大學國防科技學院