林忠
(南京工程學(xué)院計算機工程學(xué)院,南京 211167)
程序設(shè)計類課程是眾多工科專業(yè)不可或缺的基礎(chǔ)課程,占有重要地位,如C語言程序設(shè)計、Java程序設(shè)計等。除此之外還有眾多課程需要通過有效的程序設(shè)計實驗教學(xué)環(huán)節(jié)才能幫助學(xué)生深入理解和掌握,如數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理、操作系統(tǒng)、圖形學(xué)、數(shù)字圖像處理等。程序設(shè)計類課程的教學(xué)效果對學(xué)生的程序設(shè)計能力的培養(yǎng),及之后學(xué)生在相關(guān)專業(yè)的就業(yè)有決定性的作用。
傳統(tǒng)課堂以教師為中心的教學(xué)方式不利于激發(fā)學(xué)生的學(xué)習(xí)興趣。在“互聯(lián)網(wǎng)+教育”的新形勢下,出現(xiàn)了一些新模式(如MOOC模式[1-2]、翻轉(zhuǎn)課堂教學(xué)模式[3-4]等)和新的教學(xué)工具與平臺(如Moodle教學(xué)平臺[5]、雨課堂[6]等)。雨課堂是一款支持移動互聯(lián)網(wǎng)的教學(xué)工具,可以運行在微信客戶端中。隨著當(dāng)前智能手機的普及,使用雨課堂在手機中完成學(xué)習(xí)任務(wù)比在計算機中登錄網(wǎng)頁進行的學(xué)習(xí)更加便捷。
除了雨課堂以外,針對程序設(shè)計類課程的程序編程實踐的需求,可以在教學(xué)過程中結(jié)合OJ系統(tǒng)(Online Judge)。OJ系統(tǒng)是一個在線的評判系統(tǒng)。用戶可以在線提交程序源代碼,系統(tǒng)自動對源代碼進行編譯和執(zhí)行,并通過預(yù)先設(shè)計的測試數(shù)據(jù)來檢驗程序源代碼的正確性,無須人工判題,現(xiàn)在逐漸被引入到程序設(shè)計類課程中,作為題庫或編程訓(xùn)練的一種工具或平臺[7]。
傳統(tǒng)的程序設(shè)計類課程教學(xué)主要在課堂內(nèi)完成,以教師講授、操作示范、學(xué)生練習(xí)、教師輔導(dǎo)為主要形式。該形式有以下缺點:
(1)需要較多的課時保障才能有較好的教學(xué)效果
學(xué)生的軟件編程基礎(chǔ)差異性較大,完成知識內(nèi)化所需要的時間參差不齊。在固定的教學(xué)課時內(nèi)總有部分學(xué)生課時緊張,此時必然出現(xiàn)抄襲代碼、不注重代碼質(zhì)量、只滿足程序調(diào)試結(jié)果正確而不求甚解等各種不良現(xiàn)象。
(2)教師工作量巨大
(3)需要大量資金投入
軟件編程類課程一般需要每人一臺計算機及相應(yīng)軟件,需要建設(shè)大量實驗機房,以滿足不同課程同時開展實驗教學(xué)的需要。機房的建設(shè)和維護需要很大資金投入。
(4)對學(xué)生的專注度要求較高
在教師講解過程中學(xué)生注意力需要高度集中,緊緊跟隨教師的講解步驟,很容易跟不上教師的講解節(jié)奏。
使用雨課堂,教師可以將帶有視頻、習(xí)題的課前預(yù)習(xí)資料或者課后復(fù)習(xí)資料推送到學(xué)生手機上。雨課堂也可以實施在線授課,可以進行實時答疑、彈幕互動。雨課堂還提供完整立體的數(shù)據(jù)支持,如個性化報表、自動任務(wù)提醒,讓教與學(xué)更加明了。使用OJ系統(tǒng),教師可以將程序設(shè)計任務(wù)設(shè)計成題庫發(fā)布到OJ系統(tǒng)中,學(xué)生通過OJ系統(tǒng)提交源代碼,及時得到程序設(shè)計正確與否的反饋信息。
將雨課堂和OJ系統(tǒng)結(jié)合,構(gòu)建了一種混合式的教學(xué)模式,將傳統(tǒng)的以教師為中心的教學(xué)模式轉(zhuǎn)變?yōu)橐詫W(xué)生為中心的教學(xué)模式,該教學(xué)模式設(shè)計如圖1所示。
圖1 基于雨課堂和OJ系統(tǒng)的教學(xué)模式設(shè)計
(1)平臺建設(shè)
在這個教學(xué)模式中,起教學(xué)支撐作用的是雨課堂平臺和OJ系統(tǒng)。
王震舊居前有一條很寬的走廊,夏天他喜歡叫我去那兒聊天,這也許和我的見識有關(guān)。比如,他說了一個喝咖啡的故事。長征途中王稼祥想喝咖啡,哪兒找呢?傅連暲就敲破幾支咖啡因沖水給他喝。王老說完這個故事仰天大笑,只有我跟著他笑起來,其他人不知道咖啡和咖啡因是什么。王部長到過蘇聯(lián),說奶酪是炊司(俄語),別人不懂我懂。
首先下載安裝雨課堂平臺軟件,雨課堂課件編輯端是以PPT的插件形式存在的,而且必須確保計算機上已經(jīng)安裝有Microsoft Office 2010或以上版本。然后在微信客戶端關(guān)注“雨課堂”公眾號,填寫個人信息后,進入該公眾號后就可以設(shè)置課程和班級。教師在PC端點擊雨課堂菜單,用微信掃一掃登錄后就可以進行雨課堂授課或者新建試卷或者新建手機課件并上傳,除此之外還可以發(fā)布公告,如圖2所示。學(xué)生在微信客戶端中關(guān)注“雨課堂”公眾號后,輸入邀請碼就可以加入到課程中。利用該平臺學(xué)生可以做試題、觀看教師發(fā)布的課件、查收公告信息也可以將學(xué)習(xí)中的問題反饋給教師,如圖3所示。
圖2 雨課堂界面
圖3 雨課堂作業(yè)反饋
圖4 雨課堂作業(yè)反饋詳細信息
目前國內(nèi)有很多高校搭建了OJ系統(tǒng),如北京大學(xué)、浙江大學(xué)、杭州電子科技大學(xué)、哈爾濱工業(yè)大學(xué)、華中科技大學(xué)、南京航空航天大學(xué)等。要獨立開發(fā)一個OJ系統(tǒng)有一定難度,可以利用一些開源OJ搭建學(xué)校的OJ平臺。目前開源的OJ系統(tǒng)有:HUSTOJ(華中科技大學(xué) OJ)、UOJ(Universal Online Judge)、VIJOS(Velocious Informatics Judge Online System)、PowerOJ(西南科技大學(xué)OJ)等。除此以外還有開源的Online Judge plugin for Moodle 2.x,這是哈爾濱工業(yè)大學(xué)開發(fā)的基于Moodle 2的插件。任選其中一個開源OJ可以搭建高校自己的OJ系統(tǒng)。
(2)課程建設(shè)
首先制定教學(xué)大綱,設(shè)立教學(xué)目標(biāo),將知識點細化;然后分析哪些知識點是重點,哪些是可能的難點。最后根據(jù)分析的知識難點和重點,制作有針對性地供線上或者線下教學(xué)活動使用的課件、微課視頻和題庫。當(dāng)課程開展教學(xué)活動后,根據(jù)線下教學(xué)活動的學(xué)生反饋信息及學(xué)習(xí)數(shù)據(jù)分析,及時修正知識點的難點并有針對性的修改或者補充課件、視頻及試題。
(3)線下教學(xué)活動
教師根據(jù)課程教學(xué)目標(biāo),并在課件、視頻、試題庫的支持下可以通過雨課堂平臺和OJ平臺開展豐富的線下教學(xué)活動。教師通過雨課堂平臺發(fā)布課件、網(wǎng)絡(luò)視頻或者慕課視頻、作業(yè)、測試,可以通過OJ平臺布置程序練習(xí)題,其中的作業(yè)、測試可以設(shè)置截至?xí)r間,借此督促學(xué)生及時完成作業(yè)。學(xué)生可以根據(jù)個人具體情況合理安排線下學(xué)習(xí)的時間,也可以在平臺中反饋課件中的不懂的頁面,或者直接反饋文字信息給教師表達學(xué)習(xí)中遇到的問題。學(xué)生的作業(yè)還可以通過語音或者圖片的方式提交,給學(xué)生提供了極大便利。通過這種新式線下教學(xué)活動,教師與學(xué)生可以及時互動,教師也可以收集學(xué)生實際學(xué)習(xí)數(shù)據(jù),進而分析學(xué)習(xí)難點和評估學(xué)習(xí)效果,從而為修訂教學(xué)資源和線上教學(xué)活動的展開提供依據(jù)。
(4)線上教學(xué)活動
線上教學(xué)活動在課堂內(nèi)開展,教師根據(jù)教學(xué)大綱講授知識點。通過線下教學(xué)活動的反饋,教師著重對學(xué)生反饋不理解的知識點和學(xué)生線下作業(yè)或測試錯誤較多的知識點進行講授并現(xiàn)場組織學(xué)生討論答疑。同時可以布置一定的課堂作業(yè),鞏固學(xué)習(xí)效果。
在基于雨課堂和OJ系統(tǒng)的教學(xué)實踐中,發(fā)現(xiàn)雨課堂平臺和OJ系統(tǒng)也存在以下一些不足之處,主要包括:
(1)教師自制的視頻資源不能在雨課堂平臺中直接發(fā)布,只能通過發(fā)布到第三方視頻網(wǎng)站或者存放到云盤供學(xué)生觀看或者下載后觀看,學(xué)生對于這些視頻資源的學(xué)習(xí)情況無法有效反饋。
(2)發(fā)起交互的單向性。雨課堂系統(tǒng)中學(xué)生可以主動向教師發(fā)送反饋信息,教師根據(jù)可以回復(fù)該信息,但是教師無法主動向某個學(xué)生發(fā)送信息。
(3)雨課堂系統(tǒng)中學(xué)生無法訂正主觀題題目。教師批改主觀題時,可以指出學(xué)生的錯誤之處,然后學(xué)生希望能夠再次提交訂正后的作業(yè),但是目前雨課堂不能提供此功能。
(4)OJ系統(tǒng)和雨課堂平臺之間無法整合成一個平臺,使用上稍微有點繁瑣。
實踐中發(fā)現(xiàn)的這些不足之處希望不久的將來可以通過雨課堂平臺和OJ系統(tǒng)的不斷完善得到彌補。
本文給出了基于雨課堂和OJ系統(tǒng)的程序設(shè)計類課程的教學(xué)方法,并在初步實踐過程中發(fā)現(xiàn)了該教學(xué)方法的一些不足之處,為未來平臺改進提供了一些建議。雖然平臺目前還存在一些不足,但是該教學(xué)模式創(chuàng)建了學(xué)習(xí)過程中的及時反饋機制,對于提高學(xué)生學(xué)習(xí)積極性和提高教師教學(xué)的針對性等具有很好的效果,解決了在傳統(tǒng)教學(xué)中的存在的這些問題,具有很好的實際意義。