陳家俊, 郁書好
(皖西學院 電子與信息工程學院,安徽 六安 237012)
“C語言程序設計”是本科高校普遍選修的公共計算機基礎課程中的核心編程類課程,其具有涉及面廣、影響大、實踐性強等特點,因此,C語言課程的教學工作受到了計算機教育界的廣泛關注[1-5]。自2006年美國卡內基梅隆大學周以真教授提出計算思維[2]的概念以來,培養以計算思維為核心的C語言課程教學改革在國內各類高校紛紛開展,并取得了一系列的成果[1-2,6-7]。但由于C語言課程知識點豐富,具有較強的計算性、復雜性和應用性,課程開設面廣,涉及學生多,教師需求量大,因而在教學實施和管理過程中普遍暴露出教師隊伍缺乏、教學管理不便、教學評價不全面和教學效果較差等問題。為解決以上高校普遍存在的問題,探索一種新的教學模式和管理模式是目前公共計算機基礎課程亟待解決的問題。線上教學以具有跨地域性、資源共享性和便捷性等教育優勢近兩年來備受教育者的青睞,為做好高校線上教學組織與管理工作,提高公共計算機基礎課程線上教學質量,有效開展課程思政,充分發揮課堂教學在教書育人中的作用,文章結合“C語言程序設計”課程知識點的特點,提出一種基于計算思維與人本思維雙向驅動的線上教學模式,該教學模式的實施能夠大大提高課堂教學質量和課程思政教育效果。
“C語言程序設計”課程知識點豐富,具有較強的計算性、復雜性和應用性,課程的知識內容主要包括:C語言的基本概念、數據類型、運算符和表達式、程序設計控制結構、函數、數組、指針等內容。課程旨在結合一般數值計算培養學生掌握程序設計的基本方法與編程技巧,理解運用計算機進行科學計算的一般思路,培養學生應用計算機解決和處理實際問題的思維方法與基本能力。課程面向理工類專業大學一年級學生,涉及面廣。由于課程內容具有一定的計算性和復雜性,而面向的學生基礎薄弱,因此,本文根據學生知識層次和人文教育需要,以教學內容為出發點,以計算思維和應用能力培養為知識能力目標,以培養人本思維和對社會問題的思考能力為育人目標,提出基于計算思維和人本思維雙驅動的線上教學模式。在教學設計時,通過對知識點進行系統地篩選與沉淀、有針對性地設計實例和設計詳細的教學方法等手段,加強計算思維的培養;通過對學生密切關注的社會問題及學生應具有的人文思想進行調查和遴選、設計思政教育內容和教育方法等手段,加強課堂人本思維教育。總體設計思路如圖1所示。下面以“函數的定義與使用”線上教學為具體案例,分別從設計分析、教學方法、教學實施三個方面進行詳細的闡述。

圖1 總體設計思路
“函數的定義與使用”章節知識點豐富,通過對該章節知識點進行系統化歸納,主要包括:模塊化概念、函數的定義、函數的調用與參數傳遞、函數的嵌套和遞歸調用四大部分,四部分內容既包含基礎性知識,又具有一定的綜合性,知識特點上具有較強的計算性和邏輯性,知識點的應用方面具有一定的系統性和復雜性。教學設計中既要充分考慮學生的知識層次,讓學生理解復雜的計算思維和邏輯思維,培養學生學以致用的創新能力,又要將所學知識應用于社會問題,培養學生人本主義思維,加強人文教育。表1從知識模塊、教學目標、重點內容和教學方法上對該章節的教學進行詳細的分析。

表1 教學分析詳情
根據表1中知識模塊和對應的教學目標分析,根據各模塊知識點的特點,在教學設計中采用案例分析法、思維引導法、動態演示和路徑跟蹤等多種教學方法。
(1)基于人本思維的教學設計。根據表1分析,在知識點一和知識點三兩個模塊中加強了人本思維培養,并根據知識點的不同在教學中采用了不同的教學方法。在模塊一的教學中采用“實例分析+比較+思維引導法”。模塊化程序設計的基本思想是在編程過程中將大的程序按功能分割成一些小模塊,通過調用這些不同的小模塊來實現復雜程序的編程目標。根據模塊化程序設計的基本思想,授課時先對比講解模塊化設計的優點,舉例說明模塊化設計的開發方法: 自上向下,逐步分解,分而治之。為增強學生對理論學習的趣味性和實用性,本部分設計強調模塊化思想在實際問題中的應用,在課堂中引入思政教育,以人本主義思維教育為聚焦點,選取當前重要的話題作為實例,通過該實例培養學生通過網絡媒體及時關注當前重要時事動態的能力,增強學生的愛國主義精神、在重大問題上的大局意識和責任意識以及團隊合作精神。
(2)基于計算思維的教學設計。根據表1分析,在知識點三和知識點四兩個模塊中加強了計算思維培養。函數調用及參數傳遞過程是本章節難以理解的部分,只有理解計算機內部解決問題的邏輯思維,才能真正掌握本要點。因此,教學過程中旨在培養學生編程思維和計算思維能力,主要采用“實例分析+思維指導+動態演示法”。將知識化難為簡,先以容易理解的實例為對象,將相關知識點貫穿其中,讓學生先理解實際參數、形式參數、調用語句和傳遞過程,具體實例設計界面如圖2所示;再進一步講解知識的實際應用性,在教學中要求學生思考:如何設計一個用來判斷體溫是否正常的函數,并模擬通過該函數調用實現對多人進行體溫檢測排查。學生先思考,然后通過PPT分析指導、最后給出正確的設計代碼并演示實現過程。此環節設計旨在展示本章知識點的實用價值,培養學生的應用能力,達到學以致用的教學目標。具體實例設計如例1所示。函數調用過程中一個既抽象又重要的知識點便是實參和形參在內存空間中的變化問題,即:形參在函數被調用前不占內存,函數調用時為形參分配內存;調用結束,形參內存釋放。學生在學習過程中往往對內存空間數據的變化問題難以理解,為降低難度,使知識更具有理解性,教學中采用“實例+內存動態演示法”進行分析,以動畫演示內存空間變化形式組織教學,具體實例設計如例1和圖3所示。

圖2 函數調用及參數傳遞

圖3 參數傳遞動態調用
例1:編寫函數實現求X的立方。注意分析函數調用時內存空間的變化問題。
解題步驟:
第一步:根據函數定義知識,分析函數參數個數、參數類型和返回值類型,構建子函數 float cube(float x),其中x為形式參數。
參考代碼設計:float cube(float x)
{ return(x*x*x);
}
第二步:定義主函數main()函數,定義變量 a和product,并給實參a變量輸入值;在主函數中調用函數cube()函數,并將實參a的值傳遞給形參x。參考代碼設計:
main( )
{ float a, product;
printf("Please input value of a:");
scanf("%f",&a);
product=cube(a);
printf(”Cube of %.4f is %.4f ",a,product);
}
第三步:分析主函數和子函數中參數在內存中的分配情況,見圖3。主要強調:形參在函數被調用前不占用內存空間,當函數調用時,為形參分配內存空間,調用一旦結束,內存空間將被釋放。
函數的嵌套和遞歸調用模塊涉及深層次函數調用的過程,知識點難度大、實用性強,因此,教學設計時重點培養學生的計算思維和邏輯思維,采用“實例+路徑跟蹤分析法”,將復雜問題簡單化,增強學生理解性。例2和圖4給出了遞歸調用路徑分析法具體實例。
例 2: 有5個人坐在一起,問第5個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第3個人,又說比第2個人大2歲。問第2個人,說比第1個人大2歲。最后問第1個人,他說是10歲。請問第5個人多大。
解題思路:
第一步:根據題意,分析求解過程:包括兩個階段,第一階段是遞歸過程,第二階段是回溯過程,同時分析得到遞歸結束的終止條件為:第1個人10歲。
第二步:分析歸納遞推公式,并講解遞推過程和回推過程,通過分析得到遞推公式,進一步定義遞歸函數。具體分析過程如圖4所示。

圖4 遞歸調用路徑分析法實例
在教學過程中采用課前預學、課堂直播、實例演示、交流輔導和在線作業批改等完整教學組織形式。
(1)課前預學。考慮到大一學生編程基礎薄弱、線上教學適應能力差、主動學習能力不夠強等問題,在教學設計中首先設計一個詳細的PPT課件,并錄制一個詳細講解的視頻,讓學生提前預學,從而對課程內容有個全面的了解和掌握。
(2)課堂直播教學。直播前進行簽到,以提醒同學們做好直播準備。在正式授課前,用較短的時間進行課程導入,包括:對學生近期關心的問題進行回應、對課前預學情況進行通報、歸納本次課應該學習的主要知識點和重要內容等,以幫助學生對本次教學有個全面的了解。在直播過程中,始終圍繞培養計算思維和人本思維的教學目標,采用理論講授和案例分析相結合的線上教學,根據知識點的特點又分別采用思考提問法、思維引導法、動態演示和路徑跟蹤等多種教學方法;由于學生已經進行了預學任務,在理論講授時重在提高,加強計算思維和邏輯思維的培養,在案例分析過程中,根據知識點的難易度層次和應用性特點,理論結合實際,將典型實例在實驗環境下反復演示運行,鼓勵學生加強實驗,以增強學生的實驗動手能力。
(3)交流輔導。在線上教學過程中,學生可以在直播平臺留言,直播后,教師針對學生留言的問題進行交流輔導,同時,教師會根據本節課程重點或易錯問題布置思考題供學生交流。
(4)在線作業批改。直播結束后,布置作業,并要求學生在一定期限內上傳教學平臺,教師及時批閱,篩選優秀作業作為課程考核的加分項,不合格作業打回重做。通過作業情況及時總結學生掌握情況,從而改進教學方法。
在教學過程中采用課前導學、理論直播、實例演示、個性化交流和在線作業批改等完整教學組織形式,得到學生的一致好評,激發學生的學習熱情,學生參與度高,提高了學生對社會問題的關注度,增強了學生的自學能力,學生的作業質量得到明顯提高,教學效果得到大大提高。以“函數的定義與使用”線上教學數據為例,其中本班學生人數220人,外班旁聽人數99人,直接參與本次直播人數256人,達到91%,觀看人次為472人次,即平均每人重復學習約2次,點贊數達到1 558次,其中未參與直播的同學基本都能觀看回放完成線上教學任務。學生的作業質量得到明顯提高,此次作業布置和批改情況統計中,批閱的265份作業中優秀作業達到88%,學生作業工整,學習態度端正。
計算思維與人本思維相融合的線上教學設計既能將人文思想、社會重大問題等思政教育融入到課堂中,又能提高學生的計算思維和邏輯思維,培養學生實際動手能力和應用能力。基于計算思維與人本思維相融合的線上教學,具有收益面廣、教學視頻能反復收看等特點,因此線上教學的推廣能大大提高課堂教學質量和課程思政教育效果。