王榮芝
(呼倫貝爾學(xué)院 計(jì)算機(jī)學(xué)院,內(nèi)蒙古 呼倫貝爾 021008)
程序設(shè)計(jì)類課程是高校計(jì)算機(jī)相關(guān)專業(yè)開(kāi)設(shè)的基礎(chǔ)性課程,主要有C、C++、Java、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)與分析等,旨在培養(yǎng)學(xué)生扎實(shí)的程序設(shè)計(jì)能力、良好的邏輯思維能力和一定的研究能力和創(chuàng)新能力。程序設(shè)計(jì)能力的強(qiáng)弱是檢驗(yàn)軟件類畢業(yè)生是否合格的重要標(biāo)準(zhǔn)。程序設(shè)計(jì)類課程實(shí)踐性非常強(qiáng),傳統(tǒng)以語(yǔ)言語(yǔ)法描述為主線的教學(xué)方式、模式化的實(shí)驗(yàn)內(nèi)容,使教學(xué)重點(diǎn)自覺(jué)或不自覺(jué)地偏向理論,降低了對(duì)學(xué)生實(shí)踐能力的有效監(jiān)管和考核,無(wú)法充分鍛煉和提高學(xué)生的程序設(shè)計(jì)能力,這一問(wèn)題在后序的軟件工程實(shí)踐類課程會(huì)進(jìn)一步彰顯,嚴(yán)重阻礙了學(xué)生的專業(yè)發(fā)展。
在線評(píng)測(cè)系統(tǒng)(Online Judge,簡(jiǎn)稱OJ)是一種基于Web的軟件系統(tǒng),其主要功能包括題庫(kù)管理、在線提交和實(shí)時(shí)評(píng)測(cè)、網(wǎng)上考試、論壇、系統(tǒng)監(jiān)控和管理等。該系統(tǒng)源于國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(ICPC),是服務(wù)于ICPC競(jìng)賽的評(píng)測(cè)和練習(xí)平臺(tái)。ICPC在國(guó)內(nèi)備受關(guān)注,每年各省區(qū)、高校都舉辦各類級(jí)別的競(jìng)賽,為學(xué)生提供展示才華的舞臺(tái),也為IT企業(yè)和計(jì)算機(jī)人才提供了對(duì)話機(jī)會(huì)[1]。該競(jìng)賽要求參賽學(xué)生具有扎實(shí)的程序設(shè)計(jì)能力、良好的數(shù)學(xué)功底和數(shù)學(xué)建模能力、較強(qiáng)的團(tuán)隊(duì)協(xié)作能力和壓力下分析、解決問(wèn)題的能力。
自20世紀(jì)90年代,隨著信息技術(shù)的發(fā)展,E-Learning在教育領(lǐng)域得到迅速的應(yīng)用和推廣,促進(jìn)了教育理念和教學(xué)模式的革新,打破了傳統(tǒng)課堂的時(shí)空限制,徹底改變了傳統(tǒng)教學(xué)結(jié)構(gòu)中的師生關(guān)系和地位,使教學(xué)從以教為主向以學(xué)為主轉(zhuǎn)變,在培養(yǎng)學(xué)習(xí)者自主學(xué)習(xí)能力、探究能力和創(chuàng)新能力等方面表現(xiàn)出了巨大的優(yōu)勢(shì)。然而,在E-Learning應(yīng)用實(shí)踐過(guò)程中,也存在許多不足,如網(wǎng)絡(luò)教學(xué)對(duì)動(dòng)作技能類目標(biāo)教學(xué)效果不太理想,網(wǎng)絡(luò)學(xué)習(xí)受限于學(xué)習(xí)者的自控能力等。由于學(xué)習(xí)過(guò)程缺乏監(jiān)管,網(wǎng)絡(luò)評(píng)價(jià)真實(shí)性存疑,因此其學(xué)習(xí)效果無(wú)法跟傳統(tǒng)課堂教學(xué)相比擬[2]。為此,人們提出了混合學(xué)習(xí)的概念,其目的是把傳統(tǒng)學(xué)習(xí)的優(yōu)勢(shì)和E-Learning的優(yōu)勢(shì)結(jié)合起來(lái),既要發(fā)揮教師引導(dǎo)、啟發(fā)、監(jiān)控教學(xué)過(guò)程的主導(dǎo)作用,又要激發(fā)學(xué)生作為學(xué)習(xí)主體的主動(dòng)性、積極性和創(chuàng)造性。只有將這二者有機(jī)結(jié)合起來(lái),形成優(yōu)勢(shì)互補(bǔ),才能獲得最佳的學(xué)習(xí)效果[3]。在形式上,混合學(xué)習(xí)是在線學(xué)習(xí)與面對(duì)面學(xué)習(xí)的混合,但從廣義的層次來(lái)說(shuō),還包括了基于建構(gòu)主義、行為主義、認(rèn)知主義等不同教學(xué)理論的教學(xué)模式的混合、教師主體活動(dòng)和學(xué)生主體活動(dòng)的混合、課堂教學(xué)與在線學(xué)習(xí)不同學(xué)習(xí)環(huán)境的混合、自主學(xué)習(xí)和協(xié)作學(xué)習(xí)不同學(xué)習(xí)方式的混合、不同教學(xué)媒體和教學(xué)資源的混合等?;旌蠈W(xué)習(xí)原理的核心就是強(qiáng)調(diào)教師主導(dǎo)作用和學(xué)生主體地位的有機(jī)統(tǒng)一,始終關(guān)注兩者的自主性、創(chuàng)造性,在教學(xué)中根據(jù)不同情況、不同問(wèn)題和要求,采用不同的教學(xué)方式來(lái)解決問(wèn)題,從而有效提高學(xué)生學(xué)習(xí)的效果和效率[4]。
混合學(xué)習(xí)是一種以學(xué)習(xí)者為中心,基于一定的教學(xué)目標(biāo),把傳統(tǒng)的面對(duì)面課堂教學(xué)與現(xiàn)代的網(wǎng)絡(luò)學(xué)習(xí)有機(jī)地融合,實(shí)現(xiàn)學(xué)習(xí)目標(biāo)最優(yōu)化的教學(xué)模式[5]。隨著信息技術(shù)及移動(dòng)網(wǎng)絡(luò)的飛速發(fā)展,許多高校在教學(xué)中都應(yīng)用了網(wǎng)絡(luò)課程或MOOC,課程內(nèi)容包括教學(xué)短視頻、PPT、作業(yè)提交與批閱、題庫(kù)、測(cè)試、論壇等,網(wǎng)絡(luò)學(xué)習(xí)成為課堂教學(xué)的擴(kuò)展和有益補(bǔ)充,與課堂教學(xué)結(jié)合成為混合學(xué)習(xí)的基本形式。程序設(shè)計(jì)類課程實(shí)踐性非常強(qiáng),不但要求學(xué)生掌握理論知識(shí),更要鍛煉提高學(xué)生的編程實(shí)踐能力,但網(wǎng)絡(luò)課程不具備實(shí)訓(xùn)功能,無(wú)法達(dá)到該類課程的學(xué)習(xí)目標(biāo)。在線評(píng)測(cè)系統(tǒng)在實(shí)踐訓(xùn)練方面獨(dú)具優(yōu)勢(shì),是開(kāi)展程序設(shè)計(jì)類課程混合學(xué)習(xí)模式的最佳選擇。OJ是一種基于Web的自動(dòng)判題系統(tǒng),用戶根據(jù)題目要求編寫程序,在線提交程序源代碼,由系統(tǒng)對(duì)源代碼進(jìn)行編譯和運(yùn)行,通過(guò)預(yù)先設(shè)定的測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果進(jìn)行比對(duì)來(lái)檢驗(yàn)源代碼編寫的正確性。為考查算法的優(yōu)劣,題目設(shè)計(jì)者可以對(duì)程序進(jìn)行內(nèi)存使用、運(yùn)行時(shí)間和安全等限制。系統(tǒng)將檢驗(yàn)結(jié)果返回給用戶,一般包括正確、答案錯(cuò)誤、編譯錯(cuò)誤、超時(shí)、運(yùn)行錯(cuò)誤、超內(nèi)存等[6]。
OJ的優(yōu)勢(shì)主要有:①基于互聯(lián)網(wǎng)的開(kāi)放性,系統(tǒng)搭建后無(wú)需人工操作,學(xué)生可以隨時(shí)登錄提交編程,系統(tǒng)自動(dòng)評(píng)測(cè),及時(shí)反饋,學(xué)生能夠立即看到結(jié)果,對(duì)錯(cuò)分明;②保證評(píng)測(cè)結(jié)果的公平性,避免人為批閱出現(xiàn)的漏評(píng)、錯(cuò)評(píng);③將教師從繁重的批改作業(yè)中解放出來(lái),可以更專注于課堂教學(xué)設(shè)計(jì)、學(xué)習(xí)指導(dǎo)及課下學(xué)習(xí)活動(dòng)和任務(wù)的設(shè)計(jì);④提高學(xué)生的學(xué)習(xí)興趣,學(xué)生通過(guò)刷題,不斷提高編程技能,解題排名隨之上升,容易產(chǎn)生成就感,進(jìn)一步激勵(lì)學(xué)生完成更多的題目。
混合教學(xué)模式的設(shè)計(jì)要突破各種界限,將多項(xiàng)內(nèi)容有機(jī)融合,以達(dá)到有效提高學(xué)生學(xué)習(xí)效率和效果的根本目標(biāo)。程序設(shè)計(jì)類課程混合學(xué)習(xí)設(shè)計(jì)中并非因OJ的引入而拋棄其他網(wǎng)絡(luò)資源,而是將各種資源有機(jī)融合,發(fā)揮各自所長(zhǎng),形成促進(jìn)學(xué)習(xí)的不同手段和形式?;诖?,筆者設(shè)計(jì)了基于OJ的程序設(shè)計(jì)課程混合學(xué)習(xí)模式(如圖1所示)。該模式整合了傳統(tǒng)多媒體課堂教學(xué)、基于網(wǎng)絡(luò)MOOC學(xué)習(xí)和課外活動(dòng)3種學(xué)習(xí)形式,同時(shí)還整合了各種教學(xué)資源和多樣化的學(xué)習(xí)模式,如課堂學(xué)習(xí)、自主學(xué)習(xí)、小組學(xué)習(xí)、任務(wù)驅(qū)動(dòng)、協(xié)作項(xiàng)目實(shí)踐活動(dòng)、第二課堂興趣小組、學(xué)科競(jìng)賽等,形成了一個(gè)完整教與學(xué)活動(dòng)的混合。在模式中,OJ作為重要的教學(xué)環(huán)境并非只支持課堂之外的學(xué)習(xí),還將與課程緊密結(jié)合支持課堂教學(xué)和課外活動(dòng),使混合學(xué)習(xí)成為一個(gè)有機(jī)的整體。在課堂教學(xué)中,教師通過(guò)OJ驗(yàn)證教學(xué)案例,布置課堂訓(xùn)練題目;在網(wǎng)絡(luò)學(xué)習(xí)中,學(xué)生通過(guò)OJ完成課下作業(yè)和擴(kuò)展訓(xùn)練;學(xué)有余力的學(xué)生還可以通過(guò)OJ組成程序設(shè)計(jì)興趣小組進(jìn)行高級(jí)培訓(xùn)和開(kāi)展競(jìng)賽。OJ還可以進(jìn)一步與MOOC資源進(jìn)行整合,構(gòu)成綜合性的網(wǎng)絡(luò)課程平臺(tái),更好地為師生服務(wù)。
圖1 程序設(shè)計(jì)類課程混合學(xué)習(xí)模式
在校園服務(wù)器中搭建OJ,根據(jù)課程知識(shí)點(diǎn)加入由易至難的測(cè)試題庫(kù)。將在線評(píng)測(cè)平臺(tái)與網(wǎng)絡(luò)課程或MOOC資源進(jìn)行整合,提供一站式服務(wù),學(xué)生登錄系統(tǒng)可以學(xué)習(xí)課程資源也可以在線提交編程。為保證系統(tǒng)穩(wěn)定運(yùn)行,教師要對(duì)系統(tǒng)進(jìn)行監(jiān)管,并定期備份數(shù)據(jù)庫(kù),保證后臺(tái)數(shù)據(jù)庫(kù)的負(fù)載和數(shù)據(jù)存儲(chǔ)的安全。初期加入程序設(shè)計(jì)基礎(chǔ)課程題庫(kù),后期逐步加入數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)與分析、程序設(shè)計(jì)競(jìng)賽等題目。教師將課堂教學(xué)案例、學(xué)生課上課下實(shí)訓(xùn)與OJ有機(jī)結(jié)合,課堂的每個(gè)案例,在OJ平臺(tái)中都有與其知識(shí)點(diǎn)對(duì)應(yīng)的練習(xí)題目及大量的擴(kuò)展題目,學(xué)生課上完成基本練習(xí),課下進(jìn)行鞏固和擴(kuò)展練習(xí),有效保證了對(duì)課程知識(shí)的掌握和應(yīng)用。
將傳統(tǒng)多媒體課堂教學(xué)、網(wǎng)絡(luò)學(xué)習(xí)和課外活動(dòng)3種學(xué)習(xí)形式有機(jī)融合、統(tǒng)一設(shè)計(jì),課堂教學(xué)內(nèi)容的組織摒棄傳統(tǒng)以語(yǔ)言知識(shí)講解為主的形式,教學(xué)內(nèi)容遵循兩條主線,以程序設(shè)計(jì)為主,語(yǔ)言知識(shí)為輔;采用多媒體機(jī)房授課,課堂教學(xué)以案例式為主。教師精心設(shè)計(jì)案例,將知識(shí)點(diǎn)融合于案例中,每個(gè)案例的知識(shí)點(diǎn)在OJ平臺(tái)都有3~5道配套練習(xí)題,題目是由易到難、由單一知識(shí)點(diǎn)到多個(gè)知識(shí)點(diǎn)的綜合;提倡教師精講學(xué)生多練,重視學(xué)生的課前預(yù)習(xí)和課下訓(xùn)練,課前可以通過(guò)MOOC學(xué)習(xí)讓學(xué)生初步了解知識(shí),通過(guò)課堂案例進(jìn)一步理解和應(yīng)用,再通過(guò)課下練習(xí)不斷鞏固和熟練掌握。學(xué)生的課下訓(xùn)練以O(shè)J平臺(tái)為主,除完成固定的作業(yè)題目外,提倡學(xué)生通過(guò)探究和協(xié)作完成更多更復(fù)雜的題目,讓學(xué)生體驗(yàn)解決問(wèn)題的成就感,逐步對(duì)編程產(chǎn)生興趣,形成學(xué)習(xí)的內(nèi)驅(qū)力,從而有效并長(zhǎng)效地進(jìn)行學(xué)習(xí)。成立ACM第二課堂興趣小組,聘請(qǐng)學(xué)院教師做導(dǎo)師,有經(jīng)驗(yàn)的高年級(jí)學(xué)生擔(dān)任組長(zhǎng),招募和選拔成績(jī)優(yōu)異的學(xué)生加入興趣小組,組織月賽、講座和算法討論會(huì),進(jìn)一步提高學(xué)生編程的能力和解決問(wèn)題的能力。每年由學(xué)校組織舉辦一次校級(jí)競(jìng)賽,選拔成績(jī)優(yōu)秀的學(xué)生代表學(xué)校參加省級(jí)競(jìng)賽,參賽選手通過(guò)與其他高校的參賽隊(duì)同場(chǎng)競(jìng)爭(zhēng),提高自信、增長(zhǎng)見(jiàn)識(shí),為將來(lái)的良好就業(yè)奠定了基礎(chǔ)。學(xué)校通過(guò)獎(jiǎng)勵(lì)獲得榮譽(yù)的學(xué)生,進(jìn)一步激發(fā)大家的學(xué)習(xí)興趣,鼓勵(lì)更多的同學(xué)通過(guò)OJ交流學(xué)習(xí),形成教學(xué)的良性循環(huán)。
為達(dá)到程序設(shè)計(jì)類課程的知識(shí)、能力和素質(zhì)目標(biāo),教師在教學(xué)中將多種教與學(xué)的方法有機(jī)融合,在混合學(xué)習(xí)框架內(nèi)采用的教學(xué)方法有案例式教學(xué)法、發(fā)現(xiàn)式教學(xué)法、任務(wù)驅(qū)動(dòng)式教學(xué)法,自主探究式學(xué)習(xí)法、協(xié)作學(xué)習(xí)法等。課堂教學(xué)以案例式教學(xué)為主,將知識(shí)點(diǎn)融于生動(dòng)案例中,以提出問(wèn)題、分析問(wèn)題、解決問(wèn)題的思路調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性,以小結(jié)的方式總結(jié)案例的知識(shí)要點(diǎn),讓學(xué)生既掌握思路方法又掌握原理;學(xué)生實(shí)訓(xùn)采用任務(wù)驅(qū)動(dòng)模式,在OJ布置任務(wù)由學(xué)生獨(dú)立編程提交。在任務(wù)的驅(qū)使下,學(xué)生邊學(xué)習(xí)邊實(shí)踐,充分發(fā)揮學(xué)生的主動(dòng)性和創(chuàng)造性。為保障學(xué)生對(duì)知識(shí)點(diǎn)的有效掌握,課程組設(shè)計(jì)了課堂案例、課堂練習(xí)及課下作業(yè)一體化的題目體系,形成由簡(jiǎn)到難、由點(diǎn)到面的知識(shí)學(xué)習(xí)進(jìn)程。例如,針對(duì)循環(huán)的學(xué)習(xí),課堂案例為:求sum=1+2+3+…n的和。練習(xí)題目為:①求sum=1+1/2+1/3+1/4+…+1/n;②sum=1+1/3+1/5+…的前n項(xiàng)之和。課下任務(wù)為:①1-1/4+1/7-1/10+1/13-1/16+…的前n項(xiàng)之和;②求sum= 1-2/3+3/5-4/7+5/9-6/11+…的前n項(xiàng)之和。學(xué)生從案例模仿入手,先了解循環(huán)語(yǔ)句的基本功能和結(jié)構(gòu),再通過(guò)練習(xí)題目修改循環(huán)條件、循環(huán)體語(yǔ)句掌握循環(huán)的知識(shí)要點(diǎn),最后通過(guò)完成課下任務(wù)達(dá)到對(duì)循環(huán)知識(shí)的融會(huì)貫通。不僅讓學(xué)生親身感受認(rèn)知的過(guò)程,而且通過(guò)題目難度的不斷提高進(jìn)一步激發(fā)學(xué)生的學(xué)習(xí)興趣和積極性,激發(fā)學(xué)生更加強(qiáng)烈的解題欲望,從而培養(yǎng)和提高學(xué)生解決實(shí)際問(wèn)題能力和創(chuàng)新意識(shí)。在課下任務(wù)的完成上,既倡導(dǎo)自主探究,又贊同協(xié)作學(xué)習(xí),針對(duì)難題,同學(xué)間相互討論、相互啟發(fā)、取長(zhǎng)補(bǔ)短,共同完成任務(wù)。在學(xué)習(xí)的過(guò)程中促進(jìn)良好人際關(guān)系和協(xié)作精神的培養(yǎng),進(jìn)而促進(jìn)形成良好的班風(fēng)、學(xué)風(fēng)。
程序設(shè)計(jì)課程的學(xué)習(xí)目標(biāo)是掌握編程語(yǔ)言的語(yǔ)法規(guī)則、程序設(shè)計(jì)的基本原理與方法,培養(yǎng)扎實(shí)的程序設(shè)計(jì)能力、良好的邏輯思維模式,并具備一定的自主探究能力、合作能力和創(chuàng)新能力。為有效發(fā)揮考試的檢測(cè)作用和對(duì)教學(xué)的促進(jìn)作用,以C語(yǔ)言程序設(shè)計(jì)課程為例,課程采用了“分階段+多種形式”的考核方式。將診斷性評(píng)價(jià)、過(guò)程性評(píng)價(jià)和總結(jié)性評(píng)價(jià)貫穿于整個(gè)課程混合學(xué)習(xí)活動(dòng)過(guò)程中,以全面檢測(cè)學(xué)習(xí)者的學(xué)習(xí)水平和能力。具體課程考試方案如表1,課程總評(píng)成績(jī)由平時(shí)考核、階段考核和結(jié)課考核3部分組成:平時(shí)考核以課堂表現(xiàn)、OJ平臺(tái)月解題數(shù)量和MOOC學(xué)習(xí)效果為主,鼓勵(lì)學(xué)生課前預(yù)習(xí)、平時(shí)多做題,通過(guò)量的積累達(dá)到質(zhì)的升華;階段考核為基于OJ平臺(tái)的在線編程測(cè)試,分別安排在選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和數(shù)組3個(gè)模塊后,針對(duì)每個(gè)模塊知識(shí)點(diǎn)測(cè)試4~5個(gè)題目;結(jié)課考核為整合客觀題與編程題于一體的上機(jī)綜合考試,客觀題主要包括選擇、填空、判斷類題目,課程組建立題庫(kù),抽取考題網(wǎng)上考試,自動(dòng)評(píng)分。設(shè)置該類考試的目的是為保障學(xué)生對(duì)原理知識(shí)理解掌握的系統(tǒng)化、全面化,避免過(guò)于強(qiáng)化OJ平臺(tái)導(dǎo)致學(xué)生對(duì)某些知識(shí)一知半解,不能全面掌握。
表1 C語(yǔ)言程序設(shè)計(jì)課程考試方案
基于在線評(píng)測(cè)系統(tǒng)的程序設(shè)計(jì)類課程混合學(xué)習(xí)模式在應(yīng)用后一定程度上能解決該類課程重理論輕實(shí)踐的弊端,為學(xué)生提供在線學(xué)習(xí)體驗(yàn),提高了學(xué)生的實(shí)踐動(dòng)力能力,給師生提供更多教與學(xué)的自由,并提升了網(wǎng)絡(luò)時(shí)代教師的教學(xué)能力和學(xué)生的學(xué)習(xí)能力。該混合學(xué)習(xí)模式是基于目前程序設(shè)計(jì)自動(dòng)評(píng)判系統(tǒng)和高校大量開(kāi)發(fā)和應(yīng)用的MOOC等網(wǎng)絡(luò)課程來(lái)考慮,重點(diǎn)探討程序設(shè)計(jì)類課程混合學(xué)習(xí)模式的實(shí)施形式、內(nèi)容、方法和評(píng)價(jià)策略,對(duì)理科實(shí)踐類課程具有一定的指導(dǎo)性,可參照此混合學(xué)習(xí)模式,結(jié)合各課程特點(diǎn),開(kāi)展高校混合學(xué)習(xí)實(shí)踐。