王金鵬,曹旗磊,王 涵
(山東工商學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 煙臺(tái) 264005)
程序設(shè)計(jì)基礎(chǔ)是一門(mén)實(shí)踐性很強(qiáng)的課程,傳統(tǒng)教學(xué)模式是理論課和實(shí)踐課(上機(jī))分開(kāi)上,導(dǎo)致理論和實(shí)踐脫節(jié):理論課時(shí),學(xué)生只能被動(dòng)地聽(tīng)教師講或者看教師操作,自己不能動(dòng)手實(shí)踐,“課上聽(tīng)來(lái)終覺(jué)淺”;實(shí)踐課時(shí),由于學(xué)生對(duì)知識(shí)的掌握度不同和操作進(jìn)度不同,教師又不便做統(tǒng)一、系統(tǒng)的講解,學(xué)生只能憑著在理論課上所聽(tīng)所看內(nèi)容的殘存記憶來(lái)操作,收效甚微。
傳統(tǒng)的作業(yè)方式一般是教師布置任務(wù)后由學(xué)生自行上機(jī)練習(xí),由于缺少“分?jǐn)?shù)驅(qū)動(dòng)”式的激勵(lì)措施,故學(xué)生的積極性不高,且由于缺乏有效的驗(yàn)收機(jī)制故作業(yè)完成度也不高。另外,在這種作業(yè)方式下,抄襲作業(yè)的現(xiàn)象時(shí)有發(fā)生,并非每個(gè)學(xué)生都能親自動(dòng)手上機(jī)編程,使通過(guò)作業(yè)培養(yǎng)學(xué)生動(dòng)手能力和實(shí)踐能力的目標(biāo)難以達(dá)成。同時(shí),教師對(duì)學(xué)生學(xué)習(xí)的真實(shí)情況也難以掌握。
傳統(tǒng)的考核方式是以期末考試(紙質(zhì)試卷)為主,平時(shí)成績(jī)只占很小比例,可以說(shuō)是“一考定終身”,這種考試方式存在很多弊端,如考核內(nèi)容不全面,成績(jī)的偶然性很大,難以考查學(xué)生的動(dòng)手實(shí)踐和程序調(diào)試能力,對(duì)學(xué)生平時(shí)學(xué)習(xí)缺乏過(guò)程化監(jiān)管和考核,對(duì)學(xué)習(xí)差的學(xué)生不能進(jìn)行提前預(yù)警導(dǎo)致考試結(jié)束成績(jī)不理想時(shí)已無(wú)可挽回等。
鑒于上述問(wèn)題,有必要對(duì)程序設(shè)計(jì)基礎(chǔ)的授課模式、作業(yè)方式和成績(jī)考核方式進(jìn)行改革,以提高教學(xué)效果。
為解決理論和實(shí)踐脫節(jié)問(wèn)題,可采用邊講邊練的教學(xué)模式[1]。所謂邊講邊練,就是在機(jī)房?jī)?nèi)授課,學(xué)生人手一機(jī),教師根據(jù)需要可以隨時(shí)講述理論知識(shí),也可以隨時(shí)讓學(xué)生動(dòng)手實(shí)踐,兩種授課模式任意切換。這種教學(xué)模式不僅將理論和實(shí)踐有機(jī)地結(jié)合起來(lái),而且還可使教師實(shí)時(shí)地了解學(xué)生對(duì)知識(shí)的掌握情況,便于調(diào)節(jié)講課進(jìn)度和授課計(jì)劃。
采用一種基于Online Judge(簡(jiǎn)稱OJ)系統(tǒng)的作業(yè)方式[2],可有效解決傳統(tǒng)作業(yè)方式所存在的諸多的問(wèn)題。
OJ 是一種廣泛用于大學(xué)生程序設(shè)計(jì)競(jìng)賽的在線評(píng)判系統(tǒng),也叫ACM 在線評(píng)測(cè)系統(tǒng)[3],基于B/S 結(jié)構(gòu)實(shí)現(xiàn)[4]。在OJ 平臺(tái)上,參加比賽的隊(duì)員可通過(guò)網(wǎng)絡(luò)在系統(tǒng)中閱讀題目、編制代碼提交并查看運(yùn)行結(jié)果是否正確。
基于OJ 的作業(yè)方式,是由教師在OJ 平臺(tái)上編制題目并布置作業(yè),學(xué)生可隨時(shí)隨地通過(guò)網(wǎng)絡(luò)登錄系統(tǒng)做題。這種作業(yè)方式的好處是學(xué)生提交的代碼是否正確可實(shí)時(shí)在線評(píng)判,若結(jié)果不正確可以修改代碼重新提交,直至正確為止,每次提交結(jié)果都有記錄。借助OJ 平臺(tái),教師可以準(zhǔn)確地掌握任何一名學(xué)生任何一次作業(yè)中的任何一題的完成情況(對(duì)于抄襲代碼,系統(tǒng)有相似度檢測(cè),教師也可以人工查看代碼)。
采用基于OJ 的作業(yè)方式,可有效提高學(xué)生的動(dòng)手編程能力和程序調(diào)試能力。傳統(tǒng)作業(yè)方式下,很難保證每個(gè)學(xué)生都能通過(guò)上機(jī)編程來(lái)完成作業(yè),更勿論程序調(diào)試了,而在OJ 平臺(tái)上,只有親自動(dòng)手編程并調(diào)試出正確結(jié)果,方能提交代碼并被系統(tǒng)接受。
采用基于OJ 的作業(yè)方式,可有效提高學(xué)生做作業(yè)的主動(dòng)性和積極性。新的作業(yè)方式可結(jié)合“分?jǐn)?shù)驅(qū)動(dòng)”的過(guò)程化考核方式(即每一題都按一定的分值計(jì)入期末總分),在每次作業(yè)后都實(shí)時(shí)公布每個(gè)學(xué)生的累計(jì)成績(jī),并且由于OJ 系統(tǒng)中有按做題數(shù)量排名的功能,故極易在學(xué)生中形成你追我趕、爭(zhēng)先恐后的良好風(fēng)氣。
采用基于OJ 的作業(yè)方式,可有效解決作業(yè)完成度不高的問(wèn)題。在傳統(tǒng)的作業(yè)方式下,作業(yè)完成度不高主要原因是學(xué)生自身具有惰性,而教師又因?yàn)闆](méi)有有效的驗(yàn)收手段而無(wú)法確定督促對(duì)象。在基于OJ 的作業(yè)方式下,每個(gè)學(xué)生對(duì)每個(gè)題目的完成情況教師都可隨時(shí)在OJ 上查看,一目了然,對(duì)于作業(yè)完成情況不好的學(xué)生教師可隨時(shí)進(jìn)行督促。
基于OJ 的作業(yè)方式,還可以結(jié)合本文后面介紹的考核方式,對(duì)學(xué)生學(xué)習(xí)情況進(jìn)行過(guò)程化監(jiān)控和即時(shí)預(yù)警。
考核方式的改革主要體現(xiàn)在新的考核方式增加了對(duì)平時(shí)學(xué)習(xí)的過(guò)程化考核和對(duì)學(xué)生動(dòng)手實(shí)踐能力的考核兩方面的內(nèi)容。
2.3.1 對(duì)平時(shí)學(xué)習(xí)的過(guò)程化考核
將平時(shí)作業(yè)計(jì)入期末總分。結(jié)合基于OJ 的作業(yè)方式,規(guī)定平時(shí)作業(yè)中的每個(gè)題(含測(cè)驗(yàn)中的題目)都占一定的分值,計(jì)入期末總成績(jī)(約占總成績(jī)的30%)。
將原來(lái)的1 學(xué)期考1 次改為1 學(xué)期考3 次。把1 學(xué)期的授課時(shí)間分成3 個(gè)階段,每一階段進(jìn)行1 次機(jī)考,3 次機(jī)考成績(jī)共占期末總成績(jī)的70%。
每次作業(yè)、測(cè)驗(yàn)和考試之后,都把學(xué)生所得的分值(績(jī)點(diǎn))記錄在冊(cè),用Excel 表格的形式公布于眾,學(xué)生可以查看自己每次的得分和總績(jī)點(diǎn),實(shí)時(shí)掌握自己的學(xué)習(xí)情況。
采用上述兩項(xiàng)措施的目的是增加過(guò)程化評(píng)價(jià)環(huán)節(jié),盡量降低偶然性的影響,使考查的知識(shí)點(diǎn)更多,考核更全面、更合理;使學(xué)生對(duì)自己平時(shí)學(xué)習(xí)情況更了解并可即時(shí)預(yù)警;使教師在督促或激勵(lì)學(xué)生時(shí)有的放矢。
2.3.2 對(duì)動(dòng)手實(shí)踐能力的考核
程序設(shè)計(jì)基礎(chǔ)旨在培養(yǎng)學(xué)生的計(jì)算思維能力、動(dòng)手編程能力和程序調(diào)試能力[5],紙質(zhì)試卷難以對(duì)上述能力進(jìn)行全面有效的考核。將紙質(zhì)考試改為上機(jī)考試的好處是能夠?qū)W(xué)生動(dòng)手編程和程序調(diào)試的能力進(jìn)行有效考核。
山東工商學(xué)院對(duì)程序設(shè)計(jì)基礎(chǔ)課程的教學(xué)改革始于2010 年,2010 年首創(chuàng)邊講邊練教學(xué)法并踐行至今,2012 年在計(jì)算機(jī)科學(xué)與技術(shù)(簡(jiǎn)稱計(jì)科)專業(yè)實(shí)行新的基于OJ 系統(tǒng)的作業(yè)方式,2014 年推廣到全部6 個(gè)專業(yè),同時(shí)開(kāi)始采用1學(xué)期3 次機(jī)考、結(jié)合平時(shí)成績(jī)?cè)u(píng)定總成績(jī)的考核方式。
為了更好地推進(jìn)教學(xué)改革,2014 年,在借鑒兄弟院校OJ 系統(tǒng)的基礎(chǔ)上開(kāi)發(fā)了本校的OJ 系統(tǒng)以及“程序設(shè)計(jì)基礎(chǔ)考試系統(tǒng)”。
“程序設(shè)計(jì)基礎(chǔ)考試系統(tǒng)”可用于平時(shí)作業(yè)和考試,目前已穩(wěn)定使用4 年。系統(tǒng)支持選擇、填空、判斷、程序填空、編程等題型。目前,系統(tǒng)中有用于平時(shí)練習(xí)的題目約1 500 題,用于考試的題目約800 題,題庫(kù)可進(jìn)行增、刪、查、改等操作。系統(tǒng)還支持手動(dòng)出題和隨機(jī)抽題兩種組卷方式,學(xué)生交卷時(shí)可立即看到考試成績(jī),并能對(duì)考試成績(jī)進(jìn)行分類(lèi)統(tǒng)計(jì)分析。表1、表2 分別是考試之后的成績(jī)統(tǒng)計(jì)分析、各知識(shí)點(diǎn)得分率。
針對(duì)作業(yè)當(dāng)中出現(xiàn)的抄襲代碼或提供代碼給別人的行為,筆者在OJ 平臺(tái)中加入了代碼相似度檢測(cè)功能,該功能可檢測(cè)出任何一份代碼與以往每一份代碼的相似度,并給出最高相似度及所對(duì)應(yīng)的代碼,教師可根據(jù)相似度并結(jié)合人工查看代碼的方式?jīng)Q定是否對(duì)學(xué)生進(jìn)行判罰。
表1 計(jì)科18 級(jí)第2 次考試成績(jī)統(tǒng)計(jì)分析
表2 計(jì)科18 級(jí)第2 次考試選擇題得分率統(tǒng)計(jì)
上述改革措施是在不斷摸索、實(shí)踐、總結(jié)的基礎(chǔ)上逐漸成形的,是在計(jì)科專業(yè)首先實(shí)施,并在近幾年開(kāi)始向其他專業(yè)推廣,但目前其他專業(yè)采用的措施并不徹底(因各種原因部分措施未實(shí)施),也不成熟。計(jì)科專業(yè)由于起步較早,做法更徹底,已經(jīng)形成了一套固定的模式和優(yōu)良學(xué)風(fēng)的傳承,故計(jì)科專業(yè)的教學(xué)水平與其他專業(yè)的教學(xué)水平相比已形成了較大優(yōu)勢(shì),表3 是2014 年實(shí)行各專業(yè)統(tǒng)一考試以來(lái)計(jì)科專業(yè)與其他專業(yè)的平均成績(jī)對(duì)比,從中可以看出新的教學(xué)模式、作業(yè)方式和考核方式具有壓倒性優(yōu)勢(shì)。
新的教學(xué)模式、教學(xué)方法應(yīng)用之后,學(xué)生的學(xué)習(xí)成績(jī)和學(xué)習(xí)興趣都有了顯著提高,學(xué)生參加各種競(jìng)賽或考試(ACM 競(jìng)賽、全國(guó)藍(lán)橋杯比賽、考研復(fù)試等)的成績(jī)都有了突破性進(jìn)步,畢業(yè)生質(zhì)量更是迎來(lái)了令人驚喜的改變,近幾年計(jì)科專業(yè)的本科畢業(yè)生頻頻被百度、360、趨勢(shì)科技、餓了么、蘑菇街、鏈家等公司錄用,這些標(biāo)志著基于Online Judge 教學(xué)法的程序設(shè)計(jì)基礎(chǔ)教學(xué)水平得到社會(huì)的廣泛認(rèn)可。
表3 歷次考試計(jì)科專業(yè)與其他專業(yè)平均成績(jī)對(duì)比
研究和實(shí)踐表明,邊講邊練授課模式可有效解決理論和實(shí)踐脫節(jié)問(wèn)題,基于Online Judge 的作業(yè)方式和考核方式,可有效提高學(xué)生的動(dòng)手實(shí)踐能力和程序調(diào)試能力,提高學(xué)生編程的興趣和積極性,可對(duì)學(xué)生平時(shí)學(xué)習(xí)進(jìn)行過(guò)程化評(píng)價(jià),使成績(jī)考核更合理,還可使教師更好地掌握學(xué)生的學(xué)習(xí)情況,所有這些,對(duì)于提高學(xué)生的學(xué)習(xí)成績(jī)和程序設(shè)計(jì)基礎(chǔ)課程的教學(xué)水平都有巨大的作用。