劉 穎 薛韡 王亞麗 張 震 鹿玉紅 欒俊華
(防災(zāi)科技學(xué)院信息工程學(xué)院,河北 三河 065201)
C語言程序設(shè)計課程的教學(xué)目的是使學(xué)生在掌握C語言程序設(shè)計的基本語法規(guī)則、基本概念的基礎(chǔ)上,逐步培養(yǎng)學(xué)生建立編寫程序設(shè)計的思維和掌握編寫程序的方法。C 語言程序設(shè)計課程的特點是語法規(guī)則繁多瑣碎,基本概念抽象,對部分學(xué)生尤其是沒有建立編程思維的學(xué)生來說難度較大。此外,由于傳統(tǒng)理論教學(xué)以老師的講解為主,沒有以學(xué)生為中心,學(xué)生很容易產(chǎn)生厭學(xué)心理。實驗教學(xué)環(huán)節(jié),由于實驗學(xué)時有限,實驗課僅能完成基礎(chǔ)編程的訓(xùn)練,遇到實際問題,學(xué)生往往不知如何下手,容易產(chǎn)生畏難情緒,從而喪失學(xué)習(xí)的興趣和自信心。因此,利用當(dāng)前種類繁多的課程資源平臺對該課程開展理論與實驗的教學(xué)安排能夠有效排除這些弊端。
(1)有助于提升學(xué)生的自主學(xué)習(xí)能力
學(xué)生為了完成相關(guān)工作任務(wù),在教師監(jiān)督下,發(fā)揮主觀能動性,充分利用雨課堂中和OJ 平臺上的線上資源自主學(xué)習(xí)、動手編程,有助于提升學(xué)生的自主和探究能力。
(2)以教師為中心向以學(xué)生為中心的教學(xué)模式轉(zhuǎn)變
雨課堂的教學(xué)模式課堂上強調(diào)以學(xué)生為中心,學(xué)生從被動參與變成主動參與,從以教師為中心向以學(xué)生為中心轉(zhuǎn)變。且在教學(xué)過程中,學(xué)生通過線上預(yù)習(xí)學(xué)習(xí)資源的方式,掌握了C語言程序設(shè)計的基本語法規(guī)則,因而教師有更多的時間在課堂上分析實際案例,通過對實際案例的分析與講解,既激發(fā)了學(xué)生學(xué)習(xí)的興趣,又提高了學(xué)生解決問題的能力。
(3)有利于幫助學(xué)生建立編程思維,提高學(xué)生的編程水平
C語言程序設(shè)計是以培養(yǎng)學(xué)生的程序設(shè)計能力為目標(biāo),平時多練習(xí)編寫程序能幫助學(xué)生建立編程思維,提高編程能力。傳統(tǒng)的教學(xué)方式,學(xué)生做的程序練習(xí)題目數(shù)量極其有限,而且通過老師評判才知正誤。很多情況下教師都不能及時給出評判,由于不能及時得到評判結(jié)果,也會使學(xué)生逐漸喪失探索的興趣。OJ網(wǎng)上在線判題系統(tǒng)中有大量的編程題目,通過教師推送給學(xué)生,學(xué)生做完題目,判題系統(tǒng)馬上反饋正誤,正確時學(xué)生的自信心得到提升,錯誤時也可以使學(xué)生及時得知自己的問題所在并及時糾正。這樣的反復(fù)實踐使學(xué)生的編程能力得到了加強,編程水平得到快速提升。
雨課堂是清華大學(xué)和學(xué)堂在線共同推出的新型智慧教學(xué)解決方案。學(xué)生可以使用電腦和手機(jī)登錄學(xué)習(xí)。教師則可下載雨課堂插件安裝到電腦,在電腦端PPT 上編輯雨課件,發(fā)布課前預(yù)習(xí)課件或視頻資源,在課堂中使用雨課堂進(jìn)行授課,學(xué)生通過彈幕或投稿進(jìn)行互動;課后教師可以通過雨課堂進(jìn)行習(xí)題作業(yè)、試卷的布置等。教師也可以使用手機(jī)發(fā)布資源、查看課堂情況。雨課堂能實現(xiàn)課前、課中、課后的全覆蓋[1]。雨課堂能夠把傳統(tǒng)課堂和現(xiàn)代網(wǎng)絡(luò)教學(xué)結(jié)合起來,教師在教學(xué)活動中起引導(dǎo)、啟發(fā)、監(jiān)控和管理的作用,強調(diào)以學(xué)生為中心,激發(fā)學(xué)生的學(xué)習(xí)積極性、主動性和參與性,把學(xué)生吸引到課堂中來?;谟暾n堂的混合式教學(xué)模式的構(gòu)建主要從課前、課中、課后三個步驟對教學(xué)進(jìn)行了設(shè)計。如圖1所示。
圖1 理論課教學(xué)活動設(shè)計
(1)課前預(yù)習(xí)環(huán)節(jié)
課前預(yù)習(xí)環(huán)節(jié)可以推送公告、預(yù)習(xí)的課件、例題案例及預(yù)習(xí)的視頻等;可以通過公告告知學(xué)生本周或本節(jié)課主要內(nèi)容、教學(xué)重點難點、預(yù)習(xí)課件或視頻的主要內(nèi)容等。公告內(nèi)容可以以提問方式或案例引入,引起學(xué)生的對本節(jié)課的學(xué)習(xí)興趣,加深對本節(jié)課的印象。預(yù)習(xí)課件、案例或者視頻中可以穿插練習(xí)題用于鞏固知識點,也可以考查學(xué)生們預(yù)習(xí)的效果,作為教師講課內(nèi)容的預(yù)判,可以幫助教師有針對性地開展教學(xué)。
(2)課中授課環(huán)節(jié)
在課中授課環(huán)節(jié),教師可以開啟語音或者視頻直播,雨課堂可以錄制教師聲音和桌面攝像視頻,便于學(xué)生課后看課程回放。在講課中可以開啟彈幕,學(xué)生隨時在線提問,也可以用于組織分組討論,促進(jìn)學(xué)生積極參與交流。在講解完某個知識點后可以布置互動練習(xí)題,及時對教學(xué)內(nèi)容進(jìn)行訓(xùn)練鞏固,學(xué)習(xí)在線答題完畢,教師及時得到這個題目的正確率,據(jù)此了解學(xué)生對知識點的掌握情況,有針對性地進(jìn)行教學(xué)調(diào)整。
(3)課后復(fù)習(xí)環(huán)節(jié)
課后教師給學(xué)生推送完整的課堂同步回放、教學(xué)課件等,讓學(xué)生能對學(xué)習(xí)內(nèi)容進(jìn)行復(fù)習(xí),同時給學(xué)生發(fā)布課后習(xí)題,對所學(xué)內(nèi)容進(jìn)行鞏固、查缺補漏,而教師通過學(xué)生課后習(xí)題完成情況的反饋,及時了解學(xué)生對教學(xué)內(nèi)容的理解和掌握情況,便于教師在下次教學(xué)前做好準(zhǔn)備。習(xí)題課件還可以實現(xiàn)錄音講解,實現(xiàn)同步答疑解惑。
Online Judge系統(tǒng)(簡稱OJ)是在線的判題系統(tǒng)。系統(tǒng)可以根據(jù)事先編輯好的多組測試用例對用戶提交的程序源碼進(jìn)行在線編譯、執(zhí)行及評判,并給出評判的結(jié)果。目前著名的OJ系統(tǒng)國外有RQNOJ、URAL等,國內(nèi)有北京大學(xué)題庫系統(tǒng)、浙江大學(xué)題庫系統(tǒng)、電子科技大學(xué)題庫系統(tǒng)、杭州電子科技大學(xué)題庫系統(tǒng)等[2]。我們選用的是免費的EduCoder 平臺(現(xiàn)改名為頭歌),EduCoder 是開放的在線實踐教學(xué)平臺,提供多達(dá)12000 個教學(xué)資源,650 多門在線開放課程,有超過1000 所高校使用,為專業(yè)教學(xué)提供課堂、實驗和實訓(xùn)等全面在線支持與教學(xué)服務(wù)。頭歌界面如圖2所示。
圖2 頭歌實踐平臺界面圖
利用OJ 學(xué)習(xí)平臺,學(xué)生可以動手編寫大量的程序,通過即時評測,可以及時得到程序的正誤反饋,通過反饋信息及時修正,學(xué)生可以在這種不斷試錯不斷修正結(jié)果的過程中,提高利用計算機(jī)分析問題和解決問題的能力,有助于培養(yǎng)編程思維,養(yǎng)成自主學(xué)習(xí)的良好學(xué)習(xí)習(xí)慣,同時也能激發(fā)學(xué)生的學(xué)習(xí)興趣。教師可以隨時查看學(xué)生的實踐情況,提高了工作效率和準(zhǔn)確性[2]。針對平臺的教學(xué)設(shè)計如圖3所示。
圖3 實驗課教學(xué)活動設(shè)計
(1)課前布置
在開課前先創(chuàng)建實驗課程,建立班級,將生成班級的二維碼提前發(fā)給學(xué)生,學(xué)生注冊后加入班級。在每節(jié)實驗課前根據(jù)實驗教學(xué)安排,在平臺上選擇實驗內(nèi)容及項目,可從知識點和難易程度等方面來選擇實驗內(nèi)容,也可以自己加入實驗項目;然后進(jìn)行任務(wù)發(fā)布,發(fā)布的時間正好是上實驗課時間。每個實驗任務(wù)都由若干個具體的編程題目構(gòu)成,根據(jù)難易度排列,對選擇的實驗任務(wù)可以分配分?jǐn)?shù)比例。在系統(tǒng)中完成一個編程任務(wù),就稱為通過一關(guān),類比游戲中的通關(guān)一樣。通關(guān)后有得分顯示。
(2)課中實驗
上課前,教師首先講解本次實驗的實驗任務(wù)、重點實驗所有知識點及注意事項;然后學(xué)生登錄EduCoder網(wǎng)站,完成實驗任務(wù)關(guān)卡。每完成一個編程任務(wù),EduCoder進(jìn)行在線編譯,指出程序語法錯誤,學(xué)生改正后,如果編譯通過,還可以根據(jù)提前設(shè)定的測試集判斷程序的邏輯性,測試運行結(jié)果是否正確。如果某個測試集錯誤,學(xué)生根據(jù)提示檢查程序,再次編譯驗證,直至所有測試集正確,方可進(jìn)入下一關(guān),直至所有實驗任務(wù)完成。這種在線編程的評分結(jié)果可即時顯現(xiàn),學(xué)生可以馬上驗證程序是否正確,能實時得到評測結(jié)果和最新排名,并根據(jù)OJ 平臺的參與度進(jìn)行綜合評價。教師不但可以在教室中隨時輔導(dǎo),而且可以通過平臺在線監(jiān)測功能,查看同學(xué)們是否開始任務(wù)及任務(wù)完成情況,也可以進(jìn)行點評,給學(xué)生更多的反饋與鼓勵。在線監(jiān)測情況如圖4所示。
圖4 在線監(jiān)測界面
(3)課后鞏固
在課外教師可以利用平臺布置編程作業(yè),通過系統(tǒng)在線評判,學(xué)生能很快得到反饋結(jié)果,并查看自己各個作業(yè)的統(tǒng)計信息,根據(jù)完成時間、工作效率及調(diào)試的次數(shù)了解自己的薄弱環(huán)節(jié),再有針對性地復(fù)習(xí)鞏固。如圖5所示。
圖5 學(xué)生查看實驗任務(wù)完成情況
建立以注重過程考核與期末考核并重的成績評價體系,平時成績與期末成績比例為1:1,即平時成績占50%,期末成績占50%。平時成績的一部分來源于雨課堂的預(yù)習(xí)作業(yè)(5%)、課中互動答題(5%)、平時測試(20%)及課外作業(yè)成績(10%),另一部分來源于OJ 平臺上的實驗成績(10%),共計50%。平時成績主要體現(xiàn)在對平時的學(xué)習(xí)過程的評價,期末考核采用上機(jī)操作的考核方式,考察學(xué)生的動手能力和編程能力。
本文在C語言程序設(shè)計教學(xué)過程引入雨課堂+OJ的教學(xué)模式,理論課教學(xué)時使用雨課堂,實驗教學(xué)引入OJ 系統(tǒng),能有效實現(xiàn)課前預(yù)習(xí)課后復(fù)習(xí)、線上判題線下輔導(dǎo)、理論實踐全方位結(jié)合的教學(xué)方式,成功將編程環(huán)節(jié)融入學(xué)生平時的學(xué)習(xí)中,有效提高教學(xué)效率。