張麗 李菊
摘要:C++程序設(shè)計(jì)是理工科高校新生的必修課程,也是后續(xù)課程如數(shù)據(jù)結(jié)構(gòu)、Java程序設(shè)計(jì)的先導(dǎo)課程。通過分析本課程在傳統(tǒng)教學(xué)過程中存在的問題,針對(duì)這些問題,使用混合式教學(xué)模式進(jìn)行教學(xué)改革,合理設(shè)計(jì)在線教學(xué)資源,在線下教學(xué)中引入翻轉(zhuǎn)課堂,采用OJ實(shí)時(shí)評(píng)測(cè)學(xué)生編程題目,使用過程化考核優(yōu)化考核方式,以期達(dá)到提高學(xué)生學(xué)習(xí)興趣,加強(qiáng)學(xué)習(xí)主動(dòng)性,增強(qiáng)動(dòng)手實(shí)踐能力的效果。
關(guān)鍵詞:C++;混合式教學(xué);翻轉(zhuǎn)課堂;在線評(píng)測(cè);程序設(shè)計(jì)
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)27-0161-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 引言
在當(dāng)前信息化時(shí)代,如何提升本科教育質(zhì)量已經(jīng)成為課程教學(xué)改革的焦點(diǎn)[1]。C++程序設(shè)計(jì)課程是理工科高校新生的必修課程,一般開設(shè)在大一學(xué)期。通過本課程的學(xué)習(xí)使學(xué)生掌握面向?qū)ο蟮幕靖拍睿瑢W(xué)會(huì)程序設(shè)計(jì)的基本方法和技能,使學(xué)生能編寫出符合規(guī)范和性能良好的程序,是學(xué)好后續(xù)課程如數(shù)據(jù)結(jié)構(gòu)、Java程序設(shè)計(jì)等的基礎(chǔ),也是培養(yǎng)學(xué)生編程思維的關(guān)鍵課程。
然而,C++程序設(shè)計(jì)課程的目前教學(xué)中存在一些問題,例如教學(xué)模式比較傳統(tǒng),多采用理論教學(xué)為主,課后上機(jī)為輔的形式 [2],教學(xué)過程中更側(cè)重于語(yǔ)法,學(xué)生的學(xué)習(xí)積極性和主動(dòng)性不高,動(dòng)手實(shí)踐能力較差。針對(duì)這些問題,目前有很多學(xué)者提出了線上線下混合式教學(xué)模式。梁小林[3]等采用了新一代信息技術(shù),構(gòu)建了線上線下相結(jié)合的完整的教學(xué)體系,取得了良好的效果。汪中[2]等構(gòu)建了基于“超星學(xué)習(xí)通+課堂教學(xué)+在線評(píng)測(cè)系統(tǒng)”的混合式教學(xué)模式,優(yōu)化考核體系,達(dá)到課程改革的預(yù)期目標(biāo)。王全蕊[4]提出了漸進(jìn)式翻轉(zhuǎn)課堂模式,采用課堂授課和在線學(xué)習(xí)平臺(tái)結(jié)合的模式。
本文通過分析課程的教學(xué)現(xiàn)狀,針對(duì)存在的問題,在教學(xué)過程中探索使用混合式教學(xué)模式,充分利用豐富的線上資源設(shè)計(jì)在線教學(xué),在線下教學(xué)中引入翻轉(zhuǎn)課堂,使用在線評(píng)測(cè)系統(tǒng)及時(shí)評(píng)判學(xué)生上機(jī)實(shí)踐結(jié)果,并采用過程化考核優(yōu)化考核方式,從而提高學(xué)生的學(xué)習(xí)主動(dòng)性,增強(qiáng)學(xué)生動(dòng)手能力。
2 C++程序設(shè)計(jì)課程現(xiàn)狀
目前大多數(shù)高校講授C++程序設(shè)計(jì)課程時(shí)仍然采用傳統(tǒng)的教學(xué)方式,包括課堂理論教學(xué),課下習(xí)題鞏固和上機(jī)實(shí)踐,考核方式主要以期末考試為主,分析這種方式存在的主要問題有以下幾點(diǎn):
(1)教學(xué)方式陳舊
教學(xué)方式主要以課堂為中心,以多媒體教學(xué)為手段講授書本知識(shí)。尤其是在大班教學(xué)中,這種教學(xué)模式不利于提高學(xué)生的學(xué)習(xí)興趣,不能更好地培養(yǎng)具有創(chuàng)造能力的人才。
(2) 部分學(xué)生缺乏學(xué)習(xí)的主動(dòng)性和積極性
在本學(xué)院中,C++程序設(shè)計(jì)是大一學(xué)生的專業(yè)基礎(chǔ)課,學(xué)生的計(jì)算機(jī)思維還沒有形成,學(xué)習(xí)本課程存在一定難度。同時(shí),課程的語(yǔ)法知識(shí)點(diǎn)瑣碎、分散,容易混淆且難于記憶,因此,在教學(xué)過程中教師需要重點(diǎn)講解課本中的知識(shí)點(diǎn),導(dǎo)致學(xué)生缺乏自主學(xué)習(xí)和主動(dòng)構(gòu)建知識(shí)體系的能力。
(3) 學(xué)生編程能力差異大,部分學(xué)生實(shí)踐動(dòng)手能力不高
學(xué)生編程能力程度層次不同,部分學(xué)生面臨能聽懂課,卻不會(huì)編程的困難,但是也有部分學(xué)習(xí)成績(jī)較好的學(xué)生希望得到更充分的編程鍛煉。同時(shí),學(xué)生編程作業(yè)提交后,沒有得到及時(shí)的結(jié)果反饋,無法及時(shí)改正程序。因此需要將編程作業(yè)分層次,同時(shí)需要更快速反饋學(xué)生上機(jī)實(shí)踐結(jié)果。
(4) 傳統(tǒng)考核方式重語(yǔ)法而輕實(shí)踐,缺乏思維和能力的培養(yǎng)
在本學(xué)院中,C++程序設(shè)計(jì)課程考核期末考試占比70%,采用紙質(zhì)考試形式。因此,試卷內(nèi)容仍然是以考查理論知識(shí)為主,忽略了程序設(shè)計(jì)課程的本質(zhì),為了通過考試,學(xué)生將更多時(shí)間用于理論題目,而動(dòng)手及實(shí)踐能力并沒有顯著提升。
因此,改變C++程序設(shè)計(jì)課程的傳統(tǒng)教學(xué)模式,采用線上線下相結(jié)合的混合教學(xué)模式,提高教學(xué)質(zhì)量,已成為教學(xué)改革中的一個(gè)重要研究課題[5]。
3 構(gòu)建線上線下混合教學(xué)模式
本文提出的線上線下混合教學(xué)模式設(shè)計(jì)如圖1所示,包括課前、課堂、課后和過程化考核四個(gè)環(huán)節(jié)。課前環(huán)節(jié)教師規(guī)劃設(shè)計(jì)線上教學(xué)資源,并設(shè)計(jì)學(xué)習(xí)任務(wù)單,指導(dǎo)學(xué)生完成課前自學(xué),同時(shí)關(guān)注學(xué)生的互助討論;課堂環(huán)節(jié)引入翻轉(zhuǎn)課堂,教師布置任務(wù)指導(dǎo)學(xué)生分組討論,根據(jù)學(xué)生學(xué)習(xí)情況進(jìn)行重難點(diǎn)拓展講解和指導(dǎo)答疑,重點(diǎn)加強(qiáng)實(shí)踐環(huán)節(jié)的教學(xué)指導(dǎo),通過算法思路闡述、流程圖講解、題目拓展方式,加強(qiáng)學(xué)生編程能力的培養(yǎng);課后環(huán)節(jié)教師布置章節(jié)作業(yè)促進(jìn)學(xué)生知識(shí)點(diǎn)鞏固,并引入OJ及時(shí)反饋學(xué)生編程結(jié)果,最后采用過程化考核方式考核學(xué)生的課前線上自學(xué),課中任務(wù)完成情況、編程練習(xí)結(jié)果和期末考試情況。
3.1 課前環(huán)節(jié)
教師分析教學(xué)內(nèi)容中組成部分,針對(duì)教材中的章節(jié),劃分出不同的知識(shí)點(diǎn),分割成若干獨(dú)立教學(xué)單元,設(shè)計(jì)在線教學(xué)內(nèi)容。例如第3章程序設(shè)計(jì)初步,可進(jìn)一步分解成順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三小節(jié)內(nèi)容,順序結(jié)構(gòu)主要的知識(shí)點(diǎn)是語(yǔ)句和輸入輸出,選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)又可以分解成if-else、switch、選擇結(jié)構(gòu)嵌套和while、do-while、for幾個(gè)知識(shí)點(diǎn),如圖2所示。這樣可以把教學(xué)內(nèi)容分解成“章—節(jié)—知識(shí)點(diǎn)”的三級(jí)結(jié)構(gòu)[6],根據(jù)劃分知識(shí)點(diǎn),設(shè)計(jì)在線課程。一方面可以選擇合適的線上視頻資源,另一方面可以錄制一些視頻作為補(bǔ)充,選擇合適平臺(tái),例如學(xué)習(xí)通,設(shè)計(jì)適合本學(xué)院學(xué)生的在線課程。
為了更好地指導(dǎo)學(xué)生完成線上課程學(xué)習(xí),教師設(shè)定線上學(xué)習(xí)任務(wù)單,針對(duì)教學(xué)內(nèi)容,制定教學(xué)目標(biāo),給出詳細(xì)的課前學(xué)習(xí)任務(wù)單和課后作業(yè)任務(wù)單。學(xué)生課前觀看學(xué)習(xí)視頻,完成自主學(xué)習(xí)過程后,教師需要檢查學(xué)生的學(xué)習(xí)進(jìn)度。學(xué)生在互動(dòng)討論區(qū)提出問題,教師回答問題,并收集學(xué)生提出較多的問題。
3.2 課堂環(huán)節(jié)
課堂上采用翻轉(zhuǎn)課堂,優(yōu)化線下教學(xué)方式,改變傳統(tǒng)課堂中以教師為主導(dǎo)的狀況,使學(xué)生成為學(xué)習(xí)的主導(dǎo)者,而教師則成為學(xué)習(xí)的引導(dǎo)者[7]。學(xué)生通過課前自學(xué),基本理解了本節(jié)課的內(nèi)容,并且已經(jīng)提出了自己的問題。教師可以布置任務(wù),讓學(xué)生通過分組討論對(duì)知識(shí)點(diǎn)進(jìn)行梳理強(qiáng)化,通過小組展示上臺(tái)講解的方式,獲取學(xué)生真實(shí)的學(xué)習(xí)情況和存在的問題。對(duì)本節(jié)課的重難點(diǎn)和學(xué)生問題較多的地方,教師要進(jìn)行重點(diǎn)講解,讓學(xué)生的能力得到拓展。對(duì)于初次采用翻轉(zhuǎn)課堂進(jìn)行線下教學(xué),可以每章選擇重要知識(shí)點(diǎn)進(jìn)行教學(xué)試點(diǎn),后期根據(jù)實(shí)施情況進(jìn)行合理調(diào)整。
課堂環(huán)節(jié)中需要重點(diǎn)進(jìn)行實(shí)踐環(huán)節(jié)的教學(xué)和指導(dǎo),對(duì)于學(xué)生算法思維訓(xùn)練進(jìn)行加強(qiáng),可以采用循序漸進(jìn)的方式。例如,在實(shí)際教學(xué)中循環(huán)的學(xué)習(xí)一直是學(xué)生的難點(diǎn),教材中有雙重循環(huán)的編程例題:找出100~200之間的全部素?cái)?shù)。我們首先講解如何判斷一個(gè)數(shù)為素?cái)?shù),通過流程圖的方式對(duì)算法思路進(jìn)行講解,并編寫程序。然后再過渡到如何實(shí)現(xiàn)判斷100~200之內(nèi)的數(shù)為素?cái)?shù),從而讓學(xué)生更容易理解。
3.3 課后環(huán)節(jié)
對(duì)于任何知識(shí)的學(xué)習(xí),課后的復(fù)習(xí)鞏固都非常重要。對(duì)于編程語(yǔ)言來說,語(yǔ)法是寫程序的基礎(chǔ),因此課后環(huán)節(jié)需要兼顧語(yǔ)法知識(shí)的掌握和編程能力的提高。我們?cè)趯W(xué)習(xí)通平臺(tái)上設(shè)計(jì)了每章節(jié)的練習(xí)題目,設(shè)定了完成時(shí)間,要求學(xué)生在規(guī)定時(shí)間完成作業(yè),作為過程考核的一部分。通過這些練習(xí)題目,幫助學(xué)生鞏固語(yǔ)法知識(shí)。針對(duì)學(xué)生編程的練習(xí),我們?cè)O(shè)計(jì)了基礎(chǔ)題目和拓展題目,并采用OJ實(shí)時(shí)評(píng)判學(xué)生程序設(shè)計(jì)。基礎(chǔ)題目要求所有學(xué)生完成,拓展題目難度大于基礎(chǔ)題目,要求成績(jī)中等以上的學(xué)生完成,加強(qiáng)學(xué)生編程能力的提高。同時(shí),我們?cè)O(shè)計(jì)了游戲開發(fā)題目[8],作為拓展題目一部分,極大提高了學(xué)生們的編程興趣。對(duì)于典型題目,我們錄制了編程題講解視頻,并上傳到了學(xué)習(xí)通平臺(tái),供學(xué)生課后多次觀看。
3.4 過程化考核環(huán)節(jié)
優(yōu)化傳統(tǒng)的考核方式,注重階段考核,針對(duì)學(xué)生就在線資源的學(xué)習(xí)情況、課堂互動(dòng)情況、每章練習(xí)題目作答情況、OJ評(píng)測(cè)的程序編寫情況以及期末考試多方面進(jìn)行考核,更科學(xué)、更能激勵(lì)學(xué)生的學(xué)習(xí)積極性。各方面考核內(nèi)容和比重如表1所示。
4 結(jié)論
本文探索了C++程序設(shè)計(jì)線上線下混合的教學(xué)模式,改變傳統(tǒng)教學(xué)中以教師為主導(dǎo)的方式,探索以學(xué)生為中心,教師更多的是對(duì)學(xué)習(xí)進(jìn)行指導(dǎo)的新方式,以達(dá)到提高學(xué)生學(xué)習(xí)興趣,提升學(xué)習(xí)效果的目的。在實(shí)際的實(shí)施過程中,通過匿名調(diào)查問卷方式獲取到絕大多數(shù)學(xué)生認(rèn)可新的方式,同時(shí)學(xué)生學(xué)習(xí)C++的興趣也得到了明顯的加強(qiáng),動(dòng)手實(shí)踐能力得到了提高。
當(dāng)然,本模式還存在待改進(jìn)的方面,例如,線上教學(xué)資源的建設(shè)、大班翻轉(zhuǎn)課堂的合理設(shè)計(jì)和應(yīng)用等,需要在后續(xù)C++程序設(shè)計(jì)教學(xué)實(shí)踐中進(jìn)一步探索。
參考文獻(xiàn):
[1] 馮光,金強(qiáng)山.“混合式+項(xiàng)目化”模式在“C程序設(shè)計(jì)”教學(xué)中的實(shí)驗(yàn)研究[J].計(jì)算機(jī)時(shí)代,2020(10):79-81,85.
[2] 汪中,施培蓓.“互聯(lián)網(wǎng)+”背景下“C++程序設(shè)計(jì)課程”教學(xué)改革與實(shí)踐[J].合肥師范學(xué)院學(xué)報(bào),2021,39(3):83-85.
[3] 梁小林,胡育勇,孫志宏.新工科程序設(shè)計(jì)類課程智慧課堂創(chuàng)新與實(shí)踐——以河北經(jīng)貿(mào)大學(xué)《C++程序設(shè)計(jì)》課程為例[J].滄州師范學(xué)院學(xué)報(bào),2021,37(3):113-118.
[4] 王全蕊.C++程序設(shè)計(jì)遞進(jìn)式翻轉(zhuǎn)教學(xué)模式的實(shí)踐研究[J].河南科技學(xué)院學(xué)報(bào),2020,40(8):59-64.
[5] 李素若.基于慕課的編程類課程混合式教學(xué)模式研究與實(shí)踐——以《C++程序設(shè)計(jì)》為例[J].軟件導(dǎo)刊,2017,16(1):189-191.
[6] 樊志平,金政哲.慕課環(huán)境下教學(xué)新模式研究——以“C語(yǔ)言程序設(shè)計(jì)”課程為例[J].電腦知識(shí)與技術(shù),2017,13(30):134-135.
[7] 蘇小紅,王甜甜,張羽,等.基于大班翻轉(zhuǎn)課堂的混合教學(xué)模式探索與實(shí)踐[J].中國(guó)大學(xué)教學(xué),2017(7):54-62.
[8] 童晶,丁海軍,金永霞.C語(yǔ)言課程設(shè)計(jì)與游戲開發(fā)實(shí)踐教程[M].北京:清華大學(xué)出版社,2017.
【通聯(lián)編輯:王力】