公務(wù)員期刊網(wǎng) 論文中心 正文

混合教學(xué)模式下的程序設(shè)計課程

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了混合教學(xué)模式下的程序設(shè)計課程范文,希望能給你帶來靈感和參考,敬請閱讀。

混合教學(xué)模式下的程序設(shè)計課程

摘要:按照金課的建設(shè)要求,文章提出把混合教學(xué)模式引入“C++程序設(shè)計”教學(xué)中,利用MOOC平臺、翻轉(zhuǎn)課堂工具、程序自動評判平臺等信息化教學(xué)工具,實施小班化教學(xué)、知行結(jié)合的機(jī)房教學(xué)等舉措,以編程實踐、分組討論、彈幕、投稿等方式增強(qiáng)學(xué)生參與感,并將敏捷開發(fā)的價值觀和原則應(yīng)用于編程實踐中,提升學(xué)生的自信心和成就感。實踐結(jié)果表明,該教學(xué)模式能有效提高學(xué)生對理論知識的掌握以及實踐能力,對比線下教學(xué)具備明顯的優(yōu)勢。

關(guān)鍵詞:線上線下混合式教學(xué);MOOC;SPOC;翻轉(zhuǎn)課堂

為了切實提高學(xué)生的編程能力,南京理工大學(xué)計算機(jī)學(xué)院根據(jù)教育部“淘汰‘水課’、打造‘金課’”的要求[1],開始在多門編程能力相關(guān)課程中實施線上線下混合式教學(xué)模式[2],以期達(dá)到課程的高階性、創(chuàng)新性和挑戰(zhàn)度,打造出“以學(xué)生為中心”的系列金課,其中,“C++程序設(shè)計”作為計算機(jī)大類全體大一新生的程序設(shè)計入門課,與第二年暑期的“C++課程設(shè)計”共同完成的C++語言及其程序設(shè)計的教學(xué)內(nèi)容,對學(xué)生編程興趣、軟件基礎(chǔ)能力、系統(tǒng)能力等方面的培養(yǎng)起到了奠基作用,自然成為了教學(xué)改革的先鋒之一。

一、教學(xué)組織

在“C++程序設(shè)計”課程中,課程團(tuán)隊以“金課”的高階性、創(chuàng)新性和挑戰(zhàn)度為標(biāo)準(zhǔn)設(shè)計課堂教學(xué):不僅要達(dá)到掌握堅實的理論基礎(chǔ)的目標(biāo),更要培養(yǎng)學(xué)生應(yīng)用、分析、評價甚至創(chuàng)造的能力;采用先進(jìn)的信息技術(shù)手段,增加師生、生生互動,并滿足程序設(shè)計課程的需求;以學(xué)生發(fā)展為中心,根據(jù)學(xué)生的學(xué)習(xí)狀況,實時調(diào)整課程進(jìn)度和重點;在實踐和作業(yè)中設(shè)有一定難度的內(nèi)容,并以循序漸進(jìn)的方式引導(dǎo)學(xué)生進(jìn)行深入研究。

(一)信息化教學(xué)工具的選取在“C++程序設(shè)計”課程的混合式教學(xué)實踐中,課程團(tuán)隊采用了“MOOC+SPOC+翻轉(zhuǎn)課堂+機(jī)房”的模式。課程團(tuán)隊教師在智慧樹平臺建設(shè)了MOOC課程“程序設(shè)計基礎(chǔ)”,并在該MOOC課程基礎(chǔ)上建設(shè)了SPOC校內(nèi)課。翻轉(zhuǎn)課堂采用了“雨課堂”工具實現(xiàn)課堂的組織:測驗、投稿、彈幕等,同時采用了自建的“程序提交與自動評判平臺”實現(xiàn)課堂編程、提交、判分。該平臺由團(tuán)隊教師以Moodle[3]為核心建立,不僅可以實現(xiàn)普通的OnlineJudge功能(根據(jù)用例判斷完整程序的正確性),還創(chuàng)新性地實現(xiàn)部分程序的運(yùn)行,例如函數(shù)的正確性判定。所有的線下課堂教學(xué)在計算機(jī)機(jī)房進(jìn)行,每個學(xué)生分配一臺有C++開發(fā)環(huán)境的聯(lián)網(wǎng)計算機(jī)。

(二)教學(xué)流程的組織結(jié)合信息化教學(xué)環(huán)境,課程團(tuán)隊在教學(xué)中,實施小班化教學(xué)、實踐與理論結(jié)合的機(jī)房教學(xué)等教學(xué)方式,將教學(xué)活動擴(kuò)展到課前、課中和課后,并通過教學(xué)組織實現(xiàn)課程的高階性和挑戰(zhàn)度。每次課前,教師都會將預(yù)習(xí)要求(觀看SPOC的視頻、閱讀資料、完成測試等)和學(xué)習(xí)目標(biāo)通過“雨課堂”發(fā)給學(xué)生,并收集學(xué)生的學(xué)習(xí)信息(學(xué)習(xí)時間、測試結(jié)果等)。在課前的學(xué)習(xí)活動中,希望學(xué)生能夠記住相應(yīng)語法規(guī)則,并能讀懂、對比相關(guān)的C++程序,這在Bloom模型[4]中屬于記憶、理解和初步應(yīng)用部分,即低階目標(biāo)。課堂中,則是課程向高階目標(biāo)邁進(jìn)的階段。首先,是基本概念查缺補(bǔ)漏的前測環(huán)節(jié)。在簡單、快速的知識點回顧中,課程團(tuán)隊利用“雨課堂”的客觀題(單選、多選、填空)功能檢驗低階目標(biāo)的達(dá)成度。這些客觀題以C++基本語法和規(guī)則的概念、應(yīng)用為主。當(dāng)某個知識點的正確率不高時,教師將以案例的形式厘清概念,以確保80%以上的學(xué)生達(dá)成低階目標(biāo)。然后,進(jìn)入“參與式的程序設(shè)計案例分析與實踐”環(huán)節(jié)。C++語法和規(guī)則的學(xué)習(xí)都是為能夠編寫程序解決問題而服務(wù)的,因此,參與編程實踐才是真正實現(xiàn)分析、評價、創(chuàng)造這些高階目標(biāo)的唯一途徑。編程實踐利用“程序提交與自動評判平臺”進(jìn)行,學(xué)生完成設(shè)計、編碼、調(diào)試后,提交程序,根據(jù)返回結(jié)果可知程序的正確性。將敏捷開發(fā)的價值觀和原則應(yīng)用于編程環(huán)節(jié)中,將任務(wù)分解,建立不同層次和不同階段的任務(wù)目標(biāo),以循序漸進(jìn)地提高難度的方式,保持學(xué)生的自信心,并使其在教師指引下完成具有挑戰(zhàn)度的工作,從而讓學(xué)生對于有一定難度的問題,“跳一跳能夠得著”[1],夠著后又能獲得較大的成就感。部分實踐通過分組的方式進(jìn)行,讓學(xué)生在團(tuán)隊討論中實現(xiàn)思維碰撞,從而產(chǎn)生智慧的“火花”。同時,在實踐環(huán)節(jié)中,學(xué)生還可通過彈幕、投稿等方式,提出自己的疑惑,展示自己的成果,使得教師可以及時進(jìn)行引導(dǎo)式解惑,并發(fā)現(xiàn)典型問題和優(yōu)秀樣例,以此進(jìn)行解析和講評。這些翻轉(zhuǎn)課堂的手段,不但調(diào)動了學(xué)生參與的積極性,還增加了師生、生生之間的互動。課后,通過“雨課堂”推送任務(wù)。任務(wù)以學(xué)生課中的“雨課堂”和“程序提交與自動評判平臺”的統(tǒng)計數(shù)據(jù)為依據(jù)進(jìn)行設(shè)計,強(qiáng)化薄弱部分,并適當(dāng)難度進(jìn)階。

(三)具體案例在此,以“C++程序設(shè)計”中的教學(xué)單元“分支語句”的教學(xué)實施為例,來說明教學(xué)流程的組織情況。分支語句”教學(xué)單元的設(shè)置在“數(shù)據(jù)類型和表達(dá)式”教學(xué)單元之后。該單元的教學(xué)目標(biāo)為:掌握if語句的語法,尤其是能夠?qū)⒍喾种дZ句中的else匹配對應(yīng)的if,以規(guī)范的書寫形式編寫分支結(jié)構(gòu)的程序,且能注意內(nèi)嵌語句的限制問題。在課程組織的前測環(huán)節(jié),針對單元知識點設(shè)計選擇題,尤其關(guān)注難點“if與else的配對”問題,結(jié)合測試題的解析,確保學(xué)生對基本語法的掌握。在“案例分析與實踐環(huán)節(jié)”中,以二元一次方程求解作為核心問題,課程團(tuán)隊設(shè)計了遞進(jìn)式的任務(wù)目標(biāo)。在“分支語句”之前,學(xué)生只學(xué)習(xí)了C++的基本類型和表達(dá)式,最初的任務(wù)就從表達(dá)式入手,實現(xiàn)一元一次方程ax+b=0的求解(暫時不考慮a為0的情況)。第二階段任務(wù),考慮a為0的情況,將基本分支結(jié)構(gòu)運(yùn)用到問題求解中。第三階段任務(wù)是考慮更為復(fù)雜的二元一次方程ax2+bx+c=0的求解。在講授庫函數(shù)sqrt()的使用方法后,讓學(xué)生分組討論該問題需要考慮的各種情況(a為0、b為0、一個根、兩個根、復(fù)數(shù)根等),并使用多分支結(jié)構(gòu)編程。對比投稿的程序,看哪組考慮的情況更全面,程序更完整。同時,從投稿中挑選典型問題,例如:對于ifelse的多條內(nèi)嵌語句不加括號使之稱為一條復(fù)合語句、搞不清楚else到底和哪個if配對、不注意縮排和對齊等。最后,總結(jié)實踐環(huán)節(jié)中的通用性錯誤,要求學(xué)生在課后首先將課上所編程序進(jìn)一步完善,再完成相關(guān)編程作業(yè)。

二、教學(xué)效果

在2019—2020學(xué)年第一學(xué)期,南京理工大學(xué)計算機(jī)學(xué)院為計算機(jī)大類全體大一學(xué)生共7個班級開設(shè)了“C++程序設(shè)計”課程。所有班級均為小班化機(jī)房授課,其中,8403班開展了線上線下混合式教學(xué)模式,其他6個班級均為線下授課。2020年1月,完成了期末測試。最終成績由3個部分組成:期末筆試、期末上機(jī)測試和平時成績。其中,期末筆試由選擇題、讀程序題、填程序題和編程題組成,共100分,7位教師集中流水閱卷;上機(jī)測試包含3道題,每道題100分,共計300分,OnlineJudge自動判分;線下授課的平時成績由考勤和作業(yè)組成,混合式教學(xué)的平時成績由課堂情況(出勤、課前測、投稿情況)、線上情況(視頻觀看、章節(jié)測驗、編程作業(yè))組成。由于平時成績的評判標(biāo)準(zhǔn)不同,因此,只將期末上機(jī)測試和期末筆試成績進(jìn)行對比,班級平均成績對比結(jié)果分別如圖1和圖2所示。從圖中可以明顯看出,混合式教學(xué)模式下的8403班,無論是筆試,還是上機(jī)測試,成績都明顯高于其他班級。上機(jī)測試平均分高于其他班級7.2~38.69分,筆試平均分高于其他班級5.81~12.44分。且8403班課程及格率為100%,無一人掛科。從對比數(shù)據(jù)中,我們可以分析出:課堂的“前測環(huán)節(jié)”夯實了學(xué)生對理論知識的掌握,“分析和實踐環(huán)節(jié)”提高了學(xué)生針對問題設(shè)計、編寫、調(diào)試程序的能力。同時,基于敏捷開發(fā)的價值觀和原則的遞進(jìn)式任務(wù)設(shè)計,幾乎讓所有學(xué)生都能“夠得著”,即使是中學(xué)從未接觸過計算機(jī)編程的學(xué)生,也不會因為畏難情緒而放棄學(xué)習(xí)。因此,在程序設(shè)計課程中,運(yùn)用本文所描述的線上線下混合式教學(xué)模式,能夠有效地培養(yǎng)和提高學(xué)生操作各項軟件的基礎(chǔ)能力,對比純線下教學(xué)具備明顯的優(yōu)勢。

三、總結(jié)與展望

在這次的線上線下混合式教學(xué)中,課程團(tuán)隊仍然遇到了一些問題:部分學(xué)生仍然不習(xí)慣于視頻學(xué)習(xí),導(dǎo)致在課堂上花費(fèi)大量的時間進(jìn)行“查缺補(bǔ)漏”,進(jìn)而縮短了實踐環(huán)節(jié)的時長。在未來的工作中,課程團(tuán)隊還將致力于平臺的融合,并利用更多監(jiān)督或獎勵機(jī)制激勵學(xué)生保質(zhì)保量地完成課前學(xué)習(xí),建設(shè)更具有挑戰(zhàn)性和趣味性的C++練習(xí)庫,進(jìn)一步調(diào)動學(xué)生的積極性。

參考文獻(xiàn):

[1]吳巖.建設(shè)中國“金課”[J].中國大學(xué)教學(xué),2018(12).

[2]張策,徐曉飛,張龍,等.利用MOOC優(yōu)勢重塑教學(xué)實現(xiàn)線上線下混合式教學(xué)新模式[J].中國大學(xué)教學(xué),2018(5).

作者:衷宜 陸建峰 趙學(xué)龍 單位:南京理工大學(xué)

相關(guān)熱門標(biāo)簽