杜祥軍,李建波,李 敏,張永進(jìn)
(1.青島大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,山東 青島 266071;2. 青島大學(xué) 教務(wù)處,山東 青島 266071)
工程教育、新工科建設(shè)為當(dāng)前我國高等教育的改革與發(fā)展提供了指引。工程教育注重“成果導(dǎo)向”(Outcome-based Education, OBE),即“以學(xué)生為中心、以學(xué)生學(xué)習(xí)產(chǎn)出為導(dǎo)向”的理念[1]。為促進(jìn)工程教育與新工科建設(shè),教育部發(fā)布了《普通高等學(xué)校本科專業(yè)類教學(xué)質(zhì)量國家標(biāo)準(zhǔn)》,該標(biāo)準(zhǔn)突出“以學(xué)生中心”“產(chǎn)出導(dǎo)向”“持續(xù)改進(jìn)”三大原則。
MOOC(Massive Open Online Course,大規(guī)模在線開放課程)是一種基于互聯(lián)網(wǎng)、以開放訪問和大規(guī)模參與為手段、以學(xué)習(xí)者為中心、針對動態(tài)發(fā)展的學(xué)習(xí)內(nèi)容、通過在線交流提供全面及時(shí)的學(xué)習(xí)反饋的免費(fèi)開放網(wǎng)絡(luò)課程[2]。其中,學(xué)習(xí)者自身是內(nèi)在動力,學(xué)習(xí)效果的評價(jià)是其關(guān)鍵問題。在線考試平臺是實(shí)現(xiàn)學(xué)習(xí)過程、學(xué)習(xí)成果管理的有效途徑,主要包含兩個(gè)方面:一是通過云平臺、大數(shù)據(jù)技術(shù)對教學(xué)過程中學(xué)習(xí)者的學(xué)習(xí)行為、學(xué)習(xí)過程、學(xué)習(xí)表現(xiàn)等進(jìn)行詳細(xì)的記錄分析,基于即時(shí)產(chǎn)生各種類型的大量數(shù)據(jù)實(shí)現(xiàn)對教學(xué)過程的監(jiān)控和評價(jià);二是建立統(tǒng)一的學(xué)科考試題庫,實(shí)現(xiàn)在線考試。
上述工程教育認(rèn)證、新工科建設(shè)、MOOC分別從宏觀理念和實(shí)際實(shí)施兩個(gè)不同維度對以學(xué)習(xí)者為中心、成果導(dǎo)向的考核認(rèn)證機(jī)制與教學(xué)過程評價(jià)提出了較高要求。教學(xué)評價(jià)是依據(jù)教學(xué)目標(biāo),按照科學(xué)的標(biāo)準(zhǔn),運(yùn)用有效的技術(shù)手段,對教學(xué)過程及結(jié)果進(jìn)行價(jià)值判斷并為教學(xué)決策服務(wù)的活動,是對教學(xué)活動現(xiàn)實(shí)的或潛在的價(jià)值作出判斷的過程。教學(xué)評價(jià)一般包括對教學(xué)過程中教師、學(xué)生、教學(xué)內(nèi)容、教學(xué)方法手段、教學(xué)環(huán)境、教學(xué)管理諸因素的評價(jià),但主要由兩個(gè)核心環(huán)節(jié)組成:其一是對教師教學(xué)工作過程(教學(xué)設(shè)計(jì)、組織、實(shí)施等)的評價(jià),其二是對學(xué)生學(xué)習(xí)效果的評價(jià)(考試與測驗(yàn))。在工程教育理念中,目標(biāo)、需求、過程、評價(jià)、改進(jìn)是5個(gè)最關(guān)鍵的問題。然而,傳統(tǒng)的考核方式僅從教學(xué)階段和狀態(tài)出發(fā),通過階段性考試考查學(xué)習(xí)者在本階段的學(xué)習(xí)成果[3],雖然教學(xué)目標(biāo)和需求可以明確,但卻難以實(shí)現(xiàn)對學(xué)習(xí)者學(xué)習(xí)過程的評價(jià),難以支撐以學(xué)習(xí)成果驅(qū)動整個(gè)教學(xué)活動和成果評價(jià)的教學(xué)模式。
Online Judge(OJ)是一種使用計(jì)算機(jī)程序進(jìn)行自動判題的技術(shù),通?;贐/S結(jié)構(gòu)實(shí)現(xiàn)。瀏覽器端向用戶提供問題描述、程序設(shè)計(jì)選項(xiàng)與環(huán)境、程序評測結(jié)果與統(tǒng)計(jì)信息等內(nèi)容,服務(wù)器端則對用戶提交的程序進(jìn)行編譯、生成可執(zhí)行文件,并調(diào)用測試數(shù)據(jù)評測程序運(yùn)行的正確性、消耗時(shí)間與內(nèi)存以及其他結(jié)果信息?;贠J技術(shù)研發(fā)的系統(tǒng)最初被應(yīng)用于ACM/ICPC國際大學(xué)生程序設(shè)計(jì)競賽和OI信息學(xué)奧林匹克競賽,因其能夠?qū)崿F(xiàn)對多種語言編寫的程序在線評測,且提供了友好的界面和豐富的統(tǒng)計(jì)信息,現(xiàn)廣泛應(yīng)用于學(xué)生編程能力的訓(xùn)練、程序設(shè)計(jì)類課程的在線考核與測驗(yàn)、程序設(shè)計(jì)類競賽的評測與排名等[4],形成了一些特色的教學(xué)模式[5]。
QDUOJ(Qingdao University Online Judge)是為支撐青島大學(xué)程序設(shè)計(jì)類課程教學(xué)實(shí)踐與競賽訓(xùn)練而專門設(shè)計(jì)的OJ系統(tǒng),該系統(tǒng)參考了多個(gè)著名OJ平臺的功能,集成了信息學(xué)競賽的評測方式。
教學(xué)評價(jià)是推動教學(xué)研究的重要方面,是促進(jìn)教學(xué)改革的重要抓手。OJ系統(tǒng)中設(shè)計(jì)的多項(xiàng)核心指標(biāo)對于教學(xué)內(nèi)容、教學(xué)過程與教學(xué)效果的評價(jià)具有重要意義。
題目是課程、教學(xué)模塊、知識點(diǎn)的重要反映。傳統(tǒng)教學(xué)的組織,包括教師課堂授課與實(shí)驗(yàn)教學(xué)等多個(gè)環(huán)節(jié),通常以知識點(diǎn)為單位進(jìn)行劃分。在線開放課程的教學(xué)組織則更加強(qiáng)調(diào)知識的碎片化,建立在知識碎片化基礎(chǔ)上的微課是實(shí)現(xiàn)在線開放課程的基礎(chǔ)。另一方面,教學(xué)過程中知識點(diǎn)的體系化與系統(tǒng)化也是工程教育中知識圖譜或課程矩陣構(gòu)建的基礎(chǔ)。分析碎片化知識點(diǎn)間的相互關(guān)聯(lián),形成體系化的教學(xué)模塊,進(jìn)而實(shí)現(xiàn)與教材一致的教學(xué)內(nèi)容結(jié)構(gòu),有利于學(xué)習(xí)者系統(tǒng)地了解并掌握教學(xué)內(nèi)容的組織和課程進(jìn)度的安排,并能夠從整體上把握所學(xué)課程的知識與能力要求。
在QDUOJ中,除傳統(tǒng)的題目信息(包括標(biāo)題、問題描述、輸入輸出要求與示例、時(shí)間空間復(fù)雜度限制、來源等)外,還設(shè)計(jì)了題目可支持的實(shí)現(xiàn)語言(Allowed Language)、題目所屬的知識點(diǎn)標(biāo)記(Course/Blocks/Key Points)、題目難度(Dif fi culty)、評測方式(Judge Type)、參考代碼(Code Template)等指標(biāo)。其中,系統(tǒng)通過集成多種語言的編譯器,實(shí)現(xiàn)了對C、C++、Java、Python 4種程序設(shè)計(jì)類課程常用語言的支持。通過分層次的標(biāo)記實(shí)現(xiàn)與課程、教學(xué)模塊、知識點(diǎn)的銜接,教師可以使用該項(xiàng)指標(biāo)以題目的方式實(shí)現(xiàn)對課程教學(xué)內(nèi)容的組織。進(jìn)而,對不同知識點(diǎn)、教學(xué)模塊、課程,均可設(shè)置3種難度級別。通過題目標(biāo)記與難度的結(jié)合,可以實(shí)現(xiàn)對教學(xué)內(nèi)容的有機(jī)覆蓋。此外,系統(tǒng)還設(shè)計(jì)了OI和ACM兩種評測方式,前者通過逐項(xiàng)測試數(shù)據(jù)并返回評測結(jié)果,為學(xué)習(xí)者漸進(jìn)性地練習(xí)程序設(shè)計(jì)、熟悉知識點(diǎn)提供幫助,后者則通過整體性的測試數(shù)據(jù),為學(xué)習(xí)效果的評價(jià)提供支撐,而參考代碼指標(biāo)則可以為初學(xué)者提供問題解決思路。
進(jìn)而,依據(jù)對上述知識點(diǎn)、難度、語言、數(shù)量等指標(biāo)的分析和調(diào)整,可以設(shè)計(jì)有針對性、以問題求解為驅(qū)動、注重實(shí)踐的計(jì)算機(jī)類課程教學(xué)內(nèi)容體系。通過增加對應(yīng)重要知識點(diǎn)的題目數(shù)量和難度,可以引導(dǎo)學(xué)習(xí)者注重學(xué)習(xí)的重點(diǎn);通過模塊或課程完善知識點(diǎn)的覆蓋、銜接與難度設(shè)計(jì),可以實(shí)現(xiàn)教學(xué)內(nèi)容的體系化與系統(tǒng)化;通過知識點(diǎn)、難度、語言的綜合設(shè)計(jì),可以實(shí)現(xiàn)對知識圖譜與課程矩陣的支撐;通過對題目對應(yīng)知識點(diǎn)、難度、語言、數(shù)量等指標(biāo)的分布統(tǒng)計(jì),可以實(shí)現(xiàn)對教學(xué)內(nèi)容的量化評價(jià)。
提交是學(xué)習(xí)者選用特定語言編寫并上傳針對具體題目代碼的過程,該過程涉及用戶、題目兩個(gè)功能模塊,可從時(shí)間、知識點(diǎn)、難度、數(shù)量等多個(gè)角度有效反映學(xué)習(xí)者的學(xué)習(xí)過程[6]。其中,不同題目提交時(shí)間的分布可以評價(jià)學(xué)習(xí)者學(xué)習(xí)的主動性以及對不同知識點(diǎn)的興趣度,不同題目提交數(shù)量的分布可以評價(jià)學(xué)習(xí)者對于不同知識點(diǎn)的熟練度,提交對應(yīng)題目的難度分布、時(shí)間內(nèi)存消耗、代碼長度等可以評價(jià)學(xué)習(xí)者的編程水平與利用程序設(shè)計(jì)解決問題的能力。
評測是系統(tǒng)將用戶提交的代碼進(jìn)行編譯生成可執(zhí)行文件,并將其置于沙箱中,然后基于測試數(shù)據(jù)以黑盒測試的方式對其測試并返回測試結(jié)果的過程[6]。該過程的實(shí)現(xiàn)是OJ系統(tǒng)的關(guān)鍵技術(shù)問題。基本的測試結(jié)果包括編譯錯(cuò)誤(CE)、運(yùn)行錯(cuò)誤(RTE)、答案錯(cuò)誤(WA)、系統(tǒng)錯(cuò)誤(SE)、運(yùn)行超時(shí)(TLE)、運(yùn)行超內(nèi)存(MLE)、評測成功(AC)7種,而對這些結(jié)果進(jìn)行統(tǒng)計(jì)并結(jié)合提交情況還可得到特定題目是否AC、是否1K、錯(cuò)誤提交數(shù)、罰時(shí)等,還有所有題目總AC數(shù)、AC率、1K率(1次提交即評測成功)、總提交數(shù)、總耗時(shí)等?;趯@些評測結(jié)果的計(jì)算與統(tǒng)計(jì)分析,可以得到不同形式的排名,可以實(shí)現(xiàn)對學(xué)習(xí)者的成績考核,進(jìn)而可以實(shí)現(xiàn)對教學(xué)效果的量化評價(jià)。此外,在QDUOJ系統(tǒng)中,還設(shè)計(jì)實(shí)現(xiàn)了OI評測,這種評測方式對學(xué)習(xí)者漸進(jìn)地學(xué)習(xí)知識點(diǎn)具有重要作用,并可針對每個(gè)知識點(diǎn)給出測試數(shù)據(jù)的評測成績,對于量化評價(jià)教學(xué)效果具有更為直接的作用。
基于上述提交與評測結(jié)果,教師既可以實(shí)現(xiàn)對每個(gè)學(xué)習(xí)者學(xué)習(xí)全過程的縱向評價(jià),掌握每個(gè)學(xué)習(xí)者過程中的主動性、興趣度、重難點(diǎn)與能力水平等,還可以按照課程進(jìn)度針對知識點(diǎn)模塊(教學(xué)模塊或章節(jié))設(shè)置有針對性的練習(xí)或考核,通過題目數(shù)量、難度、時(shí)間等指標(biāo)的設(shè)置,對學(xué)習(xí)者進(jìn)行統(tǒng)一的訓(xùn)練或考核,進(jìn)而,可以橫向分析評價(jià)所有學(xué)習(xí)者的學(xué)習(xí)效果,為教學(xué)內(nèi)容、教學(xué)進(jìn)度的調(diào)整提供輔助。
綜上所述,基于QDUOJ核心指標(biāo)設(shè)計(jì)的上述評價(jià)方法具有面向教學(xué)過程、以學(xué)習(xí)者為中心、可量化、評測公正且響應(yīng)迅速、注重實(shí)踐與解決問題能力培養(yǎng)等典型特征,對于計(jì)算機(jī)類課程的教學(xué)組織、教學(xué)考核等具有良好的支撐作用。
研究與實(shí)踐表明,Online Judge系統(tǒng)的構(gòu)建與應(yīng)用對于程序設(shè)計(jì)類競賽與相關(guān)課程教學(xué)具有重要支撐作用。
一方面,課題組將QDUOJ應(yīng)用到了藍(lán)橋杯全國軟件和信息技術(shù)專業(yè)人才大賽、ACM程序設(shè)計(jì)競賽、中國高校計(jì)算機(jī)大賽團(tuán)體程序設(shè)計(jì)競賽、中國大學(xué)生程序設(shè)計(jì)競賽等的日常訓(xùn)練中,并基于該系統(tǒng)組織了多場旨在以賽促教、賽教結(jié)合的校級賽事,例如“易途杯”青島大學(xué)編程大賽等。在推進(jìn)學(xué)科競賽水平逐步提高的同時(shí),課題組持續(xù)完善該系統(tǒng)的指標(biāo)體系,不斷升級系統(tǒng)版本,并在開源平臺Github上進(jìn)行了發(fā)布。目前,該系統(tǒng)的前期版本已被多所院校采用(如SHU OJ,上海大學(xué)Online Judge),對這些院校的程序設(shè)計(jì)類競賽與教學(xué)起到了良好的支撐作用。
另一方面,以上述QDUOJ系統(tǒng)指標(biāo)體系的構(gòu)建為基礎(chǔ),課題組將基于Online Judge的教學(xué)評價(jià)方法應(yīng)用到青島大學(xué)計(jì)算機(jī)類課程的教學(xué)中,對于促進(jìn)課程體系建設(shè)、教學(xué)改革與研究均起到了良好的促進(jìn)作用。例如,在高級程序設(shè)計(jì)語言教學(xué)中,課題組針對新生設(shè)計(jì)了多種評測方式的在線訓(xùn)練與考核,實(shí)現(xiàn)了平時(shí)作業(yè)的自動評測與實(shí)驗(yàn)教學(xué)的量化評價(jià)。在短時(shí)間高密度集中開設(shè)的計(jì)算機(jī)創(chuàng)新創(chuàng)業(yè)實(shí)踐的教學(xué)中,課題組為選課學(xué)生設(shè)計(jì)了多套訓(xùn)練題目,要求根據(jù)每天所講內(nèi)容限時(shí)完成1套訓(xùn)練題目。每套訓(xùn)練題目既與上一套題目存在部分知識點(diǎn)的重疊,也包含對應(yīng)當(dāng)天所講知識點(diǎn)的題目。訓(xùn)練題目的難度整體上螺旋上升。授課教師每天上午講解新知識點(diǎn),下午分析最近結(jié)束的訓(xùn)練題目的評測結(jié)果,對每位學(xué)生的學(xué)習(xí)情況作出考核評價(jià),進(jìn)而安排后續(xù)課程的講解進(jìn)度以及訓(xùn)練題目的知識點(diǎn)與難度分布。最后,在課程結(jié)束時(shí),統(tǒng)計(jì)分析每位選課學(xué)生歷次訓(xùn)練的評測排名,給出加權(quán)成績,并以此作為課程最終成績。實(shí)踐表明,這種授課方式極大地調(diào)動了學(xué)生學(xué)習(xí)的積極性,深受學(xué)生的歡迎,選課學(xué)生成倍增長。
QDUOJ在程序設(shè)計(jì)類學(xué)科競賽與課程教學(xué)兩方面的應(yīng)用實(shí)踐表明,Online Judge系統(tǒng)能夠?yàn)槌绦蛟O(shè)計(jì)類課程的教學(xué)組織與在線考核提供良好的支撐,以QDUOJ為基礎(chǔ)構(gòu)建的指標(biāo)體系與教學(xué)評價(jià)方法可廣泛適用于眾多計(jì)算機(jī)類課程,形成了以學(xué)習(xí)者為中心、面向教學(xué)過程、評測公正且響應(yīng)迅速、注重實(shí)踐與解決問題能力培養(yǎng)、可量化的新型教學(xué)評價(jià)模式。