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