徐紅云,高 英,曾 健
(華南理工大學(xué) 計算機科學(xué)與工程學(xué)院,廣東 廣州 510006)
為了培養(yǎng)學(xué)生良好的計算機素養(yǎng)和計算思維能力,國內(nèi)大部分高校都為大學(xué)一年級學(xué)生開設(shè)了一組計算機公共基礎(chǔ)課程。很多大學(xué)一年級學(xué)生沒有計算機程序設(shè)計語言的基礎(chǔ),也沒有設(shè)計程序的思維,怎樣使他們比較高效地掌握計算機程序的工作方式,學(xué)習(xí)程序設(shè)計的基本知識,是廣大教育工作者長期以來研究和探索的問題。文獻(xiàn)[1]介紹了基于雨課堂和OJ系統(tǒng)的程序設(shè)計類課程教學(xué)方法,提出在課前、課中和課后采用雨課堂、OJ系統(tǒng)輔助教學(xué)的途徑;文獻(xiàn)[2]探討了基于競教結(jié)合的高級語言程序設(shè)計實踐教學(xué)改革,提出了基于OJ系統(tǒng)部署實驗的教學(xué)改革方案;文獻(xiàn)[3]介紹了基于網(wǎng)絡(luò)課程的C++程序設(shè)計語言混合式教學(xué)改革,提出課前安排學(xué)生觀看課程視頻、課中主要進行答疑討論、課后布置OJ測試的混合式教學(xué)改革方案。
上述改革方案對提高課程的教學(xué)質(zhì)量和教學(xué)效果具有積極意義。探究式教學(xué),可以引導(dǎo)課堂從注重“教師的教”向注重“學(xué)生的學(xué)”轉(zhuǎn)變,進一步提高課程的教學(xué)質(zhì)量,提高學(xué)生的創(chuàng)新、創(chuàng)造能力。為此,筆者研究設(shè)計了適應(yīng)于程序設(shè)計語言課程的探究式教學(xué)模式,并在2018級非計算機專業(yè)的部分創(chuàng)新班進行了教學(xué)實踐。
探究式教學(xué),需要在學(xué)生掌握一定基礎(chǔ)知識的前提下進行。對于程序設(shè)計語言這種大部分學(xué)生不具備相關(guān)基礎(chǔ)的課程,需要在課前或課中,學(xué)生能掌握一定的基礎(chǔ)知識后,才能開展探討和研究。為此,本課程采用如圖1所示的教學(xué)模式。圖1中,參與教學(xué)的對象包括學(xué)生、主講教師和助教。學(xué)生是教學(xué)對象,是獲取知識的主體;教師是授課的主體,主要工作是制訂教學(xué)大綱、考試大綱,建設(shè)教學(xué)資源,組織探究式課堂教學(xué)等;助教協(xié)助主講教師批閱作業(yè)、指導(dǎo)實驗、答疑等,對于沒有助教的課程,助教的工作亦可由主講教師承擔(dān)。
圖1 課程教學(xué)模式
網(wǎng)絡(luò)課程資源可以是MOOC資源,也可以是其他可供學(xué)生隨時在線訪問的與教學(xué)內(nèi)容相關(guān)的課程資源。本課程采用的教材是由華南理工大學(xué)計算機教學(xué)團隊編寫、電子工業(yè)出版社出版的《C++程序設(shè)計基礎(chǔ)》,2000年出版第1版,2016年出版了最新的第5版。教材主要內(nèi)容包括基本數(shù)據(jù)與表達(dá)式、程序控制結(jié)構(gòu)、函數(shù)、數(shù)組、集合與結(jié)構(gòu)、類與對象、運算符重載、繼承、虛函數(shù)與多態(tài)性、模板、輸入輸出流等章節(jié),基于教材還有國家精品資源共享課和廣東省精品資源共享課建設(shè)。本課程教學(xué)使用教材前5章的內(nèi)容和資源,即面向過程的部分教學(xué)資源。課程地址為http://www.icourses.cn/sCourse/course_5847.html。
學(xué)生課前預(yù)習(xí)是開展C++程序設(shè)計語言探究式教學(xué)的基礎(chǔ),而課后復(fù)習(xí)是鞏固課程教學(xué)效果的關(guān)鍵,這兩個環(huán)節(jié)都可以借助網(wǎng)絡(luò)課程資源完成。
雨課堂[3]是清華大學(xué)學(xué)堂在線推出的智慧教學(xué)工具,本課程可借助雨課堂的創(chuàng)建班級功能創(chuàng)建教學(xué)班級,設(shè)置協(xié)同教師(即課程助教),并管理班級成員;每次課程結(jié)束都會布置下次課擬學(xué)習(xí)的內(nèi)容供學(xué)生預(yù)習(xí),并在上課前24小時內(nèi)再通過雨課堂的公告欄目進行提醒;課中學(xué)生通過掃碼加入班級,學(xué)生加入班級后即可在移動端瀏覽教師的授課課件,參與課程小測和單元測試。為了提高學(xué)生的課堂學(xué)習(xí)注意力和活躍課堂氣氛,可使用雨課堂的隨機點名功能,實現(xiàn)隨機選取學(xué)生回答課堂提問。為了方便課中分組討論,借助雨課堂的分組功能,將教學(xué)班級的55人分為18個小組,前17組每組3人,第18組4人,探究式教學(xué)的開展主要在課內(nèi)完成。學(xué)生完成了課前預(yù)習(xí)后,在課堂上,主講教師基于雨課堂,針對關(guān)鍵知識點進行講解和答疑;然后,開展分組探究和研討。課堂探究的主題/內(nèi)容則由主講教師提前準(zhǔn)備,并嵌入課堂授課PPT的適當(dāng)位置。
例如第一章的研討題目之一是對基于條件表達(dá)式排序輸出2個數(shù)的算法進行拓展,討論設(shè)計排序輸出3個數(shù)的算法,然后編程實現(xiàn)。
在課堂上,根據(jù)雨課堂分組進行探究,時間約20分鐘,然后隨機選取幾個組輪流上講臺匯報研討結(jié)果、解題思路以及程序源代碼。表1列出了第2、7、8組學(xué)生設(shè)計的算法和編寫的源代碼。
從表1可見,3組學(xué)生設(shè)計的算法和程序都可以實現(xiàn)3個數(shù)排序輸出,但第2組設(shè)計的算法很明顯存在可擴展性的問題,如果擴展到4個及以上的數(shù)排序,用該算法實現(xiàn)就會變得比較復(fù)雜。第7組的算法不改變輸出順序,而是改變變量的值。第8組的算法改變變量的輸出順序。后兩組的算法都可以擴展成多個數(shù)排序。通過此研討題使學(xué)生明白解決一個問題可能有多種算法。另外,也可以在研討的過程中引入并探討算法可擴展性、算法的時空復(fù)雜度,從而增強學(xué)生學(xué)習(xí)的主動性,獲得較好的教學(xué)效果。
表1 探究范例
采用OJ評測的實驗和課后作業(yè)提交是鞏固探究式教學(xué)效果的關(guān)鍵環(huán)節(jié)。OJ是在線評測即Online Judge的簡稱。OJ評測系統(tǒng)可以接受程序源碼,并自動檢測程序正確與否。國內(nèi)很多高校都建有在線評測系統(tǒng),如浙江大學(xué)、杭州電子科技大學(xué)等。華南理工大學(xué)也建設(shè)了在線評測系統(tǒng),具體網(wǎng)址是http://www.scut.edu.cn/oj/。學(xué)生通過注冊可成為OJ系統(tǒng)的用戶,登錄OJ系統(tǒng)即可刷題或完成任課教師布置的作業(yè);教師可以通過開課,在OJ系統(tǒng)上向教學(xué)班級的學(xué)生布置課后作業(yè)或部署實驗。本課程共部署了8次課內(nèi)實驗,每次時長為90 min,題量為2道題。另外,以章為單位部署課后OJ作業(yè),每章一次共5次,課后作業(yè)的題量則根據(jù)各章教學(xué)內(nèi)容的難易、多寡,設(shè)為2~7道題不等。從提交的情況來看,大部分學(xué)生能按時完成課堂實驗。少部分不能在課堂上按時提交的學(xué)生也能在課后延期的截止期限里完成提交。課后作業(yè)的提交周期一般在2周左右,學(xué)生基本上都能按時完成。
根據(jù)期末考試成績分布情況可以考查上述教學(xué)模式的效果。通過兩組數(shù)據(jù)進行對比分析:第一組是相同專業(yè)連續(xù)兩屆學(xué)生的期末考試成績分布對比,2017級創(chuàng)新班的教學(xué)使用了網(wǎng)絡(luò)課程資源,但沒有用雨課堂和OJ評測系統(tǒng),2018級創(chuàng)新班采用本文上述教學(xué)模式展開教學(xué);第二組是不同專業(yè)同屆學(xué)生的期末考試成績分布對比,對比組是采用傳統(tǒng)教學(xué)方法的另一個由創(chuàng)新班學(xué)生組成的教學(xué)班??梢酝ㄟ^調(diào)查問卷了解和分析學(xué)生對上述教學(xué)模式的認(rèn)可情況。
2017級創(chuàng)新班與2018級創(chuàng)新班的期末考試成績分布情況見圖2。從圖2可見,采用探究式教學(xué)模式展開教學(xué)的期末考試成績優(yōu)良率明顯提高,60分以下的人數(shù)明顯減少。另外,2017級創(chuàng)新班的期末考試平均成績?yōu)?6.24分,2018級創(chuàng)新班的期末考試成績?yōu)?1.57分,相差5分多。
2018級采用探究式模式教學(xué)的教改班和采用傳統(tǒng)教學(xué)模式的非教改班的期末考試成績分布對比見圖3。從圖3可見,教改班的期末考試成績70分以上各成績段的百分比都比非教改班高,而70分以下及不及格的人數(shù)比例都比非教改班低。
圖2 相同專業(yè)連續(xù)兩屆學(xué)生期末考試成績對比
圖3 不同專業(yè)同屆學(xué)生期末考試成績對比
我們在問卷星上發(fā)布了調(diào)查問卷,主要調(diào)查學(xué)生的程序設(shè)計語言基礎(chǔ)、學(xué)生對編程語言的重視情況、對本課程的認(rèn)可程度、雨課堂以及OJ評測系統(tǒng)對學(xué)習(xí)本課程的幫助度等。從回收的調(diào)查問卷數(shù)據(jù)來看:77.42%的學(xué)生之前沒有編程基礎(chǔ);83.8%的學(xué)生愿意學(xué)習(xí)編程語言;對本課程總體印象良好以上的學(xué)生比例為77.41%,中等印象的比例為22.58%;認(rèn)為本課程教學(xué)內(nèi)容提供信息量較大的學(xué)生比例達(dá)96.77%;87%的學(xué)生認(rèn)為采用智慧教學(xué)工具雨課堂對學(xué)習(xí)幫助較大,認(rèn)為幫助一般的學(xué)生比例為12.9%;93%的學(xué)生認(rèn)為雨課堂中插入的測試題(每個知識點一個單選題,每章一次章測驗10道題)題量比較合適;100%的學(xué)生認(rèn)為雨課堂中插入的測試題難度比較合適;95%以上的學(xué)生都能較好地參與課堂研討,并從中受益;90%以上的學(xué)生認(rèn)為采用OJ評測系統(tǒng)對學(xué)好本課程有幫助。從以上數(shù)據(jù)可以看出,學(xué)生總體上是認(rèn)可探究式教學(xué)模式的。
1)雨課堂平臺問題。
學(xué)生在課中需掃碼登陸雨課堂進入教學(xué)班級并參加教學(xué)活動,包括觀看教學(xué)PPT、參加課堂小測和單元測驗。但由于雨課堂平臺存在延時,學(xué)生和教師同步需要一定的時間,從而影響到學(xué)生的學(xué)習(xí)體驗,一定程度上影響了教學(xué)效率。對于該問題,可以從改善上網(wǎng)環(huán)境和改善雨課堂平臺服務(wù)器的性能兩方面解決。
2)網(wǎng)絡(luò)和終端設(shè)備問題。
登錄雨課堂需要良好的網(wǎng)絡(luò)環(huán)境支持。由于課堂環(huán)境沒有可用Wifi,學(xué)生需要使用手機的數(shù)據(jù)流量進行學(xué)習(xí),部分學(xué)生的手機套餐并不包含充足的數(shù)據(jù)流量,參加雨課堂的學(xué)習(xí)需要額外付費購買流量,這對部分經(jīng)濟條件困難的學(xué)生是一個負(fù)擔(dān)。另外,一些學(xué)生的手機性能欠佳,經(jīng)??D,也影響了他們的學(xué)習(xí)效率。建議學(xué)校在課室部署校園網(wǎng)環(huán)境,更好地滿足現(xiàn)代教學(xué)改革的需求。另外,對于部分經(jīng)濟困難的學(xué)生,建議學(xué)校在學(xué)習(xí)設(shè)備上進行精準(zhǔn)幫扶。
3)教學(xué)對象零基礎(chǔ)的問題。
通過調(diào)查發(fā)現(xiàn),絕大部分學(xué)生都沒有程序設(shè)計語言基礎(chǔ),因此對于零基礎(chǔ)的課程是否進行全方位的探究式教學(xué)還需要商榷。本課程是在學(xué)生提前觀看視頻、教師在課堂上進行重難點講解的基礎(chǔ)上,再引入問題,進行分組探究和研討。本課程的教學(xué)模式對于其他類似的課程具有一定的參考價值。
4)課程教學(xué)時數(shù)和教學(xué)班級規(guī)模的限制。
由于計算機基礎(chǔ)課的教學(xué)時數(shù)普遍較少,教學(xué)班級規(guī)模偏大,而一次研討教學(xué)的完成,需要學(xué)生分組討論、確定算法、書寫程序、匯報講解,所有的環(huán)節(jié)都在課內(nèi)完成的話,可能需要占用1~2節(jié)課的時間。本課程的做法是提前布置部分較復(fù)雜的研討題,要求學(xué)生在課前完成前3個環(huán)節(jié),在課內(nèi)進行匯報講解,并且只講解與他人不同的算法和解決方案,這樣不僅可以大大縮短所需的課內(nèi)時間,也在一定程度上達(dá)到了探究式教學(xué)的效果。
通過研究C++程序設(shè)計語言課程的特點,結(jié)合擁有的資源以及具備的教學(xué)條件,筆者設(shè)計了C++程序設(shè)計基礎(chǔ)課程的探究式教學(xué)模式,并在2018級非計算機專業(yè)創(chuàng)新班部分學(xué)生中進行了試點。從期末考試成績對比情況來看,采用文中模式進行教學(xué)取得了較好的教學(xué)效果;從學(xué)生問卷調(diào)查結(jié)果來看,該模式獲得了學(xué)生的認(rèn)可。在教學(xué)過程中也發(fā)現(xiàn)了一些問題,雨課堂平臺性能、上網(wǎng)網(wǎng)速、學(xué)生擁有的終端設(shè)備、學(xué)生具備的基礎(chǔ)知識、課程教學(xué)時數(shù)和教學(xué)班級的規(guī)模等因素都將影響課程的教學(xué)質(zhì)量和教學(xué)效率。在參照現(xiàn)有教學(xué)模式的基礎(chǔ)上,教育工作者需要根據(jù)實際情況研究制訂相應(yīng)課程的教學(xué)方法,并進行貫徹落實,才是切實提高課程教學(xué)質(zhì)量的有效途徑。