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