本站小編為你精心準備了面向對象程序設計教學參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
作為一名主要擔任面向對象程序設計課程教學與研究的高校教師,在多年的教學實踐中,我發現要組織一堂富有意義的課堂教學,在強調課程功能上,要從單純注重知識的傳授轉變為體現引導學生學會學習、學會做人、學會生存;在強調教學過程中,要從更多的關注學習結果轉變為也要關注學生學習的過程和方法。
根據這個原則,我在組織有關面向對象程序設計的課堂教學過程中,在了解該課程的特點及培養目標的同時,充分考慮了學生的知識背景和接受水平并結合社會行業對軟件人才知識結構的要求去精心設計好每一堂課。在反復的教學過程中,我根據授課經驗所學來的事物(它讓我可以長時間快樂教學),形成自身的教學特色,總結出一套教學方法,并取得了良好的教學效果。
一、采用實例教學法,使學生在模仿中掌握對抽象概念的感觀認識
面向對象程序設計是應用性很強的一門課程,它既有理論又有實踐,既講方法又講動手能力。往往在面向對象程序設計的教材中前幾章多數都是先介紹對象、對象的屬性、方法和事件及程序設計語言基礎等等一系列的在程序設計中比較抽象難懂的概念,然后才介紹程序的建立和運行。從知識的邏輯結構體系考慮,這樣安排無可非議,但從學生的認知規律考慮,學生在毫無知識背景的前提下,要完全理解這些概念比較困難,同時也容易挫傷學生學習編程的積極性,教學效果可想而知了。因此在教學中,我打破課本原有以知識的邏輯結構體系為順序組織課堂教學的方式,改用從現場操作簡單的實例入手,通過讓學生觀看、模仿,在實際操作中去探究和領悟這些概念,并適時地加以歸納總結,讓學生在輕松愉快的氣氛中接受新知識。
例如,在一開始學習對象及對象的屬性、方法和事件的有關概念時,我設計了一個點擊按鈕顯示“hello,World!”信息的簡單程序實例,讓學生和我一起做:
(1)在當前窗體內添加了一個標簽和一個命令按鈕。
(2)按照給出的要求設計各對象的屬性。
(3)在對應事件過程內編寫相應的代碼。
(4)保存并運行程序。
在操作的過程當中,教師不用講解每件事的含義,通過完成任務后,教師通過設問,讓學生思考:什么是對象及對象的屬性、方法和事件?并讓學生找出本例中各對象的名稱、不同對象的屬性、方法和事件過程名稱,教師再適當加以歸納和小結。在此基礎上,再引導學生歸納總結出創建應用程序的基本步驟,及如何在界面內添加對象、設置事件等等,一切問題都迎刃而解。實例教學法打破了以教材為中心的傳統教學模式,不按教材的順序授課,而是以精選出的程序實例為中心,把學習的重點放在具體實例的講述上,把要學習的語法和概念融入到具體實例中來講解。要特別注意,示例必須盡可能簡短、單純,這么一來也許會在某種程度上遠離了真實世界的問題處理方式。盡管如此,我發現,對初學者而言,詳盡理解每個示例所帶來的愉悅勝過于了解它所能解決的問題范圍。整個教學過程中強調學以致用,在應用中學習,從而避免了枯燥、繁雜的理論說教,不僅能增進學生的學習積極性,而且對提高學生綜合分析和解決實際問題的能力也大有幫助。
二、采用問題驅動法,激發學生的學習主動性和積極性
在面向對象程序設計課程中,有一些概念之間的差別和程序的設計步驟如果只通過教師講述,學生在字面上可以接受,但在理解深度上往往難以達到令人滿意的效果,如果能設計出一系列問題,讓學生在實踐和解決問題的過程中自己去探究和體驗,情況將完全是另一個樣子。比如,變量和常量在程序設計中的使用。我首先安排提問:在日常生活當中,請大家說出有什么事物是經常發生變化的,又有什么事物是永遠不會發生變化的呢?對后一個問題,往往多數同學會心存懷疑,甚至回答不上來。然后我再安排一個問題來引導:圓周率π的值約等于3.14159,請問,圓周率π的值會不會發生變化呢?也許有學生會質疑:“老師,哪天萬一發現算錯了,它并不一定等于3.14159而要改過來時,這豈不是也成了可變的?”此時再適當的進行總結:“不管結果如何,圓周率π的值永遠只有正確的一個,而且是不會變的。在日常生活當中的這些變與不變,在程序設計中,我們往往采用變量和常量來描述?!敝链?,既成功引入對這兩個概念的學習,又加深了同學們對這些概念的理解。另外,采用一些有趣的問題來引入對某些語句結構的學習同樣有相同的作用。比如,在學習循環語句前,提問:如果對一張普通的紙張進行不斷的對折,請問,對折了多少次后,紙張的厚度就能達到珠穆朗瑪峰的高度呢?同學們紛紛說出自己的答案,其實對于普通紙張來說(紙張的厚度往往是0.1毫米),這時真正的答案是只需要對折27次就可以實現題目要求。答案的結果往往令多數學生覺得有些不可思議,這時再引入對循環語句的學習,并通過實例來解決該問題,由于同學們的興趣提上來了,所以在講解該語法結構時,很輕易的地就使得學生掌握了該語法并留下了很深的印象。再比如,在學習循環的嵌套時,我采用了《算經》里有名的“百雞問題”來引導學生學習,通過能夠吸引學生興趣的程序代碼進行教學,同樣取得了良好的教學效果。采用問題驅動法,一切都要求學生自己動手動腦設計,他們在操作過程中探究和解決問題的積極性和主動性得到了調動,從而達到了我們的教學目標。
三、采用焦點教學法,使學生迅速掌握知識要點并達到學以致用
一次呈現一個階段的課題,并使得每一節課的內容有足夠的焦點,讓學生在移至下一課題前,輕松消化每個知識。在教學過程中,我只給學生那些我認為對學生了解此程序設計十分重要的內容,而非將所有涉及的一切都倒給學生。某些課題對學生學習程序設計來說并沒有太多的必要,這些信息往往只會混淆他們的觀念,并加深他們對程序設計的復雜感受而已。舉個C語言的例子好了,如果你能清楚記得運算符優先序,撰寫出精巧的程序代碼想必輕而易舉。但這么做卻有可能造成學生的困惑。所以,忘了運算符優先順序吧!在任何可能混淆的地方使用圓括號不就得了。另外,實踐證明焦點教學法能縮短授課和練習之間的空檔,讓學生始終踏在扎實的基礎上,通過對各課題的充分了解,面對更困難的作業和書籍。這么做不僅為了讓學生的心態更為主動,融入“自己動手做”的學習氣氛,而且讓學生更具有成就感。
四、采用舉一反三教學法,培養學生的創新思維和促進學生綜合編程能力的提高
在教學過程中,注意通過在書本原有程序的基礎上逐漸改變和增加條件的方法來提高同學的綜合編程能力。例如某例題是使用了do…while循環來解決,則可以要求學生改為使用do…until來解決;某例題教給大家求最大公約數的方法,則要求同學們課后思考求最小公倍數的方法;故意給出一些錯誤的程序,給同學們設計一些陷阱,讓同學們自己去發現并把程序編寫錯了的地方改正過來等等。要注意的是,必須謹慎安排課題的呈現順序,讓學生不至于突兀地碰觸到任何未曾見過的內容,萬一在某些情形下無法達到此理想,必須進行簡要的引導。舉一反三的教學方法,能引導學生在學習編程的過程中養成運用動態思維來解決問題,對培養學生的邏輯思維能力、抽象思維能力以及促進學生綜合編程能力有非常重要的作用。
五、采用多媒體輔助教學法,通過豐富多彩的教學方式提高學生的學習興趣
傳統的教學方法是“黑板+粉筆”。多媒體輔助教學法的優點是:節約了板書時間,加大信息量,開闊知識面。并能挖掘出課本文字達不到的直觀、動態效果,使難以理解的抽象理論形象化、生動化,將學生帶入模擬場景,達到提高教學效率、增強學生學習興趣的目的。
面向對象程序設計教學中涉及到大量的算法和結構流程的描述,為此,我充分發揮自身的專業優勢,運用多媒體輔助教學手段,通過計算機圖形顯示、動畫模擬及文字說明等,營造一個全新的圖文并茂、生動直觀的教學環境,從而大大增加了教學信息量,提高了學習效率,有效地刺激和培養了學生的形象思維。對一些重要的結構流程和算法,如分支結構的執行原理、循環結構執行原理等,我制作了專門的教學課件,通過實例動態演示和模擬程序的執行過程,并讓學生在課堂上進行自主探究式的學習,從而加深了學生對抽象原理的理解及方法的運用。與此同時,讓學生在接受理論知識的過程中還能體會到現代化信息技術的魅力,達到了傳統教學無法實現的教學效果。
總之,教學有法,教無定法,只要教學得法。實踐證明,在教學過程中,學生知識的獲得、能力的培養、智力的發展,不可能只依靠一種教學方法,必須把多種教學方法合理地結合起來,并根據教學過程的實際情況,靈活地、創造性地掌握教學過程,以爭取獲得最大的教學效果。面向對象程序設計課程教學的主要目標是為了使學生了解現代程序設計理論中的面向對象編程和結構化程序設計等基本思想,培養現代程序設計過程中所需要的一些基本能力,如邏輯推理能力和抽象思維能力等,養成盡可能嚴密、合理和邏輯地思考和解決問題的習慣。圍繞著這個目標,在充分發揮學生學習積極性的前提下,按照學生的認知規律組織教學,一切可行的教學方法都可以在我們的教學過程中加以運用。