陳家俊, 郁書好
(皖西學(xué)院 電子與信息工程學(xué)院,安徽 六安 237012)
“C語言程序設(shè)計”是本科高校普遍選修的公共計算機(jī)基礎(chǔ)課程中的核心編程類課程,其具有涉及面廣、影響大、實(shí)踐性強(qiáng)等特點(diǎn),因此,C語言課程的教學(xué)工作受到了計算機(jī)教育界的廣泛關(guān)注[1-5]。自2006年美國卡內(nèi)基梅隆大學(xué)周以真教授提出計算思維[2]的概念以來,培養(yǎng)以計算思維為核心的C語言課程教學(xué)改革在國內(nèi)各類高校紛紛開展,并取得了一系列的成果[1-2,6-7]。但由于C語言課程知識點(diǎn)豐富,具有較強(qiáng)的計算性、復(fù)雜性和應(yīng)用性,課程開設(shè)面廣,涉及學(xué)生多,教師需求量大,因而在教學(xué)實(shí)施和管理過程中普遍暴露出教師隊伍缺乏、教學(xué)管理不便、教學(xué)評價不全面和教學(xué)效果較差等問題。為解決以上高校普遍存在的問題,探索一種新的教學(xué)模式和管理模式是目前公共計算機(jī)基礎(chǔ)課程亟待解決的問題。線上教學(xué)以具有跨地域性、資源共享性和便捷性等教育優(yōu)勢近兩年來備受教育者的青睞,為做好高校線上教學(xué)組織與管理工作,提高公共計算機(jī)基礎(chǔ)課程線上教學(xué)質(zhì)量,有效開展課程思政,充分發(fā)揮課堂教學(xué)在教書育人中的作用,文章結(jié)合“C語言程序設(shè)計”課程知識點(diǎn)的特點(diǎn),提出一種基于計算思維與人本思維雙向驅(qū)動的線上教學(xué)模式,該教學(xué)模式的實(shí)施能夠大大提高課堂教學(xué)質(zhì)量和課程思政教育效果。
“C語言程序設(shè)計”課程知識點(diǎn)豐富,具有較強(qiáng)的計算性、復(fù)雜性和應(yīng)用性,課程的知識內(nèi)容主要包括:C語言的基本概念、數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、程序設(shè)計控制結(jié)構(gòu)、函數(shù)、數(shù)組、指針等內(nèi)容。課程旨在結(jié)合一般數(shù)值計算培養(yǎng)學(xué)生掌握程序設(shè)計的基本方法與編程技巧,理解運(yùn)用計算機(jī)進(jìn)行科學(xué)計算的一般思路,培養(yǎng)學(xué)生應(yīng)用計算機(jī)解決和處理實(shí)際問題的思維方法與基本能力。課程面向理工類專業(yè)大學(xué)一年級學(xué)生,涉及面廣。由于課程內(nèi)容具有一定的計算性和復(fù)雜性,而面向的學(xué)生基礎(chǔ)薄弱,因此,本文根據(jù)學(xué)生知識層次和人文教育需要,以教學(xué)內(nèi)容為出發(fā)點(diǎn),以計算思維和應(yīng)用能力培養(yǎng)為知識能力目標(biāo),以培養(yǎng)人本思維和對社會問題的思考能力為育人目標(biāo),提出基于計算思維和人本思維雙驅(qū)動的線上教學(xué)模式。在教學(xué)設(shè)計時,通過對知識點(diǎn)進(jìn)行系統(tǒng)地篩選與沉淀、有針對性地設(shè)計實(shí)例和設(shè)計詳細(xì)的教學(xué)方法等手段,加強(qiáng)計算思維的培養(yǎng);通過對學(xué)生密切關(guān)注的社會問題及學(xué)生應(yīng)具有的人文思想進(jìn)行調(diào)查和遴選、設(shè)計思政教育內(nèi)容和教育方法等手段,加強(qiáng)課堂人本思維教育。總體設(shè)計思路如圖1所示。下面以“函數(shù)的定義與使用”線上教學(xué)為具體案例,分別從設(shè)計分析、教學(xué)方法、教學(xué)實(shí)施三個方面進(jìn)行詳細(xì)的闡述。
圖1 總體設(shè)計思路
“函數(shù)的定義與使用”章節(jié)知識點(diǎn)豐富,通過對該章節(jié)知識點(diǎn)進(jìn)行系統(tǒng)化歸納,主要包括:模塊化概念、函數(shù)的定義、函數(shù)的調(diào)用與參數(shù)傳遞、函數(shù)的嵌套和遞歸調(diào)用四大部分,四部分內(nèi)容既包含基礎(chǔ)性知識,又具有一定的綜合性,知識特點(diǎn)上具有較強(qiáng)的計算性和邏輯性,知識點(diǎn)的應(yīng)用方面具有一定的系統(tǒng)性和復(fù)雜性。教學(xué)設(shè)計中既要充分考慮學(xué)生的知識層次,讓學(xué)生理解復(fù)雜的計算思維和邏輯思維,培養(yǎng)學(xué)生學(xué)以致用的創(chuàng)新能力,又要將所學(xué)知識應(yīng)用于社會問題,培養(yǎng)學(xué)生人本主義思維,加強(qiáng)人文教育。表1從知識模塊、教學(xué)目標(biāo)、重點(diǎn)內(nèi)容和教學(xué)方法上對該章節(jié)的教學(xué)進(jìn)行詳細(xì)的分析。
表1 教學(xué)分析詳情
根據(jù)表1中知識模塊和對應(yīng)的教學(xué)目標(biāo)分析,根據(jù)各模塊知識點(diǎn)的特點(diǎn),在教學(xué)設(shè)計中采用案例分析法、思維引導(dǎo)法、動態(tài)演示和路徑跟蹤等多種教學(xué)方法。
(1)基于人本思維的教學(xué)設(shè)計。根據(jù)表1分析,在知識點(diǎn)一和知識點(diǎn)三兩個模塊中加強(qiáng)了人本思維培養(yǎng),并根據(jù)知識點(diǎn)的不同在教學(xué)中采用了不同的教學(xué)方法。在模塊一的教學(xué)中采用“實(shí)例分析+比較+思維引導(dǎo)法”。模塊化程序設(shè)計的基本思想是在編程過程中將大的程序按功能分割成一些小模塊,通過調(diào)用這些不同的小模塊來實(shí)現(xiàn)復(fù)雜程序的編程目標(biāo)。根據(jù)模塊化程序設(shè)計的基本思想,授課時先對比講解模塊化設(shè)計的優(yōu)點(diǎn),舉例說明模塊化設(shè)計的開發(fā)方法: 自上向下,逐步分解,分而治之。為增強(qiáng)學(xué)生對理論學(xué)習(xí)的趣味性和實(shí)用性,本部分設(shè)計強(qiáng)調(diào)模塊化思想在實(shí)際問題中的應(yīng)用,在課堂中引入思政教育,以人本主義思維教育為聚焦點(diǎn),選取當(dāng)前重要的話題作為實(shí)例,通過該實(shí)例培養(yǎng)學(xué)生通過網(wǎng)絡(luò)媒體及時關(guān)注當(dāng)前重要時事動態(tài)的能力,增強(qiáng)學(xué)生的愛國主義精神、在重大問題上的大局意識和責(zé)任意識以及團(tuán)隊合作精神。
(2)基于計算思維的教學(xué)設(shè)計。根據(jù)表1分析,在知識點(diǎn)三和知識點(diǎn)四兩個模塊中加強(qiáng)了計算思維培養(yǎng)。函數(shù)調(diào)用及參數(shù)傳遞過程是本章節(jié)難以理解的部分,只有理解計算機(jī)內(nèi)部解決問題的邏輯思維,才能真正掌握本要點(diǎn)。因此,教學(xué)過程中旨在培養(yǎng)學(xué)生編程思維和計算思維能力,主要采用“實(shí)例分析+思維指導(dǎo)+動態(tài)演示法”。將知識化難為簡,先以容易理解的實(shí)例為對象,將相關(guān)知識點(diǎn)貫穿其中,讓學(xué)生先理解實(shí)際參數(shù)、形式參數(shù)、調(diào)用語句和傳遞過程,具體實(shí)例設(shè)計界面如圖2所示;再進(jìn)一步講解知識的實(shí)際應(yīng)用性,在教學(xué)中要求學(xué)生思考:如何設(shè)計一個用來判斷體溫是否正常的函數(shù),并模擬通過該函數(shù)調(diào)用實(shí)現(xiàn)對多人進(jìn)行體溫檢測排查。學(xué)生先思考,然后通過PPT分析指導(dǎo)、最后給出正確的設(shè)計代碼并演示實(shí)現(xiàn)過程。此環(huán)節(jié)設(shè)計旨在展示本章知識點(diǎn)的實(shí)用價值,培養(yǎng)學(xué)生的應(yīng)用能力,達(dá)到學(xué)以致用的教學(xué)目標(biāo)。具體實(shí)例設(shè)計如例1所示。函數(shù)調(diào)用過程中一個既抽象又重要的知識點(diǎn)便是實(shí)參和形參在內(nèi)存空間中的變化問題,即:形參在函數(shù)被調(diào)用前不占內(nèi)存,函數(shù)調(diào)用時為形參分配內(nèi)存;調(diào)用結(jié)束,形參內(nèi)存釋放。學(xué)生在學(xué)習(xí)過程中往往對內(nèi)存空間數(shù)據(jù)的變化問題難以理解,為降低難度,使知識更具有理解性,教學(xué)中采用“實(shí)例+內(nèi)存動態(tài)演示法”進(jìn)行分析,以動畫演示內(nèi)存空間變化形式組織教學(xué),具體實(shí)例設(shè)計如例1和圖3所示。
圖2 函數(shù)調(diào)用及參數(shù)傳遞
圖3 參數(shù)傳遞動態(tài)調(diào)用
例1:編寫函數(shù)實(shí)現(xiàn)求X的立方。注意分析函數(shù)調(diào)用時內(nèi)存空間的變化問題。
解題步驟:
第一步:根據(jù)函數(shù)定義知識,分析函數(shù)參數(shù)個數(shù)、參數(shù)類型和返回值類型,構(gòu)建子函數(shù) float cube(float x),其中x為形式參數(shù)。
參考代碼設(shè)計:float cube(float x)
{ return(x*x*x);
}
第二步:定義主函數(shù)main()函數(shù),定義變量 a和product,并給實(shí)參a變量輸入值;在主函數(shù)中調(diào)用函數(shù)cube()函數(shù),并將實(shí)參a的值傳遞給形參x。參考代碼設(shè)計:
main( )
{ float a, product;
printf("Please input value of a:");
scanf("%f",&a);
product=cube(a);
printf(”Cube of %.4f is %.4f ",a,product);
}
第三步:分析主函數(shù)和子函數(shù)中參數(shù)在內(nèi)存中的分配情況,見圖3。主要強(qiáng)調(diào):形參在函數(shù)被調(diào)用前不占用內(nèi)存空間,當(dāng)函數(shù)調(diào)用時,為形參分配內(nèi)存空間,調(diào)用一旦結(jié)束,內(nèi)存空間將被釋放。
函數(shù)的嵌套和遞歸調(diào)用模塊涉及深層次函數(shù)調(diào)用的過程,知識點(diǎn)難度大、實(shí)用性強(qiáng),因此,教學(xué)設(shè)計時重點(diǎn)培養(yǎng)學(xué)生的計算思維和邏輯思維,采用“實(shí)例+路徑跟蹤分析法”,將復(fù)雜問題簡單化,增強(qiáng)學(xué)生理解性。例2和圖4給出了遞歸調(diào)用路徑分析法具體實(shí)例。
例 2: 有5個人坐在一起,問第5個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第3個人,又說比第2個人大2歲。問第2個人,說比第1個人大2歲。最后問第1個人,他說是10歲。請問第5個人多大。
解題思路:
第一步:根據(jù)題意,分析求解過程:包括兩個階段,第一階段是遞歸過程,第二階段是回溯過程,同時分析得到遞歸結(jié)束的終止條件為:第1個人10歲。
第二步:分析歸納遞推公式,并講解遞推過程和回推過程,通過分析得到遞推公式,進(jìn)一步定義遞歸函數(shù)。具體分析過程如圖4所示。
圖4 遞歸調(diào)用路徑分析法實(shí)例
在教學(xué)過程中采用課前預(yù)學(xué)、課堂直播、實(shí)例演示、交流輔導(dǎo)和在線作業(yè)批改等完整教學(xué)組織形式。
(1)課前預(yù)學(xué)??紤]到大一學(xué)生編程基礎(chǔ)薄弱、線上教學(xué)適應(yīng)能力差、主動學(xué)習(xí)能力不夠強(qiáng)等問題,在教學(xué)設(shè)計中首先設(shè)計一個詳細(xì)的PPT課件,并錄制一個詳細(xì)講解的視頻,讓學(xué)生提前預(yù)學(xué),從而對課程內(nèi)容有個全面的了解和掌握。
(2)課堂直播教學(xué)。直播前進(jìn)行簽到,以提醒同學(xué)們做好直播準(zhǔn)備。在正式授課前,用較短的時間進(jìn)行課程導(dǎo)入,包括:對學(xué)生近期關(guān)心的問題進(jìn)行回應(yīng)、對課前預(yù)學(xué)情況進(jìn)行通報、歸納本次課應(yīng)該學(xué)習(xí)的主要知識點(diǎn)和重要內(nèi)容等,以幫助學(xué)生對本次教學(xué)有個全面的了解。在直播過程中,始終圍繞培養(yǎng)計算思維和人本思維的教學(xué)目標(biāo),采用理論講授和案例分析相結(jié)合的線上教學(xué),根據(jù)知識點(diǎn)的特點(diǎn)又分別采用思考提問法、思維引導(dǎo)法、動態(tài)演示和路徑跟蹤等多種教學(xué)方法;由于學(xué)生已經(jīng)進(jìn)行了預(yù)學(xué)任務(wù),在理論講授時重在提高,加強(qiáng)計算思維和邏輯思維的培養(yǎng),在案例分析過程中,根據(jù)知識點(diǎn)的難易度層次和應(yīng)用性特點(diǎn),理論結(jié)合實(shí)際,將典型實(shí)例在實(shí)驗環(huán)境下反復(fù)演示運(yùn)行,鼓勵學(xué)生加強(qiáng)實(shí)驗,以增強(qiáng)學(xué)生的實(shí)驗動手能力。
(3)交流輔導(dǎo)。在線上教學(xué)過程中,學(xué)生可以在直播平臺留言,直播后,教師針對學(xué)生留言的問題進(jìn)行交流輔導(dǎo),同時,教師會根據(jù)本節(jié)課程重點(diǎn)或易錯問題布置思考題供學(xué)生交流。
(4)在線作業(yè)批改。直播結(jié)束后,布置作業(yè),并要求學(xué)生在一定期限內(nèi)上傳教學(xué)平臺,教師及時批閱,篩選優(yōu)秀作業(yè)作為課程考核的加分項,不合格作業(yè)打回重做。通過作業(yè)情況及時總結(jié)學(xué)生掌握情況,從而改進(jìn)教學(xué)方法。
在教學(xué)過程中采用課前導(dǎo)學(xué)、理論直播、實(shí)例演示、個性化交流和在線作業(yè)批改等完整教學(xué)組織形式,得到學(xué)生的一致好評,激發(fā)學(xué)生的學(xué)習(xí)熱情,學(xué)生參與度高,提高了學(xué)生對社會問題的關(guān)注度,增強(qiáng)了學(xué)生的自學(xué)能力,學(xué)生的作業(yè)質(zhì)量得到明顯提高,教學(xué)效果得到大大提高。以“函數(shù)的定義與使用”線上教學(xué)數(shù)據(jù)為例,其中本班學(xué)生人數(shù)220人,外班旁聽人數(shù)99人,直接參與本次直播人數(shù)256人,達(dá)到91%,觀看人次為472人次,即平均每人重復(fù)學(xué)習(xí)約2次,點(diǎn)贊數(shù)達(dá)到1 558次,其中未參與直播的同學(xué)基本都能觀看回放完成線上教學(xué)任務(wù)。學(xué)生的作業(yè)質(zhì)量得到明顯提高,此次作業(yè)布置和批改情況統(tǒng)計中,批閱的265份作業(yè)中優(yōu)秀作業(yè)達(dá)到88%,學(xué)生作業(yè)工整,學(xué)習(xí)態(tài)度端正。
計算思維與人本思維相融合的線上教學(xué)設(shè)計既能將人文思想、社會重大問題等思政教育融入到課堂中,又能提高學(xué)生的計算思維和邏輯思維,培養(yǎng)學(xué)生實(shí)際動手能力和應(yīng)用能力。基于計算思維與人本思維相融合的線上教學(xué),具有收益面廣、教學(xué)視頻能反復(fù)收看等特點(diǎn),因此線上教學(xué)的推廣能大大提高課堂教學(xué)質(zhì)量和課程思政教育效果。