葉亞琴 (中國地質大學(武漢)信息工程學院,湖北 武漢 430074)
陳 波 (武漢中地數碼科技有限公司,湖北 武漢 430074)
高等院校《計算機編程基礎》課程的漸進式教學模式探討
葉亞琴 (中國地質大學(武漢)信息工程學院,湖北 武漢 430074)
陳 波 (武漢中地數碼科技有限公司,湖北 武漢 430074)
《計算機編程基礎》是計算機專業學生學習的一門基礎課。針對該課程的教學實際,具體闡述了漸進式教學模式階段特點和相應策略。教學實踐表明,采用該教學模式能夠激發學生的學習興趣并提高學生綜合運用知識解決實際問題的能力。
高等院校;計算機編程基礎;漸進式教學法
《計算機編程基礎》是高等院校計算機專業學生學習的一門專業基礎課程,是學生學好其他專業課程的重要前提。目前該課程的教學模式是向學生灌輸高級編程語言的基本語法[1-3],并要求學生使用語法完成一些功能(如實現加法函數),學生雖然學習了各個知識點,但不能整體掌握該課程的精髓,難以將面向對象的思想與計算機高級程序語言進行融合,以至于所掌握的知識不足以支持實際軟件開發。針對上述狀況,亟需引進一種能面向全體學生且利于學生專業發展的編程語言教學模式。為此,筆者根據該課程的教學實際對漸進式教學模式進行了探討。
1.1初級階段
對于大一新生來說,其對計算機編程的概念比較模糊。因此,教師首先需要向學生強調計算機軟件編程在信息化產業的作用,讓學生充分認識到學習該課程的重要性。教師在初級階段應讓學生背誦編程的基本語法,并模仿一些經典程序解決一些小問題,其目的是讓學生迅速入門,掌握調試技巧并能夠熟練應用,同時培養學生分析與解決問題的能力。此外,教師在教學過程中對獲得進步的學生要及時給予表揚和鼓勵,使其對計算機編程產生濃厚興趣,從而更加積極主動地學習該課程。
1.2提高階段
當學生掌握編程的基本語法后進入到類的繼承和多態部分的學習時,很多學生感到十分吃力,為了學生深刻理解上述內容,筆者采取如下措施:①注重講課邏輯和及時總結知識點;②將一些代碼發放給學生進行閱讀,再讓他們在理解的基礎上對程序進行修改并解決一些實際問題。這樣學生既提高了代碼閱讀量又掌握了一般的編程方法,為下階段的學習打下了堅實基礎。
1.3強化階段
經過上述階段的學習,學生對編程語言及一般的編程方法都有所了解,在此基礎上教師應進一步培養學生編程思維能力,具體方法是以實際問題驅動的方式,通過實例講授程序設計的基本概念和方法,把講課重點放在解題思路上,使學生掌握具體的程序設計思想并養成良好的程序設計習慣[4]。此外,可以安排學有余力的學生進行綜合課程設計,讓學生通過實戰訓練以脫離現有代碼的幫助,最終能夠進行自主編程。
2.1注意專業術語的講解
由于初學者對相關編程專業術語不熟悉,導致他們不能順利理解相應知識點,因而教師在教學時應注意將專業術語講解透徹,為學生掌握相關教學內容打下良好基礎。
2.2適時歸納總結教學內容
教師在教學中適時歸納總結知識點,使學生加深對相應知識點的理解。例如,在學習自定義數據的枚舉、結構體和聯合體3種類型的教學內容后,教師應在課堂上與學生共同歸納總結3種數據類型的適用范圍,并給學生布置若干習題,通過上述過程可以幫助學生充分理解自定義數據的教學內容。又如類的繼承與派生的教學內容中涉及到到public、private和protected 3種繼承方式,教師在講授相關內容后,應進一步引導學生歸納總結類的3種繼承方式之間的區別及各繼承方式的適用范圍,使學生能夠在整體上把握類的3種繼承方式的相關內容。此外,對于學生在學習過程中出現的共通性問題,教師應將其歸總并解答,再加入到FAQ集中供學生查看。這樣既能減少教師一對一答題的時間,又能讓學生認識到學習中歸納總結知識點的重要性。
2.3注重章節間的銜接
由于該課程的各個章節的知識點是相對獨立的,容易在學生的頭腦中形成支離破碎的感覺。因此,教師在教學過程進入下一個章節時,應將已學習的章節中的相關知識點進行串接,使學生能夠順利地學習下一章節的教學內容。
2.4加強實踐能力的培養
該課程的實際操作性很強,若學生只在課堂上聽講或閱讀程序,其學習過程是被動的,這對培養學生的動手能力十分不利。為此,應強化上機實踐過程,只有這樣才能真正提高學生靈活運用課程知識的能力。為保證上機質量,可以采取如下措施:編寫規范的上機指導書引導學生編程;要求學生熟練掌握調試技巧并學會獨立分析與解決問題;招募高年級學生成為學習志愿者幫助學生解決學習過程中出現的問題;教師對學生的上機結果進行“提問式檢查”,從而督促學生自己獨立完成編程任務。
將漸進式教學法應用到該課程的教學中,強調在初級階段激發學生的學習興趣、培養學生形成基本的編程思想,在提高階段消化疑難知識點的基礎上提高調試技能,在強化階段引導學生自主編程。以階段性目標為指導,在每個階段采用不同的方法促進學生由被動學習向主動學習轉換,最終提高學生綜合運用知識解決實際問題的能力,從根本上解決學生學習該課程時存在的入門難、動手難、提高難的“三難”問題。
[1]高枚,楊志強,許蘭蘭,等.C/C++教學改革的探索與實踐[J].計算機時代,2005 (11):8-10.
[2]沈天晴,劉維富,丁衛平.VC++程序設計基礎課程實踐教學方法的探討[J].南通大學學報(教育科學版),2005,21(3):88-90.
[3]李桂珍,徐玉蓮.“C語言程序設計”教學的思考與實踐——變被動為主動全方面促進C語言教學[J].電腦知識與技術,2010,16(12):3146-3147.
[4]王昕.《面向對象程序設計課程》項目教學法的探索[J].電腦知識與技術,2011,17(5): 3627-3631.
10.3969/j.issn.1673-1409(N).2012.08.060
N4
A
1673-1409(2012)08-N178-02
2012-05-24
葉亞琴(1979-),女,2001年大學畢業,博士,講師,現主要從事面向對象語言程序設計、人工智能方面的教學與研究工作。
[編輯] 李啟棟