97骚碰,毛片大片免费看,亚洲第一天堂,99re思思,色好看在线视频播放,久久成人免费大片,国产又爽又色在线观看

實(shí)用文檔>遞進(jìn)案例在面向對象程序設計教學(xué)應用論文

遞進(jìn)案例在面向對象程序設計教學(xué)應用論文

時(shí)間:2024-10-12 10:29:51

遞進(jìn)案例在面向對象程序設計教學(xué)應用論文

遞進(jìn)案例在面向對象程序設計教學(xué)應用論文

遞進(jìn)案例在面向對象程序設計教學(xué)應用論文

  摘要:《面向對象程序設計》是計算機專(zhuān)業(yè)的一門(mén)重要的基礎課程,較強的理論性與語(yǔ)法的復雜性給學(xué)生的學(xué)習帶來(lái)困難。分析以往教學(xué)過(guò)程中存在的問(wèn)題及原因,淺談如何設計、運用遞進(jìn)案例,使得學(xué)生從以教材語(yǔ)法為中心的學(xué)習重心轉移到案例的分析和領(lǐng)會(huì )上,到達學(xué)生主動(dòng)學(xué)習、對知識點(diǎn)融會(huì )貫通的目的。

  關(guān)鍵詞:面向對象程序設計;遞進(jìn)案例

  0引言

  《面向對象程序設計》是計算機專(zhuān)業(yè)的一門(mén)重要的基礎課程,是編程語(yǔ)言教學(xué)中的重點(diǎn)也是難點(diǎn)。該課程要求學(xué)生了解面向對象程序設計的基本思想、掌握面向對象編程的技術(shù),為大型應用軟件設計與開(kāi)發(fā)打下良好的理論和實(shí)踐基礎。在教學(xué)實(shí)踐中,有學(xué)生反映課程很難學(xué),甚至有個(gè)別學(xué)生對編程產(chǎn)生畏懼的情緒。筆者結合實(shí)際的教學(xué)工作,分析課程教學(xué)過(guò)程中碰到的主要問(wèn)題和成因,淺談如何引入遞進(jìn)案例方法提高教學(xué)質(zhì)量。

  1教學(xué)過(guò)程中存在的問(wèn)題及原因

  以往在教學(xué)過(guò)程中主要存在的問(wèn)題及原因如下:(1)學(xué)生對面向對象程序設計的學(xué)習的目標不明確,學(xué)習動(dòng)力不強。由于學(xué)生相對欠缺項目經(jīng)驗,對面向過(guò)程程序設計在大型軟件開(kāi)發(fā)過(guò)程中遇到的代碼難維護、難擴充等問(wèn)題意識不足,僅從軟件功能的角度看問(wèn)題,以為已經(jīng)有面向過(guò)程編程的方法已經(jīng)可以寫(xiě)軟件了,不理解為什么需要學(xué)習面向對象程序設計。(2)教材對面向對象程序設計技術(shù)的描述過(guò)于側重語(yǔ)法,缺乏思維引導和結合應用的分析,較少?lài)@“為什么面向對象程序設計包含了這個(gè)技術(shù)點(diǎn)?”“什么情況下需要使用這個(gè)技術(shù)點(diǎn)?”“如何使用這個(gè)技術(shù)點(diǎn)?”等問(wèn)題展開(kāi)討論,導致學(xué)生停留在“知其然而不知其所以然”的階段,即使掌握了面向對象程序設計的語(yǔ)法,還是沒(méi)領(lǐng)會(huì )到面向對象程序設計的思想精髓,不懂運用。(3)教材和課后習題以每一章節的知識點(diǎn)為目標設計,缺乏系統性與連貫性,缺少對知識綜合運用能力的訓練。

  2引入遞進(jìn)案例提高教學(xué)質(zhì)量

  針對上述問(wèn)題,筆者在教學(xué)中使用遞進(jìn)案例,根據教學(xué)目標和內容需要,采用案例組織學(xué)生進(jìn)行學(xué)習、研究、鍛煉,把教授和學(xué)習的重心放在案例的分析和領(lǐng)會(huì )上,而不是以教材的理論知識點(diǎn)為中心[1-2]。旨在讓學(xué)生在理解案例所涵蓋的知識點(diǎn)后,通過(guò)模仿案例到靈活運用設計創(chuàng )新,到達學(xué)習的目的。本節討論遞進(jìn)案例設計和運用過(guò)程。(1)案例的編寫(xiě)首先,案例保持內容的連貫性與遞進(jìn)性[3]。案例以編寫(xiě)某個(gè)軟件為目標,與教材內容章節順序保持一致,在前一次課完成的功能的基礎上,提出豐富軟件功能的新需求,引入新的知識點(diǎn)學(xué)習。整個(gè)過(guò)程由簡(jiǎn)到繁,循序漸進(jìn),將知識點(diǎn)串聯(lián)起來(lái),引導學(xué)生在學(xué)習過(guò)程中承前啟后、舉一反三。同時(shí),案例的設計要考慮趣味性[4]、實(shí)用性和可操作性。例如,計算機專(zhuān)業(yè)的學(xué)生通常喜歡游戲,可以以游戲為例子吸引學(xué)生。此外,案例的編寫(xiě)要詳盡,對于每個(gè)知識點(diǎn),需要寫(xiě)清楚它的作用、適用場(chǎng)景和相關(guān)代碼,使得學(xué)生在課后能通過(guò)閱讀案例深入理解、掌握知識點(diǎn),并會(huì )模仿、應用。(2)案例的運用筆者在使用遞進(jìn)案例進(jìn)行教學(xué)的時(shí)候,采用“提出需求、拋出問(wèn)題、分析問(wèn)題、講授知識點(diǎn)、布置任務(wù)”的路線(xiàn)進(jìn)行講解。首先,在第一次上課的時(shí)候向學(xué)生介紹案例的內容,說(shuō)明要實(shí)現一個(gè)什么樣的軟件,具體要實(shí)現哪些功能。然后,給學(xué)生布置課程設計,讓學(xué)生實(shí)現與案例軟件相關(guān)的另一個(gè)模塊,要求在后續的學(xué)習過(guò)程中每次學(xué)到新技術(shù)后,能模仿案例將新技術(shù)點(diǎn)用到課程設計中。每次課堂按以下步驟展開(kāi):①提出需求。結合新知識點(diǎn),提出給軟件增加某個(gè)功能,要求學(xué)生采用以前學(xué)過(guò)的面向過(guò)程程序設計的方法實(shí)現。②提出問(wèn)題。要求學(xué)生思考:在用面向過(guò)程程序設計方法實(shí)現該功能的時(shí)候,遇到什么困難?提示學(xué)生從代碼管理、代碼可擴充性等方面思考。③分析問(wèn)題。要求學(xué)生分析困難出現的原因,總結面向過(guò)程程序設計在大型軟件開(kāi)發(fā)過(guò)程中的不足之處,讓學(xué)生領(lǐng)悟到:“在這種應用場(chǎng)景下,需要利用面向對象程序設計的技術(shù)去解決這個(gè)問(wèn)題!,激發(fā)學(xué)生的學(xué)習興趣。④引入新知識點(diǎn)。結合教材的例子講解知識點(diǎn)的語(yǔ)法。在講解過(guò)程中,對于部分難以理解的內容,像構造函數、析構函數、拷貝構造函數、動(dòng)態(tài)內存分配等,可以采用動(dòng)畫(huà)形式演示,讓學(xué)生對這些抽象的過(guò)程有較具體的理解。然后結合案例演示知識點(diǎn)的運用將知識點(diǎn)擴大為知識面,最后由形象到抽象,揭示概念本質(zhì)。⑤布置任務(wù)。任務(wù)分兩部分內容。首先,要求學(xué)生完成教材的習題,通過(guò)語(yǔ)法關(guān)。然后,要求學(xué)生模仿案例,將新知識點(diǎn)運用到課程設計中。

  3一個(gè)具體的案例

  本節分享筆者在教學(xué)中使用的遞進(jìn)案例。在我院,《C++面向對象程序設計》這門(mén)課安排在一年級第二學(xué)期上,作為《C語(yǔ)言程序設計》的后續課程。筆者在上《C語(yǔ)言程序設計》的時(shí)候,要求學(xué)生用面向過(guò)程程序設計的方式實(shí)現一些小游戲,例如猜數字游戲、打字游戲等。由于學(xué)生對游戲都比較感興趣,所以收集了不少優(yōu)秀作品。在面向對象程序設計課程中,筆者設計了一個(gè)實(shí)現“小游戲集錦”的遞進(jìn)案例,要求學(xué)生在學(xué)習完整套案例后,實(shí)現游戲玩家管理的模塊。教材一般按照類(lèi)的封裝性、繼承性、多態(tài)性的順序組織內容,對應地,案例的內容設計也基本按照上述順序展開(kāi)。(1)類(lèi)和對象的概念。將多個(gè)小游戲的代碼分發(fā)給學(xué)生,要求學(xué)生把代碼匯總成一個(gè)“小游戲集錦”的程序。讓學(xué)生設計一個(gè)菜單入口,在菜單中選擇游戲,進(jìn)入相應的游戲界面。讓學(xué)生體會(huì )到,這個(gè)貌似幾行代碼能解決的問(wèn)題,會(huì )碰到諸如“全局變量名沖突、數據和函數的關(guān)系不明顯”等的麻煩。接下來(lái),引入類(lèi)和對象的概念,介紹類(lèi)的作用,再講解類(lèi)的語(yǔ)法。在案例中演示如何將每個(gè)游戲單獨寫(xiě)成一個(gè)類(lèi)。要求學(xué)生在掌握了類(lèi)的語(yǔ)法后,寫(xiě)一個(gè)玩家類(lèi)。(2)類(lèi)的封裝性。舉一個(gè)“竄改代碼關(guān)鍵變量”的例子,讓學(xué)生理解封裝性的作用。要求學(xué)生在玩家類(lèi)里實(shí)現對玩家數據信息的封裝。(3)構造函數、析構函數、拷貝構造函數、靜態(tài)成員等。結合某個(gè)游戲類(lèi),對類(lèi)增加恰當的需求應用,展開(kāi)對這些知識點(diǎn)的講解。例如,在游戲集錦中,僅要求每個(gè)游戲類(lèi)生成一個(gè)對象?捎纱诵枨笠腱o態(tài)成員的知識點(diǎn)進(jìn)行講解,然后演示如何設計單例模式解決這個(gè)問(wèn)題。(4)類(lèi)的繼承與派生。要求增加功能:統計每個(gè)游戲的進(jìn)入次數。用戶(hù)每進(jìn)入一次游戲,該游戲的進(jìn)入次數加一。在學(xué)習類(lèi)的繼承與派生之前,學(xué)生只能在逐個(gè)游戲類(lèi)里面添加私有變量intcount,并在各個(gè)類(lèi)的游戲入口函數處增加count++的語(yǔ)句。提問(wèn)學(xué)生:如果有一百個(gè)小游戲,是否需要分別在一百個(gè)類(lèi)里面做重復的定義count和count++的操作?如果有一個(gè)類(lèi)忘記對count加1會(huì )出現什么情況?引入面向對象程序設計的另一個(gè)重要特點(diǎn)——繼承。在案例中,定義一個(gè)游戲基類(lèi)Game類(lèi),Game類(lèi)包含成員count,再派生出各個(gè)小游戲類(lèi)。要求學(xué)生掌握類(lèi)的繼承與派生之后,寫(xiě)一個(gè)游戲的游客類(lèi)。游客類(lèi)與玩家類(lèi)的區別在于,游客類(lèi)每的對象每次登錄游戲集錦時(shí),分數清零;玩家類(lèi)的分數不清零。要求思考該如何對游客類(lèi)和玩家類(lèi)的代碼進(jìn)行重構、設計。(5)類(lèi)的多態(tài)性。多態(tài)是面向對象程序設計最復雜也最難詮釋的一個(gè)特點(diǎn)。在案例中,要求增加功能:菜單按游戲的熱門(mén)程度(進(jìn)入游戲的次數)排序。提問(wèn)若采用已學(xué)過(guò)的知識,這種做法是否方便:定義一個(gè)數組統計各類(lèi)小游戲的訪(fǎng)問(wèn)次數,然后對數組進(jìn)行排序,得到小游戲的菜單列表,再根據用戶(hù)輸入的選擇找到相應的游戲入口函數。引入基類(lèi)指針指向派生類(lèi)對象和多態(tài)的知識點(diǎn),提出可以將Game類(lèi)設計成虛基類(lèi),采用Game類(lèi)指針數組存儲指向各個(gè)小游戲的對象的指針,則可以方便地對指針數組排序,實(shí)現按游戲熱門(mén)程度排序的功能。要求學(xué)生掌握多態(tài)性的知識點(diǎn)后,寫(xiě)一個(gè)在線(xiàn)玩家(包括游客)的列表,要求將在線(xiàn)玩家和游客按游戲成績(jì)排名顯示。

  4結語(yǔ)

  《面向對象程序設計》是計算機專(zhuān)業(yè)的一門(mén)重要的基礎課程,該課的學(xué)習質(zhì)量直接影響專(zhuān)業(yè)后續課程的學(xué)習。本文探討了教學(xué)過(guò)程遇到的一些問(wèn)題,分析了學(xué)生學(xué)習困難的原因,討論如何用遞進(jìn)案例教學(xué),通過(guò)遞進(jìn)案例讓學(xué)生脫離枯燥的語(yǔ)法學(xué)習,將學(xué)習重心轉移到對知識點(diǎn)的領(lǐng)悟與運用上,提高教學(xué)質(zhì)量。

  參考文獻:

  [1]廖湖聲.面向對象程序設計課程的教學(xué)改革探討[J].計算機教育,2016.3.

  [2]王文冰,李輝.以實(shí)例貫穿課堂的面向對象程序設計課程教學(xué)改革[J].計算機教育,2011.1

  [3]肖志嬌.以游戲為實(shí)例進(jìn)行面向對象程序設計趣味教學(xué)[J].現代計算機,2011(1):14-16.

  [4]王婧.游戲案例在面向對象程序設計教學(xué)中的應用[J].電腦知識與技術(shù),2016,12(2):124-126.

【遞進(jìn)案例在面向對象程序設計教學(xué)應用論文】相關(guān)文章:

程序設計課堂教學(xué)模式探索論文03-20

探討教育心理學(xué)在英語(yǔ)教學(xué)中的實(shí)際應用論文08-13

《白鵝》的教學(xué)設計案例(精選11篇)07-21

《比例的應用》的教學(xué)反思03-20

比的應用教學(xué)反思(精選10篇)11-29

傳感器的應用教學(xué)反思03-19

《平面向量》教案設計01-29

信息技術(shù)應用教學(xué)反思報告范文02-05

高中語(yǔ)文教學(xué)之導學(xué)案教學(xué)初探論文03-19

夢(mèng)圓飛天教案例子07-13

用戶(hù)協(xié)議