心中有不少心得體會時,不如來好好地做個總結,寫一篇心得體會,如此可以一直更新迭代自己的想法。心得體會對于我們是非常有幫助的,可是應該怎么寫心得體會呢?那么下面我就給大家講一講心得體會怎么寫才比較好,我們一起來看一看吧。
面向對象程序設計心得體會篇一
摘要面向語言程序設計是計算機專業的必修基礎理論課,在課程教學中,許多教師和學生都認為,計算機語言教學死板,不利于將知識轉化為能力。本文結合作者的教學實踐,對如何有效講解面向對象程序設計這門課程進行了探悉,以期提高教學效率和效果。
面向對象程序設計是計算機專業的必修課程,開設此課程的目的是使學生掌握程序設計的基本方法并形成面向對象的程序設計思想,能夠熟練地使用c++語言進行程序設計并具備獨立調試程序的能力,為后繼課程學習和應用打下堅實的基礎。作者結合國內外優秀編程語言的教學方法和模式,不斷地總結和積累經驗并運用于教學實踐之中,取得了較好的教學效果,有助于學生在有限的教學時間內,以最快最簡單易懂的方式,扎實地掌握c++語言的內容。下面是作者在面向對象程序設計教學中的一些體會。
為了使初學者能盡快地掌握計算機知識,進入計算機的應用領域,在課程講授過程中,要特別注意培養學生的學習興趣。初接觸計算機時,很多學生感到新奇、好玩,這不能說是興趣,只是一種好奇。隨著課程的不斷深入,大量的感念、規則、定義、要求和機械的格式出現,很容易使部分學生產生枯燥乏味的感覺。為了把學生的好奇轉化為學習興趣,授課時作者從具體問題入手,讓學生先從感性上認識新知識,繼而再講授理論要點。
在首次課上,給學生找一些《高等數學》、《線性代數》等已學課程的問題,用算法語言來求解,使學生體會程序設計的用途和一種全新的解決問題的方法。在課程的進行中,引導學生學一種算法,就嘗試在同行課程中應用。作者還經常介紹一些趣味性算例,如:“迷宮問題”等[1],來培養學生的學習興趣,讓大家積極主動地獲取知識,打好程序設計基礎。整個教學過程中應該把解題思路、方法和步驟當作授課的重點,從而讓學生明白如何分析并解決實際問題,逐漸培養學生進行程序設計的正確思維模式。
絕大部分學生是第一次接觸面向對象程序設計的概念,通俗、易懂的教學原則同樣適合于這門課的教學。在課程講授過程中,作者沒有把重點放在語法規則的敘述上,而是放在算法和程序設計方法上,通常由幾個例題引出一種語法規則,通過一些求解具體問題的程序來分析算法,介紹程序設計的基本方法和技巧,既注重教材的系統性、科學性,又注重易讀性和啟發性。從最簡單的問題入手,一開始就介紹程序,要求學生編寫程序,通過反復編寫、運行程序來掌握語言規則和程序設計方法。同一個語法規則、同一種算法,在選擇例題時也是由簡到難,逐步呈現給學生。在學習上不要求學生死記語法規則,而是要求學生能把各個孤立的語句組織成一個有機的程序。注意培養學生良好的編程風格,讓學生在編制程序過程中不斷總結、鞏固,達到學會方法、記住語法規則,提高設計技巧的'目的。
作者要求學生事先預習,實際上就是要求他們課前自學,講課時以學生預習過為起點,只講難點、重點,這樣既給了學生思維分析的余地,又節省課時。這就要求必須精選教學內容,注意詳略安排。如在講到“類與對象”,“繼承與派生”[2]這些關鍵性章節時就講的特別精,使學生能夠熟練掌握、理解透徹,而講到“輸入輸出流”時,讓學生做到一般了解即可。課堂上找一些程序設計較好、解題思路清晰的例題讓學生自己讀,找出精妙之處和不理解之處,對普遍性的問題共同講解,個別問題課后解答。
作者特意地設置一些不同深淺的筆誤和口誤,馬上讓學生肯定對與錯,以考查學生注意力集中的程度,提高他們的敏銳性和判別力。對有些問題,給出一種程序設計方法后,讓學生討論,還有沒有其它的程序設計方法和思路,讓他們發表意見,提出自己的解題思路和編程方法,給學生交流不同思路和觀點的機會。這就要求老師既能引導又能放開,既有事先的精心備課,又有課堂上的因勢利導,同時也可以從學生討論中提出的問題來豐富教材內容,使得教與學相得益彰,共同進步。
做習題是復習所學內同的過程,也是深入學習的過程。作者每次課后給學生布置一些有代表性的習題,以鞏固課堂上所學的內容。也通過學生的作業情況來了解學生對課程內容的掌握程度。對作業中比較普遍出現的錯誤,在下次課上當堂講解,使得學生能對學過的東西理解透、掌握牢。作業中新穎的程序設計方法和思路,也當堂宣講或作業批注,以鼓勵創新型的學習方法。
每次實際上機操作前,都根據實驗教學計劃,有系統地布置上機實習作業,讓學生明確上機任務,編寫好上機調試的程序,使學生在每次上機實踐中都有收獲。作者讓學生按照自己的姓名、學號命名自己的程序文件,調試成功后存入磁盤,并撰寫實驗報告,課程結束后結合學生的程序和實驗報告來評定實驗成績。課程結束前作者堅持進行總結,把所學的內容作一個概要分析,前后聯系起來,使學生對所學課程內容能夠融匯貫通。
面向對象程序設計心得體會篇二
【摘 要】針對用人單位對軟件的人才需求,以軟件工程專業模塊化課程體系為研究對象,提出了面向對象程序設計課程體系及教學方法改革。研究如何將本專業其它課程融入其中,整合教學內容。根據不同的教學內容,探索靈活的教學方法,并提出實踐教學方法的改革思想,以提高面向對象程序設計的教學質量。
【關鍵詞】面向對象程序設計;java;課程體系;教學改革
(department of computer science and technology,hefei university, hefei anhui 230601, china)
0 引言
java是新一代面向對象編程語言。由于它的優點在不斷發展,現已成為目前使用最廣泛和最卓越的的面向對象程序設計語言之一,從桌面辦公的應用軟件到企業級大型復雜的應用軟件,再到小型移動設備的嵌入軟件,因此此類人才的市場需求與日俱增,一方面人才需求缺口很大,一方面企業很難招聘到合格的java軟件工程師。其主要原因體現在以下幾方面。
(1)課程內容孤立:教學內容和其它課程知識點的缺乏融合、滲透。
(2)教學方法單調:老師只是單純講授每節課的知識點。很難激發學生學習興趣。
(3)實踐教學滯后:實踐項目和實踐教學方法滯后,沒有完善的實踐教學環節。
(4)學習方法被動:學生聽完教師講完課,被動地根據實驗項目做該節單元實驗。
本文結合多年的java教學經驗和教學過程中體會,以軟件工程專業模塊化課程體系為研究對象較,找出面向對象編程和其它課程模塊的結合點整合java教學內容,探索面向對象程序設計的新教學方法和教學手段的改革思想,引導學生自主學習意識,提升授課的效果。
1 挖掘軟件課程間的結合點,整合教學內容
在整合教學內容時,一方面以軟件工程專業模塊化課程體系為研究對象,探討本專業各課程特點,挖掘java與本專業其他課程教學內容的結合點,另一方面將新技術、新知識融入其中,注意保持與java技術的發展同步。java教學內容可分為四部分:基礎知識(java語法、數組字符串、工具類)、面向對象(面向對象分析方法、面向對象設計方法、面向對象特征)基本編程技術(多線程技術、異常處理機制、applet應用編程、圖形用戶界面設計、輸入輸處流)綜合應用技術(網絡編程、數據庫編程、多媒體編程等),具體如圖1所示。如講解包、集合和工具類的使用時,可以集合數據結構的線性表、棧、隊列、二叉樹例子。講解java線程生命周期、線程同步、線程死鎖時,以操作系統的進程管理為例。講解string類的使用時,可重點講解字符串的各種操作,為后續的編譯原理中詞法分析的實現打下基礎。講解socket通信、web編程、jsp程序設計結合計算機網絡tcp/ip協議等知識點,講解jdbc時,結合數據庫操作相關知識, 講解java高級編程時,將軟件工程、軟件測試等相關課程融入其中,總之,整合課程內容時,將本專業相關課程的知識互相融合滲透,完善課程內容體系。
2 靈活運用教學方法,提高教學質量
針對不同的.教學內容,靈活運用教學手段和方法。如對基礎知識部分,java語法主要以自學為主,以任務為驅動,重點講授面向對象的程序設計思想和如何運用面向對象方法對客觀實際問題進行建模。任務:用面向對象的思想完成車的設計,車是由發動機、輪子、車門、窗戶等部件構成的,每個部件設計一個類,車類(car類)有自己的屬性和方法,還包含這些部件類。通過該設計任務的講解讓學生學會用面向對象思想解決客觀實際問題,注重培養學生面向對象建模能力,實現班級學生。基本編程技術這部分內容,以案例為主線,結合生動形象的案例講解,如案例1:實現windows附件所帶計算器,通過該的案例分析、設計、編程實現的過程逐一介紹applet應用、容器中組件的添加與設置、菜單的使用技術、布局管理器、java核心包中數組、math類的使用、異常的處理、事件處理機制等相關知識。案例2:操作系統的進程管理中生產者與消費者,介紹java多線程技術,將具體的問題抽象為編程技術的實現,引導學生盡快掌握java基本編程技術和設計技巧。對第三部分內容.采用項目教學法,綜合運用前兩部分知識,結合最新技術解決實際問題,如通過對聊天室軟件的分析設計,讓學生學會將輸入輸處流、圖形用戶界面的設計、數據庫jdbc連接、socket通信、線程等技術加以綜合應用。在講解java高級編程時,主要是結合一個具體項目,如實現學生管理系統,講解項目的設計思想、方法和步驟時,啟發鼓勵學生結合已有的知識積極主動地參與項目分析,然后再根據學生分析的進度將項目整個實現過程逐步講解、逐一展示給同學,切忌將整個程序代碼直接展示介紹。否則學生只能讀懂代碼的功能,而沒有完整的思路。而面向對象程序設計課程的目的是培養學生運用面向對象程序設計方法解決問題的能力。
3 將軟件工程素質的培養貫穿在整個實踐教學過程中
(1)調研,選題;
(2)研討項目方案,擬定開發計劃,小組成員分工;
(3)查閱學習相關技術資料,完成需求分析;
(4)小組成員研討課題相關的技術,完成設計階段;
(5)編碼實現和測試等各個階段;
(6)開發文檔整理、編制。
利用軟件質量保證計劃完成整個項目的實施完成需求分析、系統設計、編碼實現和測試等各個階段,撰寫各個階段的相應文檔。特別在需求分析、系統設計階段等階段,充分理解和詳細分析項目的需求,要注重培養學生的創新能力,經過需求分析、系統設計后,再用相應的java技術對設計的結果進行編碼,最后通過單元測試、集成測試完成整個項目。通過一個模擬實戰項目訓練,學生既掌握java技術知識和運用,又對軟件工程實際項目實施過程有一個清晰完整的思路,拓寬了學生的視野,增強了學生的學習興趣。在是學生能明確自己的學習目標。很好地培養了學生軟件工程素質。任課教師也要參與軟件項目的開發,不斷提高自身工程實踐能力。
4 引導學生自主協作學習
首先要完善整合課程網絡資源:包括課程介紹、教學大綱、教學周歷、電子教案、重點難點內容特別指導、實踐項目任務書等必需的教學資源。讓學生依據自身學習能力、學習興趣和學習時間,通過網絡資源自主安排學習進度。教師可通過多種方式實時指導學生,如電話、電子郵件、課程學習論壇、建立qq課程群等形式實時指導學習,培養學生自主學習能力。其次組織成立興趣小組確定學習項目、讓組長安排分配學習任務,教師參與定期交流學習體會,能解決活動中存在的問題。而協作學習有助于增強學生之間的溝通能力以及培養學生的團隊意識。再學生可通過訪問專業網站與經驗豐富的編程人員交流,以提高自己的編程水平。并定期進行考核計入總評成績,督促鼓勵學生進行自主學習。同時了解學生學習效果,調整學習方法,激發學習興趣,培養學生學習的主動性,使學生不在是被動的、孤立地學習,從而培養學生的自學能力和團隊協作精神。
5 考核方式的改革
目前大多采用理論考試和實踐考試相結合模式,以掌握知識為主單一的閉卷筆試占比例更大些,以至于難以衡量學生實踐動手能力,不能客觀公評價學生掌握該課程情況,甚至制約了課程教學改革和教學質量的提高。因此改革考核方式也是教學改革的重要內容之一,運用多樣化的考核形式有利于全面真實地對學生的知識掌握程度、實踐能力的衡量。考試重心轉移到對學生的實際能力的考核,如,采用項目答辯、上機考試、過程考該等多種考試方式。完善的考核方式將推動課程的教學改革研究。
6 結束語
在面向對象編程技術課程教學過程中,應避免理論教學和實踐環節脫離、注重學生項目開發能力的培養,授課教師應定期到軟件企業調研,掌握最新的java技術,調整教學計劃,整合課程體系。還應采用科學合理的教學方法,引導學生采用正確的學習方法。理解面向對象程序設計的總體思路及各種抽象概念。培養學生查閱資料、編寫和調試程序能力。特別注重在整個教學過程中貫穿軟件工程的思想.培養學生具有一定的軟件工程的素質和團隊合作意識,為今后從事軟件技術開發工作打下良好基礎。今后,本課程組要總結前期課程建設工作,如教學內容的整合、教學方法和教學手段的改革和實踐能力培養的突出方法。構建課程體系,編制實教材,建設案例庫和項目庫等資料,完善本課程教學體系。
【參考文獻】
面向對象程序設計心得體會篇三
我接觸c語言真的是從我開學開始的,在這之前我從來沒有想過我會與寫程序代碼有淵源,這一學期,準確的說我是從零基礎的程序設計者一步一步走下來的,剛開始接觸c語言的時候,我感到了無助,因為在軍訓預習的時候我看到代碼就頭疼,在開學初我第一個學會的代碼就是“hello,world!”。我開始對c有了一點點的好奇,為什么能夠編譯成功呢?因此,我努力的從開始學起,然后我又學會了“a+b”等等的簡單的運算,頭文件等等的內容在我的心里逐漸變得清晰,從開始的一寫程序就羅列所有的頭文件來使用到現在有選擇性的使用用的到的頭文件我又體會到了自己小小的成就感,也許我是真的有點笨,在別人輕易可以接受的問題上我還要花一點時間再思考一下才可以,但是我愿意一點一點的去努力學習。后來,在逐漸學的多了之后我還是會翻以前不懂的東西,我卻發現目前學的內容總是比以前學的難得多,在我看以前的程序題的時候,我會覺得簡單,我覺得這就是我的收獲。
但是隨著學習的東西越來越多,我還是好多次感到壓力,感到難辦,剛開始學循環結構的時候,我搞不懂while,do_while,for循環的區別,不會有效的使用他們,后來我又學了循環嵌套,感覺難度更大了,令我印象最深的是輸出空心矩形和實心矩形的那個題,還有菱形的題主要是靠找規律得出結論,這兩種題大體上是一樣的,但是小結構上又有些區別,所以找準規律很關鍵。
然后又學習了數組,關于數組這一章,最關鍵的是弄懂題,openjudje上的題讓我感到非常的迷茫,因為太難了,有很多題我無法獨立的一次性完成,所以尋求同學們的不少幫助,雖然做題的過程相當的坎坷,但是幸好結果不算太差,我走了許多收獲,每一次學習新的內容都會給我造成不小的難度,我需要的就是靜心沉思,這樣才會有收獲。
在最近的復習中,我又學會了不少之前看似不起眼但是不掌握又做不出正確答案的小內容,比如素數的個數的題,_=2的定義必須在for循環內部,否則數據會從第一次循環完成的_值繼續往下加,還有求最大公約數和最小公倍數的題里,我知道了最大公約數_最小公倍數=倆數的乘積,這樣就不會造成超時問題,我覺得我在這個題里發現我對超時問題和程序優化這兩個方面做的還不夠好。
我在老師發的100題中,發現了一個有趣的題,叫做斐波那契數列,我先用函數的方式解決了這個題,然后又用同樣的函數解決了pell數列的問題,所以我感到程序設計還是有一些相同之處的,關鍵在于多做題多了解多方面的知識,有時候你學會了一個題的解法說不定在另一個題中你也可以用同樣的方法解決不一樣的問題。
在這一學期的學習中,我感到了我對寫程序的了解非常的少,所以我還需要多做題,多學習解決問題的方法,在腦子里形成框架,看題想到方法才是我最后要做到的,所以我還需要繼續努力,挖掘程序設計語言的精髓!