摘?要:以C語言程序設(shè)計(jì)課程為例,引入基于EduCoder在線實(shí)踐教學(xué)平臺的教學(xué)模式,采用獎(jiǎng)勵(lì)式測試機(jī)制,激發(fā)學(xué)生對編程的興趣。分別介紹課前、課后和課中的具體教學(xué)實(shí)施過程,并對教學(xué)效果進(jìn)行分析,結(jié)果發(fā)現(xiàn)此教學(xué)模式極大地提高學(xué)生學(xué)習(xí)的積極性與主動(dòng)性,學(xué)生態(tài)度從“被動(dòng)學(xué)習(xí)”轉(zhuǎn)變成“主動(dòng)學(xué)習(xí)”。
關(guān)鍵詞:C語言程序設(shè)計(jì);EduCoder;獎(jiǎng)勵(lì)式測試機(jī)制;教學(xué)模式
1?概述
在大數(shù)據(jù)和人工智能等科技領(lǐng)域迅猛發(fā)展的背景下,掌握編程能力對于計(jì)算機(jī)專業(yè)學(xué)生而言是必不可少的技能,編程課程在計(jì)算機(jī)教學(xué)中的重要性與日俱增。目前編程類課程依然采用先講授后進(jìn)行實(shí)踐操作的模式,其中理論課講述語法知識等內(nèi)容,實(shí)驗(yàn)課以編程方式對所學(xué)理論知識進(jìn)行實(shí)際操作。在講授過程中理論部分往往是以教師為主,具體知識點(diǎn)的實(shí)踐留作課后作業(yè)布置給學(xué)生,讓學(xué)生課后自覺加強(qiáng)操作練習(xí)。由于學(xué)生在學(xué)習(xí)能力、自覺性、主動(dòng)性等方面存在一定的差異,學(xué)生人數(shù)增多導(dǎo)致作業(yè)量繁多,難以覆蓋到每個(gè)學(xué)生的作業(yè),也無法防止學(xué)生應(yīng)付交差現(xiàn)象,從而輕視對學(xué)生編程和調(diào)試能力的培養(yǎng)[12],影響了教學(xué)質(zhì)量的提高。
C語言程序設(shè)計(jì)課程要培養(yǎng)學(xué)生實(shí)踐技能,所以采用線上線下相結(jié)合的教學(xué)模式。中國大學(xué)MOOC平臺、超星網(wǎng)絡(luò)教學(xué)平臺等被各大高校廣泛使用[3],他們能有效地引導(dǎo)學(xué)生自主學(xué)習(xí),吸引學(xué)生對課程的關(guān)注和興趣,幫助學(xué)生提高學(xué)習(xí)效率,具有通用性。但這些平臺忽視了一些課程的獨(dú)特性,比如學(xué)生線上學(xué)習(xí)容易出現(xiàn)不專心聽課等現(xiàn)象,而平臺對此沒有設(shè)置健全的監(jiān)督機(jī)制。另外,在進(jìn)行實(shí)踐教學(xué)時(shí)不能精準(zhǔn)地跟蹤和激勵(lì)學(xué)生完成實(shí)驗(yàn)任務(wù),無法達(dá)到精準(zhǔn)訓(xùn)練、全面掌握知識點(diǎn)的目標(biāo)。
本文將結(jié)合EduCoder實(shí)訓(xùn)平臺實(shí)踐教學(xué)模塊的特點(diǎn),分析程序設(shè)計(jì)課程的整體設(shè)計(jì),為提高實(shí)踐教學(xué)質(zhì)量、構(gòu)建更高效的教學(xué)模式提供一個(gè)良好的實(shí)踐平臺,提出一些新的教學(xué)思路,改進(jìn)以往的教學(xué)模式,激發(fā)學(xué)生對編程的興趣。
2?課程總體設(shè)計(jì)
本文以新疆師范大學(xué)的程序設(shè)計(jì)課——C語言程序設(shè)計(jì)(C/C++)為例進(jìn)行分析,課程以C語言語法結(jié)構(gòu)及指針相關(guān)知識為主要內(nèi)容。通過本課程的學(xué)習(xí),學(xué)生初步具備了運(yùn)用編程語言和開發(fā)環(huán)境解決專業(yè)實(shí)際問題的能力,能夠了解C語言的基本結(jié)構(gòu),理解通過編程解決實(shí)際問題的基本過程,掌握編程方法和技巧。本課程通過EduCoder實(shí)訓(xùn)平臺,構(gòu)建更加高效的教學(xué)模式,進(jìn)行教學(xué)、實(shí)驗(yàn)和實(shí)訓(xùn)。
教學(xué)內(nèi)容上,教師主要講解C語言程序設(shè)計(jì)方法,與實(shí)際項(xiàng)目案例進(jìn)行融合,讓學(xué)生逐步形成編程思維。教學(xué)策略上,多引進(jìn)項(xiàng)目任務(wù),激勵(lì)學(xué)生圍繞問題主動(dòng)思考。在實(shí)驗(yàn)教學(xué)中,利用EduCoder將任務(wù)分發(fā)給學(xué)生,主動(dòng)團(tuán)隊(duì)精神的培養(yǎng)。
在教學(xué)評價(jià)方面,采取多種階段性評價(jià)機(jī)制,將其與總成績掛鉤,突顯學(xué)生在課堂上即時(shí)反饋的重要性。教師可多角度獲取學(xué)生學(xué)習(xí)數(shù)據(jù),比如提問、作業(yè)、小組討論等,通過EduCoder實(shí)訓(xùn)平臺監(jiān)督實(shí)訓(xùn)任務(wù),并根據(jù)情況調(diào)整教學(xué)方法??偨Y(jié)性評價(jià)采用項(xiàng)目作業(yè)方式,要求學(xué)生用C語言開發(fā)小型信息管理系統(tǒng),將理論知識轉(zhuǎn)化為實(shí)踐技能。
3?基于EduCoder的C語言課程實(shí)踐教學(xué)模式構(gòu)建
本課程以學(xué)生信息管理系統(tǒng)為案例,采用案例驅(qū)動(dòng)式教學(xué)法進(jìn)行教學(xué)。主要利用EduCoder實(shí)訓(xùn)平臺進(jìn)行教學(xué)模式構(gòu)建,其過程如下:
3.1?課前
在課前環(huán)節(jié),教師需要準(zhǔn)備個(gè)人教學(xué)資源和實(shí)訓(xùn)任務(wù),資源包括PPT課件、微視頻、示例程序源碼、課后習(xí)題詳解等。實(shí)訓(xùn)任務(wù)可選擇不同的難度。教師還要求學(xué)生通過中國慕課網(wǎng)觀看C語言精品課程視頻進(jìn)行自主學(xué)習(xí)。課前準(zhǔn)備活動(dòng)如圖1所示。
3.2?課中
在課堂開始后,先用5~10分鐘的時(shí)間將本節(jié)課的知識目標(biāo)詳細(xì)地講解,并提出一到兩個(gè)思考題。接著學(xué)生根據(jù)當(dāng)前學(xué)習(xí)進(jìn)度選擇并開始做相應(yīng)的實(shí)訓(xùn)任務(wù),教師通過EduCoder后臺所提供的數(shù)據(jù)對學(xué)生進(jìn)行監(jiān)督,并及時(shí)地解答其疑問。在課程結(jié)束前5~10分鐘內(nèi),讓學(xué)生進(jìn)行分組討論,并對其容易犯錯(cuò)誤的知識點(diǎn)進(jìn)行講解。
鑒于學(xué)生水平不一,實(shí)訓(xùn)任務(wù)既有層次分明、難度遞進(jìn)之特點(diǎn),因此他們可以靈活地調(diào)整實(shí)訓(xùn)任務(wù)的難度。這樣可以遵循學(xué)生對理論的掌握,又能夠讓學(xué)生隨時(shí)進(jìn)行實(shí)訓(xùn)任務(wù)。
在實(shí)訓(xùn)項(xiàng)目中,學(xué)生不僅能夠?qū)W習(xí)知識點(diǎn)、編寫代碼并進(jìn)行在線測評,還能通過積分和金幣等獎(jiǎng)勵(lì)機(jī)制來增加學(xué)習(xí)動(dòng)力和成就感。實(shí)訓(xùn)任務(wù)就像玩游戲一樣富有挑戰(zhàn)性和趣味性,在完成一個(gè)任務(wù)并獲得金幣后,學(xué)生會(huì)感到成就感,。每完成一關(guān),學(xué)生還可以通過討論或點(diǎn)評的方式相互交流并分享心得,從而加深對知識點(diǎn)的理解和掌握,提高實(shí)踐技能,增強(qiáng)信息。
課中教師利用闖關(guān)任務(wù)調(diào)整教學(xué)活動(dòng)。闖關(guān)任務(wù)本身就是實(shí)訓(xùn)任務(wù),要求學(xué)生用不同算法解決問題。教師實(shí)時(shí)監(jiān)測學(xué)生闖關(guān)情況,根據(jù)任務(wù)進(jìn)度調(diào)整挑戰(zhàn)難度。闖關(guān)任務(wù)比較學(xué)生用時(shí)和算法效率,增強(qiáng)學(xué)習(xí)動(dòng)力。學(xué)生分小組合作闖關(guān),培養(yǎng)團(tuán)隊(duì)精神,在游戲中掌握知識。通過闖關(guān)任務(wù),教師可以使課堂更加活躍和有效。
總而言之,課中環(huán)節(jié)主要分為講授、闖關(guān)和分享交流三個(gè)部分,使學(xué)生能夠積極參與挑戰(zhàn)性的實(shí)訓(xùn)任務(wù),課中教學(xué)活動(dòng)安排如圖2所示。
3.3?課后
在課堂結(jié)束后,學(xué)生可以隨時(shí)登錄EduCoder繼續(xù)進(jìn)行實(shí)驗(yàn),以彌補(bǔ)其未完成的部分,爭取跟上教學(xué)進(jìn)度。如遇到問題,可隨時(shí)查看慕課平臺上的相關(guān)視頻素材。全部同學(xué)完成任務(wù)后,EduCoder平臺將會(huì)自動(dòng)生成實(shí)訓(xùn)成績,例如通關(guān)時(shí)間、學(xué)員完成情況、總測評次數(shù)、總耗時(shí)和總經(jīng)驗(yàn)值,讓學(xué)生通過各種方式反饋?zhàn)约旱膶W(xué)習(xí)情況和問題,課后教學(xué)活動(dòng)的具體安排如圖3所示。綜上所述,通過課前、課中和課后相結(jié)合的方式,利用EduCoder在線教學(xué)平臺開展C語言課程實(shí)驗(yàn)教學(xué),積極引導(dǎo)學(xué)生參與課程學(xué)習(xí),培養(yǎng)他們的學(xué)習(xí)興趣和習(xí)慣。本課題以C語言程序設(shè)計(jì)課程為例,提出一種基于EduCoder實(shí)訓(xùn)平臺的實(shí)驗(yàn)教學(xué)模式,其詳細(xì)實(shí)施過程如圖4所示。
4?教學(xué)模式實(shí)施案例
本課程第11講是結(jié)構(gòu)體類型與鏈表操作,目標(biāo)是讓學(xué)生能夠掌握結(jié)構(gòu)體類型定義、結(jié)構(gòu)體變量的引用和初始化以及存儲(chǔ)空間的動(dòng)態(tài)分配,設(shè)計(jì)復(fù)雜的結(jié)構(gòu)體類型,鏈表的創(chuàng)建、遍歷、插入、刪除等操作。
課前,教師精選結(jié)構(gòu)體變量初始化與引用、結(jié)構(gòu)體數(shù)組、結(jié)構(gòu)體指針、結(jié)構(gòu)體存儲(chǔ)數(shù)據(jù)、鏈表操作等內(nèi)容,在EduCoder平臺上將實(shí)訓(xùn)任務(wù)設(shè)置成三個(gè)不同的關(guān)卡。同時(shí),把中國慕課網(wǎng)的C語言程序設(shè)計(jì)課程中有關(guān)結(jié)構(gòu)體的視頻資源提前發(fā)給學(xué)生,使超過一半要學(xué)習(xí)的內(nèi)容在上課前就已經(jīng)被學(xué)生完成了。
課堂開始之后,老師先花10分鐘時(shí)間向?qū)W生講解結(jié)構(gòu)體類型定義及其應(yīng)用的知識,以學(xué)生信息管理系統(tǒng)為例,說明該系統(tǒng)的數(shù)據(jù)存儲(chǔ)方式及結(jié)構(gòu),并提出思考題:與數(shù)組相比,該系統(tǒng)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)有何不同?老師希望學(xué)生能夠優(yōu)化學(xué)生信息管理系統(tǒng)的數(shù)據(jù)存儲(chǔ)方式。接下來,組織學(xué)生在60分鐘之內(nèi)完成所講內(nèi)容的實(shí)訓(xùn)任務(wù),其中一部分學(xué)生在前15分鐘可以補(bǔ)交上一節(jié)課的實(shí)訓(xùn)任務(wù)。教師及時(shí)解答學(xué)生的疑問,關(guān)注學(xué)生的進(jìn)度和情況。學(xué)生通關(guān)數(shù)據(jù)表明,大約40%的學(xué)生通過了所有的關(guān)卡,一半以上的關(guān)卡通關(guān)率覆蓋了全部學(xué)生。
課堂結(jié)束后,學(xué)生還被要求在實(shí)踐教學(xué)平臺上完成本節(jié)課的單元測試題,而沒有完成實(shí)訓(xùn)任務(wù)的學(xué)生將會(huì)被扣除學(xué)習(xí)積分,但還能夠獲得補(bǔ)做的機(jī)會(huì)。學(xué)生實(shí)訓(xùn)任務(wù)完成情況的統(tǒng)計(jì)如圖5所示。
5?教學(xué)效果總結(jié)
以C語言程序設(shè)計(jì)課程為例,利用EduCoder平臺嘗試新的課程實(shí)踐教學(xué)模式,將教學(xué)過程分為三個(gè)階段開展理論與實(shí)踐相結(jié)合的課堂教學(xué),讓學(xué)生的主動(dòng)性比以前有所增加,實(shí)訓(xùn)任務(wù)的完成覆蓋到全部學(xué)生。學(xué)生表示他們對編程的認(rèn)識和理解有了新的認(rèn)知,最初的編程帶來的危機(jī)感到現(xiàn)在已經(jīng)不復(fù)存在,越來越喜歡編程帶來的成就感。
本次課程所設(shè)置的考核指標(biāo)與往年有所不同,成績數(shù)據(jù)無法客觀地進(jìn)行比較,因此本課題采取問卷調(diào)查的方式對學(xué)生進(jìn)行調(diào)研。學(xué)生對本次課程教學(xué)模式的問卷調(diào)查結(jié)果如圖6所示,其中他們表示對融合EduCoder的新型教學(xué)模式比較滿意,但是對EduCoder平臺本身的青睞度略低。因?yàn)閷?shí)訓(xùn)任務(wù)內(nèi)容不夠貼切,學(xué)生處于適應(yīng)階段,實(shí)訓(xùn)資源在規(guī)模和質(zhì)量上還有提升的空間。
圖6?學(xué)生對本次課程教學(xué)模式的問卷調(diào)查結(jié)果
C語言程序設(shè)計(jì)作為實(shí)踐性極強(qiáng)的一門課,以項(xiàng)目驅(qū)動(dòng)為導(dǎo)向,注重學(xué)生的參與和主動(dòng)性。通過EduCoder平臺,學(xué)生都能從整體上理解所學(xué)知識的用途,加深對編程方法的理解,加之學(xué)生也受到平臺所提出的金幣激勵(lì)機(jī)制的鼓舞,讓學(xué)生逐步確立明確的學(xué)習(xí)目標(biāo)。這種教學(xué)模式充分彰顯“以學(xué)生為本”的理念,促進(jìn)學(xué)生從“被動(dòng)學(xué)習(xí)”向“主動(dòng)學(xué)習(xí)”的轉(zhuǎn)變。在EduCoder平臺實(shí)訓(xùn)任務(wù)和小組交流中學(xué)生都能積極參與,教學(xué)反饋更及時(shí),使教師與學(xué)生的互動(dòng)效率大大提高,有利于教師更合理地規(guī)劃教學(xué)計(jì)劃,提升教學(xué)效果。
學(xué)生對本次教學(xué)模式的實(shí)施反響很好,但具體實(shí)施時(shí)間較短,并不完善。在以下兩個(gè)方面需進(jìn)一步改進(jìn):一是要更加詳細(xì)地規(guī)劃各教學(xué)環(huán)節(jié)的具體實(shí)施方案,二是要擴(kuò)展豐富實(shí)訓(xùn)任務(wù)資源并優(yōu)化質(zhì)量。今后,本門課程計(jì)劃在設(shè)計(jì)實(shí)訓(xùn)任務(wù)、優(yōu)化評測方法、提高學(xué)生參與性等方面深入開展下一步的研究。
參考文獻(xiàn):
[1]梁志劍,常力丹,井超,等.基于全學(xué)時(shí)實(shí)驗(yàn)的程序設(shè)計(jì)基礎(chǔ)課程教學(xué)改革[J].計(jì)算機(jī)教育,2018(10):150153.
[2]馬凱,姜延.基于微課程的翻轉(zhuǎn)課堂教學(xué)設(shè)計(jì)實(shí)踐[J].計(jì)算機(jī)教育,2018(10):97100.
[3]張紅梅,拓明福,趙永梅,等.混合式教學(xué)在大學(xué)計(jì)算機(jī)基礎(chǔ)教學(xué)中的應(yīng)用探索[J].計(jì)算機(jī)工程與科學(xué),2019,41(S1):170173.
基金項(xiàng)目:新疆師范大學(xué)博士(博士后)科研啟動(dòng)基金(XJNUBS2007)
作者簡介:阿力木·木拉提(1988—?),男,維吾爾族,新疆阿克蘇人,博士,講師,研究方向:自然語言處理。