• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    OJ平臺(tái)在程序設(shè)計(jì)中的應(yīng)用分析與實(shí)現(xiàn)

    2020-07-14 00:36:53孔欽葉長(zhǎng)青吳淳陽(yáng)姚斯源王家輝
    軟件導(dǎo)刊 2020年1期
    關(guān)鍵詞:程序設(shè)計(jì)

    孔欽 葉長(zhǎng)青 吳淳陽(yáng) 姚斯源 王家輝

    摘 要:Online Judge在線評(píng)測(cè)系統(tǒng)作為提高學(xué)生基礎(chǔ)編程能力的重要途徑之一,在當(dāng)今十分強(qiáng)調(diào)編程能力的社會(huì)背景下顯得尤為重要。由于大一新生普遍存在編程能力不足的問(wèn)題,在分析目前主流OJ平臺(tái)的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了針對(duì)學(xué)校情況定制的OJ在線評(píng)測(cè)系統(tǒng),為程序設(shè)計(jì)賽事培訓(xùn)與課程實(shí)踐提供練習(xí)平臺(tái)。在詳細(xì)描述OJ平臺(tái)主要功能、技術(shù)架構(gòu)及具體實(shí)現(xiàn)方案的同時(shí),也重點(diǎn)強(qiáng)調(diào)了對(duì)于實(shí)現(xiàn)系統(tǒng)安全性和并發(fā)性方面的優(yōu)化與創(chuàng)新。

    關(guān)鍵詞:在線測(cè)評(píng);程序設(shè)計(jì);教學(xué)跟蹤

    DOI: 10. 11907/rjdk.192263

    開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

    中圖分類(lèi)號(hào):TP319

    文獻(xiàn)標(biāo)識(shí)碼:A

    文章編號(hào):1672-7800(2020)001-0172-04

    0 引言

    在線評(píng)測(cè)(Online Judge,簡(jiǎn)稱(chēng)OJ)平臺(tái)是一個(gè)基于WWW的服務(wù)器端軟件系統(tǒng),主要功能包括:用戶(hù)注冊(cè)與管理、題庫(kù)管理、在線提交與實(shí)時(shí)評(píng)測(cè)、網(wǎng)上考試、題目討論、郵件服務(wù)等[1]。早期的OJ平臺(tái)以競(jìng)賽為目標(biāo),能夠?qū)τ脩?hù)提交的程序進(jìn)行“黑盒判定”并自動(dòng)生成判題結(jié)果。傳統(tǒng)Online Judge系統(tǒng)主要針對(duì)解題訓(xùn)練,并不針對(duì)課程教學(xué)輔助場(chǎng)景[2]。C語(yǔ)言是大學(xué)一年級(jí)學(xué)生學(xué)習(xí)計(jì)算機(jī)程序設(shè)計(jì)時(shí)廣泛使用的一種語(yǔ)言,通過(guò)學(xué)習(xí)C語(yǔ)言課程,學(xué)生不僅可以掌握該高級(jí)程序設(shè)計(jì)語(yǔ)言的語(yǔ)法與語(yǔ)義,還可以掌握結(jié)構(gòu)化程序設(shè)計(jì)“自頂向下、逐步求精”的思想及方法、常用算法及實(shí)現(xiàn)技術(shù),以及分析與解決實(shí)際問(wèn)題的語(yǔ)言應(yīng)用能力[3]。將Online Judge加入到日常教學(xué)中輔助教師授課,將會(huì)幫助學(xué)生更加容易地掌握C語(yǔ)言。因此,本校自主開(kāi)發(fā)一個(gè)OJ平臺(tái),不僅用于程序設(shè)計(jì)賽事培訓(xùn),還可將其用于平時(shí)的實(shí)驗(yàn)教學(xué)中,通過(guò)精心設(shè)置的多組測(cè)試用例反映出程序問(wèn)題所在,方便教師及時(shí)找出漏洞(BUG)并作出解答,也便于學(xué)生課后復(fù)習(xí)與鞏固。在教學(xué)領(lǐng)域,OnlineJudge可以彌補(bǔ)人工評(píng)判的缺點(diǎn),有效減輕教師負(fù)擔(dān),使評(píng)測(cè)更加公平、合理,學(xué)生在課內(nèi)未完成的實(shí)驗(yàn)還可以利用系統(tǒng)在課外時(shí)間完成,從而使整個(gè)實(shí)驗(yàn)過(guò)程得到延伸[4]。同時(shí)也能增強(qiáng)師生間的互動(dòng)交流,提高教學(xué)質(zhì)量,形成新的程序設(shè)計(jì)實(shí)驗(yàn)課教學(xué)模式。

    Online Judge也為學(xué)生創(chuàng)造了一個(gè)模擬競(jìng)賽環(huán)境的平臺(tái)。眾所周知,程序在線評(píng)測(cè)是ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACM /ICPC)采用的訓(xùn)練與比賽評(píng)測(cè)方式[5],ACM在線評(píng)測(cè)系統(tǒng)是該項(xiàng)比賽的評(píng)判事務(wù)處理平臺(tái),也是一個(gè)基于B/S結(jié)構(gòu)的多用戶(hù)在線系統(tǒng),允許用戶(hù)在線提交自己的解題代碼,系統(tǒng)自動(dòng)編譯運(yùn)行給出裁判結(jié)果,并根據(jù)用戶(hù)解題數(shù)及用時(shí)進(jìn)行排名[6]。但剛接觸編程的學(xué)生能力不是很強(qiáng),如果一開(kāi)始就讓他們到各大學(xué)公網(wǎng)上的在線裁判系統(tǒng)上進(jìn)行練習(xí),無(wú)疑會(huì)打擊其對(duì)編程的興趣及積極性,因此必須有一個(gè)循序漸進(jìn)、由淺入深的練習(xí)系統(tǒng)[7]。

    1 研究背景

    1.1 主流OJ介紹

    國(guó)內(nèi)著名題庫(kù)有北京大學(xué)題庫(kù)、浙江大學(xué)題庫(kù)、電子科技大學(xué)題庫(kù)、杭州電子科技大學(xué)題庫(kù)等,國(guó)外題庫(kù)包括烏拉爾大學(xué)題庫(kù)、瓦拉杜利德大學(xué)題庫(kù)等[8],以下舉例分析一些現(xiàn)有的知名Online Judge。

    (1)POJ。POJ是北京大學(xué)ACM/ICPC在線評(píng)測(cè)系統(tǒng)( Peking University Judge Online for AC M/ICPC)的簡(jiǎn)稱(chēng),也是許多ACMer最開(kāi)始使用的OJ平臺(tái)。POJ以題目?jī)?yōu)質(zhì)著稱(chēng),幾乎涵蓋了編程學(xué)習(xí)的各類(lèi)經(jīng)典算法。北大為該系統(tǒng)的正常運(yùn)行提供了硬件與網(wǎng)絡(luò)資源保障,所以其可以全天不間斷地為全球程序愛(ài)好者提供服務(wù)[9]。

    (2)ZOJ。ZOJ是浙江大學(xué)在線評(píng)測(cè)系統(tǒng)(Zhejiang Uni-versity Online Judge)的簡(jiǎn)稱(chēng),是國(guó)內(nèi)最早也是最知名的OJ,有很多高手在上面練習(xí)。特點(diǎn)是數(shù)據(jù)比較刁鉆,經(jīng)常會(huì)有意想不到的邊界數(shù)據(jù),十分考驗(yàn)答題人思維的全面性[10]。ZOJ相較于POJ,在首頁(yè)上有一個(gè)News項(xiàng)目,可以看到ZOJ的最新動(dòng)向。ZOJ非常簡(jiǎn)潔、直觀,同時(shí)其前端界面也比POJ更加整齊、美觀。

    (3)hihoCoder。相較于以上兩個(gè)OJ平臺(tái),hihoCoder能提供更好的用戶(hù)體驗(yàn)。其有著最佳界面,并支持多種登錄方式。其宣傳語(yǔ)是“通過(guò)高水平的程序設(shè)計(jì)比賽提升編程水平,得到名企Offer”,這句話體現(xiàn)了OJ平臺(tái)的核心思想。hihoCoder主頁(yè)正下方即展示了3個(gè)正在進(jìn)行或?qū)⒁M(jìn)行的程序設(shè)計(jì)比賽,這些比賽都是由名?;蛎笈e辦的。平臺(tái)所有題目都以中文形式呈現(xiàn),并且給出算法使用提示,還注明了難度,讓用戶(hù)能夠更加靈活地使用題庫(kù)。它還有欄目“hiho -下”,可推送“每日一題”,讓編程成為hihoCoder用戶(hù)的生活習(xí)慣。hihoCoder擁有自己的討論社區(qū),讓用戶(hù)能在社區(qū)里相互交流、探討。因此,該平臺(tái)功能十分強(qiáng)大,而且為用戶(hù)考慮得非常全面。

    1.2 0J平臺(tái)功能分析

    本校的Online Judge平臺(tái)設(shè)計(jì)目的主要有兩點(diǎn):一是為學(xué)校提供一個(gè)獨(dú)立的擁有龐大題庫(kù)的在線測(cè)試平臺(tái)以輔助教學(xué)實(shí)踐與賽事培訓(xùn),以學(xué)生為中心,幫助學(xué)生樹(shù)立“算法”思想[11]。用戶(hù)瀏覽網(wǎng)頁(yè)選擇題目,通過(guò)網(wǎng)頁(yè)提交代碼,由服務(wù)器端調(diào)用編譯程序?qū)τ脩?hù)提交的程序進(jìn)行編譯,然后由評(píng)測(cè)程序進(jìn)行評(píng)判,并返回相應(yīng)結(jié)果到網(wǎng)頁(yè)上供用戶(hù)查看[12];二是因?yàn)閭鹘y(tǒng)采用實(shí)驗(yàn)室FTP客戶(hù)端提交作業(yè)的方式,效率十分低下,且不利于學(xué)生利用課外時(shí)間練習(xí),以及學(xué)生與教師之間的交流,影響了教學(xué)效果,因此通過(guò)搭建一個(gè)在線測(cè)試平臺(tái)以實(shí)現(xiàn)教師對(duì)學(xué)生練習(xí)情況的跟蹤監(jiān)督。

    通過(guò)實(shí)現(xiàn)以上兩個(gè)核心功能可達(dá)到以下目的:①計(jì)算機(jī)類(lèi)競(jìng)賽訓(xùn)練。為藍(lán)橋杯、ACM等程序設(shè)計(jì)競(jìng)賽提供一個(gè)訓(xùn)練平臺(tái),通過(guò)提供一個(gè)完善且龐大的題庫(kù),讓學(xué)生可通過(guò)該平臺(tái)不斷鍛煉自己的答題水平,提升競(jìng)賽能力,為將來(lái)在競(jìng)賽中取得優(yōu)異成績(jī)打下良好基礎(chǔ);②教學(xué)實(shí)驗(yàn)測(cè)試。為教學(xué)實(shí)驗(yàn)課提供一個(gè)功能齊全的實(shí)踐平臺(tái),由教師提供課程需要的實(shí)驗(yàn)題目,系統(tǒng)即可快速制作一個(gè)實(shí)驗(yàn)題庫(kù)。教師能夠根據(jù)自己所教科目創(chuàng)建每次實(shí)驗(yàn)課內(nèi)容,并按照不同難度設(shè)置每章節(jié)題目。該方式解決了目前學(xué)生在實(shí)驗(yàn)課上只能通過(guò)FTP下載作業(yè)要求、上傳程序,教師也無(wú)法直接查看結(jié)果等諸多問(wèn)題。

    從程序設(shè)計(jì)跟蹤的角度,教師可通過(guò)系統(tǒng)查看最近幾日每日總體數(shù)據(jù),包括學(xué)生總共提交次數(shù)、競(jìng)賽題庫(kù)完成度、整個(gè)班或年級(jí)實(shí)驗(yàn)完成情況等,避免了課程設(shè)計(jì)中代碼量較大,導(dǎo)致教師檢查代碼工作量大的問(wèn)題[13]。學(xué)生用戶(hù)可通過(guò)個(gè)人中心查看自己答題信息與打卡進(jìn)展,包括每個(gè)實(shí)驗(yàn)、章節(jié)及每道題完成情況、通過(guò)數(shù)、正確率等重要指標(biāo)信息。

    從教學(xué)管理的角度,本系統(tǒng)可便于教師布置作業(yè)、管理實(shí)驗(yàn)進(jìn)度、控制教學(xué)進(jìn)度、監(jiān)督學(xué)生完成情況等。教師布置作業(yè)時(shí)可以設(shè)置截止時(shí)間,學(xué)生需要在截止時(shí)間之前完成,即使提交了作業(yè),學(xué)生依然可以繼續(xù)復(fù)習(xí)作業(yè)中的題目并鞏固相關(guān)知識(shí)點(diǎn)。在講授課程時(shí)可以與本系統(tǒng)結(jié)合進(jìn)行授課,例如教授C、C++、JAVA和C#等課程的教師可利用系統(tǒng)進(jìn)行課堂在線程序的編寫(xiě),并利用系統(tǒng)的在線評(píng)分功能,及時(shí)展示出編程過(guò)程中可能存在的編譯錯(cuò)誤及程序運(yùn)行中的常見(jiàn)問(wèn)題,為學(xué)生深入理解程序設(shè)計(jì)思想提供了一個(gè)更加直觀的平臺(tái)[14]。我校OJ平臺(tái)功能模塊如圖1所示。

    2 0J平臺(tái)實(shí)現(xiàn)方案

    2.1 網(wǎng)站設(shè)計(jì)

    Online Judge是一種基于B/S結(jié)構(gòu)的多用戶(hù)在線評(píng)測(cè)系統(tǒng),允許用戶(hù)在線提交解題代碼,系統(tǒng)自動(dòng)編譯運(yùn)行并給出評(píng)測(cè)結(jié)果[15]。網(wǎng)站采用Vue+Spring Boot+MySQL框架進(jìn)行系統(tǒng)開(kāi)發(fā)。Vue和Spring Boot是當(dāng)前主流的前后端框架,其中Vue是一套用于構(gòu)建用戶(hù)界面的漸進(jìn)式框架,采用自底向上增量開(kāi)發(fā)的設(shè)計(jì)方式,是一種更加靈活的解決方案,構(gòu)架更加簡(jiǎn)單,適合開(kāi)發(fā)人員快速掌握其全部特性并投入使用,還便于與第三方庫(kù)或既有項(xiàng)目整合[16],因此將其作為一個(gè)前端項(xiàng)目,與后臺(tái)邏輯分開(kāi)部署,只需請(qǐng)求相應(yīng)接口即可實(shí)現(xiàn)對(duì)應(yīng)功能;使用undertow代替tomcat作為Web服務(wù)器,undertow與tomcat相比,并發(fā)狀態(tài)下差別不是很大,然而undertow負(fù)載能力明顯高于tomcat,擁有更高的吞吐量,同時(shí)結(jié)合ngmx技術(shù)實(shí)現(xiàn)反向代理與負(fù)載均衡;采用Linux作為服務(wù)器,提升系統(tǒng)的可操作性和可維護(hù)性。

    2.2 判題核心

    判題主程序是判題系統(tǒng)的核心子程序,其主要功能是負(fù)責(zé)接受與分派判題請(qǐng)求[17],實(shí)現(xiàn)機(jī)制是使用Linux系統(tǒng)自帶的gcc和g++進(jìn)行編譯運(yùn)行,通過(guò)C語(yǔ)言執(zhí)行g(shù)cc、g++編譯命令,并將輸入的可執(zhí)行文件放到指定目錄下。C語(yǔ)言的MySQL庫(kù)函數(shù)可以直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改,實(shí)時(shí)改變數(shù)據(jù)庫(kù)狀態(tài)。

    2.2.1 編譯部分

    對(duì)于C程序,完整的調(diào)用類(lèi)似system(”/usr/bin/geclOOO.e -0 1000 -ansi -Wall -Wextra Im 2>/tmp/oj_ gcc_err.txt”),使用的gcc選項(xiàng)如表1所示[18]。

    2.2.2 執(zhí)行部分

    為了解決學(xué)生在最初學(xué)習(xí)時(shí)會(huì)導(dǎo)致代碼進(jìn)入死循環(huán),以及有人惡意上傳危害服務(wù)器系統(tǒng)的代碼等問(wèn)題,保證服務(wù)器的安全性,使判題系統(tǒng)能夠穩(wěn)定運(yùn)行,本文采用當(dāng)今比較流行的Docker技術(shù)。

    Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包其應(yīng)用及依賴(lài)包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。

    在環(huán)境搭建時(shí),通過(guò)Dockerfile創(chuàng)建出適用于判題的Docker鏡像,可以自由地在Dockerfile中寫(xiě)入安裝命令,方便以后針對(duì)其它語(yǔ)言進(jìn)行判題。首先,在服務(wù)器上安裝gcc、g++、Java運(yùn)行環(huán)境,在程序運(yùn)行前先啟動(dòng)一個(gè)容器,并將實(shí)際文件路徑映射到docker容器的虛擬路徑中,運(yùn)行預(yù)先執(zhí)行的命令,緊接著在“沙箱”中執(zhí)行程序,最后將代碼輸出結(jié)果與測(cè)試結(jié)果相比較,即能獲得最后結(jié)果。

    docker容器用完即銷(xiāo)毀,因而能完美地規(guī)避掉上面所提到的風(fēng)險(xiǎn)。倘若出現(xiàn)死循環(huán)的情況,則容器在運(yùn)行一定時(shí)間后會(huì)因檢測(cè)到異常而自動(dòng)關(guān)閉。對(duì)系統(tǒng)具有破壞性的代碼只會(huì)導(dǎo)致容器異常,而不會(huì)使服務(wù)器無(wú)法正常工作。

    Docker命令:?jiǎn)?dòng)一個(gè)名為OJ的容器將本機(jī)/root/Test文件夾下的內(nèi)容映射到容器中的/Test下,執(zhí)行一c之后的命令:

    docker

    run --rm --cap-add=SYS_PTRACE -u

    oj -v/root/Test: /Test oj /bin/sh -e“cd /Test./a.out$1$2 $3 $4 $5 $6”

    在進(jìn)行判題時(shí),首先通過(guò)pid()創(chuàng)建一個(gè)子線程,判題前需要對(duì)線程進(jìn)行資源限制,以防止該線程出現(xiàn)。具體實(shí)現(xiàn)步驟如下:

    1.while(1)的死循環(huán)

    2.不停地malloc分配內(nèi)存,占用地址空間

    3.不停地創(chuàng)建子線程

    通過(guò)int setrlimit( int resource,const struct rlimit *rlim);函數(shù)限定時(shí)間和空間

    struct rlimit{

    rlim_t rlim—cur; /*軟限制,當(dāng)前限制*/

    rlim_t rlim—max; /*硬限制,最大限制*/

    };

    通過(guò)判題,會(huì)根據(jù)判題結(jié)果返回不同信息,若通過(guò)則返回“通過(guò)”,若不通過(guò),則會(huì)返回錯(cuò)誤信息如“答案錯(cuò)誤”、“編譯錯(cuò)誤”、“超時(shí)”等。其中若存在編譯錯(cuò)誤,返回信息中還會(huì)加入控制臺(tái)輸出的具體錯(cuò)誤信息。判題流程如圖2所示。

    兩個(gè)函數(shù)的resource參數(shù)取下列值之一:

    RLIMIT AS

    進(jìn)程可用存儲(chǔ)區(qū)的最大總長(zhǎng)度(字節(jié))

    RLIMIT CORE

    core文件最大字節(jié)數(shù)

    RLIMIT CPU

    CPU時(shí)間最大量值(s)

    RLIMIT DATA

    數(shù)據(jù)段最大字節(jié)長(zhǎng)度

    RLIMIT FSIZE

    可以創(chuàng)建的文件最大字節(jié)長(zhǎng)度

    RLIMIT LOCKS

    一個(gè)進(jìn)程可持有的文件鎖最大數(shù)

    RLIMIT MEMLOCK -個(gè)進(jìn)程使用mlock(2)能夠鎖定在存

    儲(chǔ)器中的最大字節(jié)長(zhǎng)度

    RLIMIT NOFILE 每個(gè)進(jìn)程能打開(kāi)的最大文件數(shù)

    RLIMIT NPROC

    每個(gè)實(shí)際用戶(hù)ID可擁有的最大子進(jìn)

    程數(shù)

    RLIMIT RSS

    最大駐內(nèi)存集的字節(jié)長(zhǎng)度(resident set

    size in bytes,RSS)

    RLIMITSBSIZE

    用戶(hù)在任一給定時(shí)刻可占用的套接字

    緩沖區(qū)最大長(zhǎng)度(字節(jié))

    RLIMIT_STACK

    棧的最大字節(jié)長(zhǎng)度

    RLIMIT_VMEM

    RLIMIT—AS的同義詞(Linux 2.4.22不

    支持)

    3 主要模塊介紹

    3.1 學(xué)生實(shí)驗(yàn)?zāi)K

    學(xué)生在課堂練習(xí)模塊(見(jiàn)圖3)中選擇課程后,可看到課程每個(gè)實(shí)驗(yàn)完成情況和總體完成率。每個(gè)實(shí)驗(yàn)作為一組,展示每個(gè)實(shí)驗(yàn)截止日期以及該組中題目名稱(chēng),點(diǎn)擊題目即可進(jìn)入答題界面。如果一個(gè)實(shí)驗(yàn)所有題目都已完成,在頂部顯示完成標(biāo)志,沒(méi)有完成則顯示未完成。

    3.2 答題模塊

    點(diǎn)擊題目名稱(chēng)進(jìn)入答題模塊,界面顯示題目難度及題目信息。提交答案之后,系統(tǒng)返回程序運(yùn)行需要的時(shí)間與內(nèi)存空間,以及程序編譯、運(yùn)行結(jié)果(見(jiàn)圖4),以便學(xué)生針對(duì)錯(cuò)誤進(jìn)行修改。

    4 網(wǎng)站優(yōu)化

    為了能夠在低成本條件下提供更加強(qiáng)大的性能,除之前提到的更換服務(wù)器外,還可以對(duì)Java啟動(dòng)參數(shù)進(jìn)行調(diào)整,更改JVM內(nèi)存空間與堆的大小,使程序能夠承受更大壓力。因?yàn)閐ocker內(nèi)存消耗略大,可以將主要判題業(yè)務(wù)從后臺(tái)項(xiàng)目中剝離出來(lái),部署在另一臺(tái)服務(wù)器上,形成分布式架構(gòu)。

    Spring Cloud是基于Spring Boot推出的一系列框架、組件的有序集合,簡(jiǎn)化了分布式系統(tǒng)基礎(chǔ)設(shè)施開(kāi)發(fā)[19]。通過(guò)Eureka注冊(cè)中心,將主要業(yè)務(wù)與其它業(yè)務(wù)一起注冊(cè)。使用Spring Cloud可以直接調(diào)用另一臺(tái)服務(wù)器的服務(wù),相比之前都部署在一臺(tái)服務(wù)器上,可以大大減小服務(wù)器壓力。

    5 結(jié)語(yǔ)

    Online Judge系統(tǒng)作為計(jì)算機(jī)專(zhuān)業(yè)學(xué)生在程序設(shè)計(jì)初期的訓(xùn)練平臺(tái),有著十分重要的意義。本文在調(diào)研主流OJ平臺(tái)的基礎(chǔ)上,詳細(xì)描述了本校OJ平臺(tái)的功能模塊、技術(shù)架構(gòu)及實(shí)現(xiàn)方案。在具體實(shí)現(xiàn)上,采用Vue+Spring Boot+MySQL流行框架,并借助undertow Web服務(wù)器的優(yōu)越性與docker容器運(yùn)行的安全性,有效提升了系統(tǒng)性能。未來(lái)可在其基礎(chǔ)上進(jìn)一步添加競(jìng)賽比拼、積分激勵(lì)等新功能,再與課程教學(xué)緊密結(jié)合,注重提升學(xué)生的實(shí)際動(dòng)手能力,激發(fā)學(xué)生學(xué)習(xí)的主動(dòng)性與創(chuàng)新性,鍛煉其編程能力,提高學(xué)生學(xué)習(xí)效率[20]。同時(shí)還可在賽事培訓(xùn)、課程跟蹤、教學(xué)反饋、教學(xué)分析等若干教學(xué)管理環(huán)節(jié)中發(fā)揮更大作用,提高教學(xué)質(zhì)量,形成程序設(shè)計(jì)學(xué)習(xí)閉環(huán),以期為社會(huì)培養(yǎng)更多高質(zhì)量的計(jì)算機(jī)專(zhuān)業(yè)應(yīng)用型人才。

    參考文獻(xiàn):

    [1]張麗萍,東升.程序設(shè)計(jì)類(lèi)課程考核評(píng)價(jià)方法的改革與實(shí)踐[J].計(jì)算機(jī)教育,2010,110( 2):16-20.

    [2] 羅英偉,汪小林,張正熠.編程網(wǎng)格:一個(gè)基于Online Judge的程序設(shè)計(jì)類(lèi)課程教學(xué)輔助系統(tǒng)[J].教育與教學(xué)研究,2009(2):87-11.

    [3]季曉慧,張玉清.C程序設(shè)計(jì)教學(xué)中的在線評(píng)測(cè)系統(tǒng)應(yīng)用[J].電腦知識(shí)與技術(shù),2014,10(7):1465-1466.

    [4] 魯靜軒,孫晶,李元高.程序在線評(píng)側(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].硅谷,2008( 24):38-38.

    [5]尤楓,史晟輝,趙瑞蓮.編譯程序在線評(píng)測(cè)系統(tǒng)的實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2010,29( 12):69-77.

    [6] 劉楠,孫國(guó)道,田賢忠.ACM在線評(píng)判系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,2010(2):34-38.

    [7] 王騰,姚丹霖.Online Judge系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2006, 23( 12): 129-137.

    [8] 熊茜,雷亮,許莎,等.基于在線判題系統(tǒng)的C語(yǔ)言實(shí)驗(yàn)教學(xué)改革[J].重慶科技學(xué)院學(xué)報(bào)(社會(huì)科學(xué)版),2015( 10):67-69.

    [9] 李文新,郭煒.北京大學(xué)程序在線評(píng)測(cè)系統(tǒng)及其應(yīng)用[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2005( 23):170-177.

    [10] 蔡崇超.基于Web的在線判題系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2016.15(3):107-109.

    [11] 肖瀟,賀細(xì)平.C語(yǔ)言程序設(shè)計(jì)教學(xué)探索[J].計(jì)算機(jī)教育,2011(5):65-68.

    [12]莊奇東,王鍵聞,張楠,等.Online Judge系統(tǒng)的優(yōu)化[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,20(8):115-121.

    [13] 陳湘驥,徐東風(fēng),楊秋妹.在線評(píng)判在C語(yǔ)言課程設(shè)計(jì)教學(xué)中的應(yīng)用[J].計(jì)算機(jī)教育,2010(3):97-100.

    [14] 喬少杰,楊燕,葛永明,等.基于B/S架構(gòu)的多用戶(hù)在線程序評(píng)判系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2011,33(Al):58-61.

    [15]何迎升,羅強(qiáng).Online Judge評(píng)判內(nèi)核的設(shè)計(jì)與實(shí)現(xiàn)[J].吉首大學(xué)學(xué)報(bào),2010,31(6):37-38.

    [16] 朱二華.基于Vue.is的Web前端應(yīng)用研究[J].科技與創(chuàng)新,2017( 20):119-121.

    [17]韓志科,王貴,韓俊杰.基于API自動(dòng)測(cè)試的程序設(shè)計(jì)在線判題系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008,17( 7):9-13.

    [18] 楊志偉,曾艷姍.基于Linux的ACM在線評(píng)測(cè)系統(tǒng)研究[J].計(jì)算機(jī)與現(xiàn)代化,2010(6):166-169.

    [19] 王方旭.基于Spring Cloud和Docker的微服務(wù)架構(gòu)設(shè)計(jì)[J].中國(guó)信息化,2018(3):53-55.

    [20] 王娟.基于Online Judge的高級(jí)語(yǔ)言程序設(shè)計(jì)課程教學(xué)改革[J].吉林省教育學(xué)院學(xué)報(bào),2012,28(10):85-87.

    (責(zé)任編輯:黃?。?/p>

    基金項(xiàng)目:全國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)計(jì)算機(jī)基礎(chǔ)教學(xué)研究與改革項(xiàng)目(AFCEC-2016-18);南京大學(xué)金陵學(xué)院校級(jí)教改項(xiàng)目( 0010521816)

    作者簡(jiǎn)介:孔欽(1983-),女,碩士,南京大學(xué)金陵學(xué)院信息科學(xué)與工程學(xué)院講師,研究方向?yàn)橛?jì)算機(jī)應(yīng)用、數(shù)據(jù)分析。

    猜你喜歡
    程序設(shè)計(jì)
    基于SolidWorks和VBA的電機(jī)階梯軸建模程序設(shè)計(jì)
    高職Java程序設(shè)計(jì)課程體系建設(shè)思考
    基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
    從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
    電子制作(2019年9期)2019-05-30 09:42:04
    基于LabVIEW的車(chē)載充電機(jī)控制程序設(shè)計(jì)
    淺談基于C語(yǔ)言的計(jì)算機(jī)軟件程序設(shè)計(jì)
    電子制作(2017年24期)2017-02-02 07:14:40
    高職高專(zhuān)院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
    OBE理念下基于Greenfoot的Java程序設(shè)計(jì)課程教學(xué)改革
    模塊化程序設(shè)計(jì)在一體化檢定平臺(tái)中的應(yīng)用
    PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
    醴陵市| 华蓥市| 双桥区| 林西县| 和硕县| 子洲县| 镇雄县| 蒙山县| 会昌县| 驻马店市| 滕州市| 余干县| 江华| 山东省| 祁连县| 资阳市| 大悟县| 郯城县| 嘉兴市| 阿巴嘎旗| 锡林浩特市| 阜南县| 广德县| 德惠市| 民丰县| 马山县| 阿勒泰市| 旺苍县| 宝应县| 宜城市| 抚顺市| 会宁县| 南城县| 英超| 九寨沟县| 枞阳县| 神木县| 尼木县| 义乌市| 石阡县| 马公市|