- 相關推薦
關于“面向對象程序設計”課程建設的實踐與探索
論文關鍵詞:面向對象程序設計 教學安排 教學方法論文摘要:本文闡述了在“面向對象程序設計”課程教學過程中積累的一些經驗,提出了教學的重點、實驗的安排以及改進的教學方式。
1課程概述
運用面向對象方法學來分析、設計和實現軟件系統的過程與人們認識客觀世界、解決實際問題的過程比較一致,面向對象的程序具有穩定、易理解、易修改和可重用等優點,可明顯提高軟件開發與維護的效率,降低軟件的總成本。近年來,面向對象的技術越來越受到人們的重視,對它的應用和研究遍及計算機軟件和硬件的各個領域,國內高校普遍開設了“面向對象程序設計”之類的課程,并取得了很好的教學效果。上海第二工業大學計算機與信息學院軟件工程專業將面向對象程序設計作為該專業的一門專業主干課程。該課程的任務是:希望學生理解面向對象程序設計的基本思想;掌握封裝、繼承和多態等面向對象的基本特性;掌握一門面向對象程序設計語言的功能和應用方法。
近來,我們對這門課程進行了不斷的實踐和探索,涉及到課程的性質、目標、內容和教學方法等方面,下面將會介紹相關的內容。
2課程教學要求
通過多年的教學實踐和參考其他院校的培養計劃,該課程開課學期為第5學期,3學分,48學時(33理論+15實踐)。學習該課程后,學生掌握面向對象程序設計技術的基本原理與設計方法,并充分理解面向對象思想的長處;并掌握一門面向對象程序設計語言,能夠使用面向對象技術來解決實際問題。本課程主要介紹面向對象程序設計的方法和C++語言的基本概念。以C++語言中的面向對象機制為主,從而掌握面向對象程序設計的基本知識和基本技能。
2.1課程內容安排
該課程目前是針對軟件工程本科專業的學生開設,圍繞著教學的目標,該課程的教學時數分配。
面向對象程序設計是一門承上啟下的課程,該課程的先修課程為“程序設計基礎”,學生已經初步具備了一定的程序設計能力。本課程主要讓學生掌握如何運用面向對象的思想進行問題的分析以及系統的開發的基本方法。如何對系統的需求進行抽象,如何實現繼承、封裝和多態,如何進行異常處理,如何利用模板提高系統的可重用性和可維護性,如何進行輸入輸出處理。
該課程要求學生掌握面向對象的程序設計方法,是一門與實際結合非常緊密、實用性非常強的課程。因此,教師在教學中與實際應用緊密結合,由淺入深進行系統的介紹。在實際講解中,結合貼切的例子,同時在C++語言的開發平臺上演示,教學效果會更好。
2.2理論教學內容
課程的內容體系要反映課程性質。面向對象程序設計主要圍繞應用,并將理論與實踐結合起來,首先是介紹面向對象的基本概念以及方法;其次是介紹如何應用C++語言去實現面向對象的概念和方法。理論教學的重點是:(1)面向對象程序設計的基本概念,如抽象、封裝、消息等;(2)類與對象(包括數據成員和成員函數);(3)繼承機制;(4)多態性和虛函數;(5)運算符重載;(6)模板;(7)I/O流類庫;(8)異常處理機制。
加強課堂教學,提高課堂教學質量,注重學生動手能力的培養,由原來的以教師為中心轉變成以學生為中心,加強師生間的教學互動。講解過程中,將知識點展開并與實際工程相結合,課堂上老師提出問題后,由學生回答思路,教師現場講解和編寫程序實現功能,并模仿學生容易出現錯誤的場景。雖然學生在前序課程中學習過C++的基本語法,但是沒有涉及到對象和類的編程,需要運用面向對象的思想去編程實現功能,有一定的難度,尤其是需要從面向過程轉變為面向對象的,這種設計思想的轉變,有
一定的困難。對于課程涉及較深的內容,如Windows應用程序開發時,只給出開發的基本思路以及相關的參考資料,讓那些有能力和興趣的同學課外進行學習。
2.3實驗教學內容
該課程應該說是一門應用性比較強的課程,因此在課程安排中設置了15學時的實驗,課內實驗內容安排。
本課程選用C++語言來進行講授。C++語言是在C語言基礎上擴充了面向對象機制而形成的一種面向對象程序設計語言。在教授C++語言的同時,講授面向對象的程序設計方法。而本課程的實驗,就是讓學生運用課堂上學到的概念、方法來解決實際問題,以進一步鞏固對教材的理解。實驗目的是使學生熟悉VC++6.0開發環境的使用,能用該工具進行C++程序設計、查看源代碼、使用幫助。了解面向對象程序設計思想和面向對象軟件開發過程。學會用C++語言進行簡單的面向對象程序設計,理解并掌握封裝、繼承、多態等面向對象程序設計方法。學會C++標準庫函數的查詢、調用技巧。為今后學習其他面向對象語言和應用開發打下基礎。3教學方式
教學方式的改革是為了達到課程目標創造運作條件,理論和實驗教學都要使學生始終處于交流和探究的過程中,不斷激發學生的認識和思路。為此我們采取理論教學與實驗教學結合,課內討論與課外大作業結合,課堂教學與網絡支持結合的方式。
3.1基于應用實例的理論教學
“面向對象程序設計”是一門實踐性較強的課程。在講解其理論知識時,我們也注重與應用實例相結合,使一些概念性的理論也盡量通俗易懂。比如:講到類的封裝性,會用ATM機作為例子來打比方,使其易于理解。對于基本的語法和新的知識點也是以應用案例展開來介紹,學生通過案例來加深對基本概念、基本原理的理解,來掌握語法和算法。同時指出該案例還存在或遺留的問題,這些問題的解決需要新的理論、新的方法,為后一個案例引出作鋪墊。以一個比較完整的應用例子貫穿整個教學過程,并層層剖析,不斷補充完善,最終形成一個功能相對完整的面向對象的軟件系統,也同時完成了全部教學內容講授。
3.2基于任務的實驗教學
在與課程配套的實驗中,除了部分難度較小的驗證性實驗外,還安排難度較高的設計性和綜合性實驗。在基本概念知識掌握后,更需要提高應用能力。針對學生的實際能力和客觀上存在能力差異,按照實驗教學大綱自編了實驗教材。大多的實驗都按難度分成必做題和選做題兩個部分。所有學生都必須完成必做題。對部分能力較強、學有余力的學生,則進一步要求他們完成難度較大的選做題。部分選做題是以任務的形式給出基本需求,需要學生自己理解和分析。主要是為了提高學生的理解和分析的能力,并提供給學生比較大的發揮空間。學生可以憑自己的能力,以不同的形式完成任務。
3.3創建網絡學習環境
為了配合課程教學,我們創建了“面向對象程序設計”課程網站。網站除了教學管理和信息發布外,主要是作為學生獲取資源、評價和交流的環境,使學生對該課程能有一個進行公共交流的平臺。網站會提供給一些課程相關的教學資料和相關的鏈接,供學生下載,以便進行課后的復習和自學。提供一個論壇的欄目,專門進行各種主題的討論,可以是教師組織的專題討論,也可以是個別學生對課堂上的問題引發的討論。在這個討論區中,教師只起一個組織作用,學生發揮他們的自主和能動性。
4結束語
也是一門應用性很強的課程 , 面向對象順序設計 ” 一門計算機軟件工程專業的專業課 . 所需知識將會在今后其他后續課程中得到運用 , 因此該課程的教學方法也需要在實踐中不斷的改進 , 才干適應實際的需要和學生的需求。本文中給出的一些方法 , 也需要根據具體的學生需要 , 教學中及時調整授課的內容和方法 , 讓更多的學生從中受益。
【“面向對象程序設計”課程建設的實踐與探索】相關文章:
面向對象程序設計技術在金融信息系統的應用10-09
計算機程序設計課程教學探索論文07-30
歷史與社會課程網絡教學的探索與實踐10-21
有關高職高專公共英語課程建設的探索與實踐08-14
對高職院校市場營銷課程實踐的探索07-19
關于《機械制圖》課程教改的實踐與探索05-25
《電路分析》課程項目化教學的實踐探索10-28