摘 要:對于計算機專業本科生來講,面向對象程序設計課程是一門難于學習掌握的課程,該課程理論抽象,實踐困難,一個學期的教學很難達到預計的教學效果。本文針對這些問題研究了面向對象程序設計的一些教學方法并進行了相關的實踐及應用,取得了較好的效果。
關鍵詞:面向對象程序設計;教學方法;計算機專業
1 引言
程序設計是計算機本科生學習的主要系列課程,是核心的專業課程及主要就業技能,所以學好程序設計對于每個計算機專業本科生是非常重要的。目前普通高校的程序設計課程都是系列課程,先以過程化程序設計課程為基礎課程教會學生基本編程方法,如:C語言程序設計、匯編語言等,在此基礎上再增加高級語言課程,主要以面向對象類語言為主,如:C++程序設計、JAVA程序設計。但是通過多年的教學實踐及研究發現很多學生在高級語言課程結束后僅能掌握簡單編程技能,無法進行稍高難度編程、擴展自學及項目開發。
2 影響教學效果的因素
為提升面向對象類語言的教學效果,教學組對已學、在學、未學三個年級的學生進行了調研、測試及座談。總結了影響該課程教學效果的幾個主要因素:1)部分同學基礎類語言學習不夠扎實,直接影響后續面向對象語言的學習。2)部分同學沒有形成編程素養。3)部分同學認為面向對象較為抽象,不容易理解。4)部分同學無法將面向對象理論轉化成編程思想自由應用,尤其是對類的理解和使用。
3 解決方法
以上問題是影響面向對象類教學方法的主要因素,為提升教學效果提出了具有針對性的措施來解決這些問題。
3.1 加強基礎類語言理論的滲透
目前很多基礎類語言教學過程中存在機械化、抽象化的問題,導致學生無法深入理解編程思想進而無法靈活的掌握知識,為了應付考試更有同學采取機械式背重點習題的方法學習語言,這都導致語言學習不夠靈活,所以教學過程中應該結合典型習題加強學生對理論的理解,比如在C語言課程中我們加入了萬年歷的編程例子,該程序并沒有出現在普通的教材中,但是確是一個具有實際意義并且能夠引發學生學習興趣的例子。很多學生在接觸這個實際的例子后表現出濃厚的興趣,積極的思考并與同學及教師探討程序的設計思想,在設計過程中很多同學將C語言的知識點串聯了起來,即達到了復習的效果也練習了綜合應用多知識點的能力。通過該程序的設計及編寫很多同學發現了自己的不足以及缺陷,大部分同學在興趣的引導下完成了該例子,貫穿了基礎語言的大部分知識點,鍛煉了編程的能力培養了程序設計思維。通過一系列與實際生活息息相關的例子的練習,提高了學生的編程能力為下一步面向對象語言的學習打好夯實基礎。
3.2 結合實際應用培養良好編程習慣
基礎類語言課程的一個主要目的是培養學生良好的編程習慣,但是很多學生以應付考試為目的去學習,所以無法達到教學效果,我們可以引入與實際生活娛樂相關的項目來提高學生的學習興趣,學生在興趣的引導下能夠深入到問題中去并在興趣的引導下完成程序,但是普遍存在編程不夠規范,編程思想不夠獨立的特點。我們通過引入實際的例子引導同學完成任務后,再拿出比較成熟的程序與其進行比較,找出學生的共性問題進行講解,讓學生通過對比深刻的記憶自己的問題,能夠較好的糾正不良編程習慣,養成良好的學習習慣對下一步面向對象程序的學習有很大的幫助。
3.3 將面向對象程序設計理論形象化
在面向對象課程講授過程中我們經常限于教材,而教材的通用性決定其具有高度概括性、理論化的特點,不便于初學者全面快速的學習和理解,比如:封裝、繼承、多態等理論理解起來較為困難。我們可以引入生活中的例子如家族關系來進行類比,形象化這些理論,在實際教學中取得了較好了效果:比如我們可以把一個家族的祖先類比為初始的類,該祖先包含有多種決定人長相、性格等特征的DNA,我們簡單的說該祖先體內的DNA組成一個特定的集合,這個過程就類比為類的封裝。通過延續產生不同形態性格的后代,這個過程可以類比成繼承理論。這樣類比的方法有助于基礎概念的理解,學生不再以背誦理論為手段去學習而是以形象化例子理解學習,在編程中加入這些類比的例子就能更好地理解相關的概念。
3.4 加強面向對象編程的實際應用
學生通過形象化理論的學習具有了基礎的編程能力,但是遠遠達不到教學的要求,隨后的教學過程中都要應用面向對象理論。所以我們增加了實驗課程環節、IT實訓及公司培訓環節,尤其是與IT企業合作項目的研發過程極大提高了學生的編程能力,企業有嚴格的程序設計流程,學生在企業員工的指導和帶動下順利完成了一定量的編程工作,極大地提升學生的設計、編寫、測試等能力。在3年的專業課程學習期間大量引入實際課題,大大提高學生的面向對象編程能力。在幾年的教學過程中培養了一批具有實踐能力的畢業生,完成多項橫向IT項目,取得了較好的效果。
4 結論
本文針對面向對象類課程教學中的存在的問題提出了相關的解決方法,并在實踐教學過程中進行了實踐及應用,取得了較好的效果,下一步還要研究如何配合企業在實際項目提高學生編程能力的方法。
[參考文獻]
[1]張曉競,陳元琰.面向對象程序設計課程的感性化教學與創新應用[J].計算機教育,2004(10).
[2]李信本.面向對象技術系列課程教學模式研究與實踐[J].浙江萬里學院學報,2005(04).