軟件工程專(zhuān)業(yè)面向對象程序設計教學(xué)改革研究論文
【摘 要】針對用人單位對軟件的人才需求,以軟件工程專(zhuān)業(yè)模塊化課程體系為研究對象,提出了面向對象程序設計課程體系及教學(xué)方法改革。研究如何將本專(zhuān)業(yè)其它課程融入其中,整合教學(xué)內容。根據不同的教學(xué)內容,探索靈活的教學(xué)方法,并提出實(shí)踐教學(xué)方法的改革思想,以提高面向對象程序設計的教學(xué)質(zhì)量。
【關(guān)鍵詞】面向對象程序設計;Java;課程體系;教學(xué)改革
Research on Teaching Reforms Object-Oriented Programming of Software Engineering Special Field
WU Xiao-qin TAN Ming XU Qiang HU Chun-lin
。―epartment of Computer Science and Technology,Hefei University, Hefei Anhui 230601, China)
【Abstract】Considering the demands of software talent, modular curriculum system of software engineering special field is studied. The system of object-oriented programming courses and teaching methods are proposed. In Java, for example, The integration of professional courses is researched. The flexible teaching methods are explored . In order to improve the teaching quality of object-oriented programming, the reform ideas of practical teaching methods of is proposed.
【Key words】Object-Oriented Programming; Java; Curriculum system; Teaching Reformation
0 引言
Java是新一代面向對象編程語(yǔ)言。由于它的優(yōu)點(diǎn)在不斷發(fā)展,現已成為目前使用最廣泛和最卓越的的面向對象程序設計語(yǔ)言之一,從桌面辦公的應用軟件到企業(yè)級大型復雜的應用軟件,再到小型移動(dòng)設備的嵌入軟件,因此此類(lèi)人才的市場(chǎng)需求與日俱增,一方面人才需求缺口很大,一方面企業(yè)很難招聘到合格的Java軟件工程師。其主要原因體現在以下幾方面。
。1)課程內容孤立:教學(xué)內容和其它課程知識點(diǎn)的缺乏融合、滲透。
。2)教學(xué)方法單調:老師只是單純講授每節課的知識點(diǎn)。很難激發(fā)學(xué)生學(xué)習興趣。
。3)實(shí)踐教學(xué)滯后:實(shí)踐項目和實(shí)踐教學(xué)方法滯后,沒(méi)有完善的實(shí)踐教學(xué)環(huán)節。
。4)學(xué)習方法被動(dòng):學(xué)生聽(tīng)完教師講完課,被動(dòng)地根據實(shí)驗項目做該節單元實(shí)驗。
本文結合多年的Java教學(xué)經(jīng)驗和教學(xué)過(guò)程中體會(huì ),以軟件工程專(zhuān)業(yè)模塊化課程體系為研究對象較,找出面向對象編程和其它課程模塊的結合點(diǎn)整合Java教學(xué)內容,探索面向對象程序設計的新教學(xué)方法和教學(xué)手段的改革思想,引導學(xué)生自主學(xué)習意識,提升授課的效果。
1 挖掘軟件課程間的結合點(diǎn),整合教學(xué)內容
在整合教學(xué)內容時(shí),一方面以軟件工程專(zhuān)業(yè)模塊化課程體系為研究對象,探討本專(zhuān)業(yè)各課程特點(diǎn),挖掘Java與本專(zhuān)業(yè)其他課程教學(xué)內容的結合點(diǎn),另一方面將新技術(shù)、新知識融入其中,注意保持與Java技術(shù)的發(fā)展同步。java教學(xué)內容可分為四部分:基礎知識(Java語(yǔ)法、數組字符串、工具類(lèi))、面向對象(面向對象分析方法、面向對象設計方法、面向對象特征)基本編程技術(shù)(多線(xiàn)程技術(shù)、異常處理機制、Applet應用編程、圖形用戶(hù)界面設計、輸入輸處流)綜合應用技術(shù)(網(wǎng)絡(luò )編程、數據庫編程、多媒體編程等),具體如圖1所示。如講解包、集合和工具類(lèi)的使用時(shí),可以集合數據結構的線(xiàn)性表、棧、隊列、二叉樹(shù)例子。講解Java線(xiàn)程生命周期、線(xiàn)程同步、線(xiàn)程死鎖時(shí),以操作系統的進(jìn)程管理為例。講解String類(lèi)的使用時(shí),可重點(diǎn)講解字符串的各種操作,為后續的編譯原理中詞法分析的實(shí)現打下基礎。講解Socket通信、web編程、JSP程序設計結合計算機網(wǎng)絡(luò )TCP/IP協(xié)議等知識點(diǎn),講解JDBC時(shí),結合數據庫操作相關(guān)知識, 講解Java高級編程時(shí),將軟件工程、軟件測試等相關(guān)課程融入其中,總之,整合課程內容時(shí),將本專(zhuān)業(yè)相關(guān)課程的知識互相融合滲透,完善課程內容體系。
2 靈活運用教學(xué)方法,提高教學(xué)質(zhì)量
針對不同的教學(xué)內容,靈活運用教學(xué)手段和方法。如對基礎知識部分,Java語(yǔ)法主要以自學(xué)為主,以任務(wù)為驅動(dòng),重點(diǎn)講授面向對象的程序設計思想和如何運用面向對象方法對客觀(guān)實(shí)際問(wèn)題進(jìn)行建模。任務(wù):用面向對象的思想完成車(chē)的設計,車(chē)是由發(fā)動(dòng)機、輪子、車(chē)門(mén)、窗戶(hù)等部件構成的,每個(gè)部件設計一個(gè)類(lèi),車(chē)類(lèi)(Car類(lèi))有自己的屬性和方法,還包含這些部件類(lèi)。通過(guò)該設計任務(wù)的講解讓學(xué)生學(xué)會(huì )用面向對象思想解決客觀(guān)實(shí)際問(wèn)題,注重培養學(xué)生面向對象建模能力,實(shí)現班級學(xué)生;揪幊碳夹g(shù)這部分內容,以案例為主線(xiàn),結合生動(dòng)形象的案例講解,如案例1:實(shí)現windows附件所帶計算器,通過(guò)該的案例分析、設計、編程實(shí)現的過(guò)程逐一介紹Applet應用、容器中組件的添加與設置、菜單的使用技術(shù)、布局管理器、Java核心包中數組、Math類(lèi)的使用、異常的處理、事件處理機制等相關(guān)知識。案例2:操作系統的進(jìn)程管理中生產(chǎn)者與消費者,介紹Java多線(xiàn)程技術(shù),將具體的問(wèn)題抽象為編程技術(shù)的實(shí)現,引導學(xué)生盡快掌握Java基本編程技術(shù)和設計技巧。對第三部分內容.采用項目教學(xué)法,綜合運用前兩部分知識,結合最新技術(shù)解決實(shí)際問(wèn)題,如通過(guò)對聊天室軟件的分析設計,讓學(xué)生學(xué)會(huì )將輸入輸處流、圖形用戶(hù)界面的設計、數據庫JDBC連接、Socket通信、線(xiàn)程等技術(shù)加以綜合應用。在講解Java高級編程時(shí),主要是結合一個(gè)具體項目,如實(shí)現學(xué)生管理系統,講解項目的設計思想、方法和步驟時(shí),啟發(fā)鼓勵學(xué)生結合已有的知識積極主動(dòng)地參與項目分析,然后再根據學(xué)生分析的進(jìn)度將項目整個(gè)實(shí)現過(guò)程逐步講解、逐一展示給同學(xué),切忌將整個(gè)程序代碼直接展示介紹。否則學(xué)生只能讀懂代碼的功能,而沒(méi)有完整的思路。而面向對象程序設計課程的目的是培養學(xué)生運用面向對象程序設計方法解決問(wèn)題的'能力。
3 將軟件工程素質(zhì)的培養貫穿在整個(gè)實(shí)踐教學(xué)過(guò)程中
在實(shí)踐教學(xué)當中,一方面把所學(xué)的知識與技術(shù)融入到工程項目中,另十分關(guān)鍵是如何將軟件工程素質(zhì)的培養貫穿在整個(gè)實(shí)踐教學(xué)過(guò)程中,面向對象程序設計實(shí)踐教學(xué)采用項目驅動(dòng)方式實(shí)施整個(gè)實(shí)踐教學(xué)環(huán)節,通過(guò)成立項目小組模擬企業(yè)真實(shí)項目練習,具體過(guò)程如下:
。1)調研,選題;
。2)研討項目方案,擬定開(kāi)發(fā)計劃,小組成員分工;
。3)查閱學(xué)習相關(guān)技術(shù)資料,完成需求分析;
。4)小組成員研討課題相關(guān)的技術(shù),完成設計階段;
。5)編碼實(shí)現和測試等各個(gè)階段;
。6)開(kāi)發(fā)文檔整理、編制。
利用軟件質(zhì)量保證計劃完成整個(gè)項目的實(shí)施完成需求分析、系統設計、編碼實(shí)現和測試等各個(gè)階段,撰寫(xiě)各個(gè)階段的相應文檔。特別在需求分析、系統設計階段等階段,充分理解和詳細分析項目的需求,要注重培養學(xué)生的創(chuàng )新能力,經(jīng)過(guò)需求分析、系統設計后,再用相應的Java技術(shù)對設計的結果進(jìn)行編碼,最后通過(guò)單元測試、集成測試完成整個(gè)項目。通過(guò)一個(gè)模擬實(shí)戰項目訓練,學(xué)生既掌握Java技術(shù)知識和運用,又對軟件工程實(shí)際項目實(shí)施過(guò)程有一個(gè)清晰完整的思路,拓寬了學(xué)生的視野,增強了學(xué)生的學(xué)習興趣。在是學(xué)生能明確自己的學(xué)習目標。很好地培養了學(xué)生軟件工程素質(zhì)。任課教師也要參與軟件項目的開(kāi)發(fā),不斷提高自身工程實(shí)踐能力。
4 引導學(xué)生自主協(xié)作學(xué)習
首先要完善整合課程網(wǎng)絡(luò )資源:包括課程介紹、教學(xué)大綱、教學(xué)周歷、電子教案、重點(diǎn)難點(diǎn)內容特別指導、實(shí)踐項目任務(wù)書(shū)等必需的教學(xué)資源。讓學(xué)生依據自身學(xué)習能力、學(xué)習興趣和學(xué)習時(shí)間,通過(guò)網(wǎng)絡(luò )資源自主安排學(xué)習進(jìn)度。教師可通過(guò)多種方式實(shí)時(shí)指導學(xué)生,如電話(huà)、電子郵件、課程學(xué)習論壇、建立QQ課程群等形式實(shí)時(shí)指導學(xué)習,培養學(xué)生自主學(xué)習能力。其次組織成立興趣小組確定學(xué)習項目、讓組長(cháng)安排分配學(xué)習任務(wù),教師參與定期交流學(xué)習體會(huì ),能解決活動(dòng)中存在的問(wèn)題。而協(xié)作學(xué)習有助于增強學(xué)生之間的溝通能力以及培養學(xué)生的團隊意識。再學(xué)生可通過(guò)訪(fǎng)問(wèn)專(zhuān)業(yè)網(wǎng)站與經(jīng)驗豐富的編程人員交流,以提高自己的編程水平。并定期進(jìn)行考核計入總評成績(jì),督促鼓勵學(xué)生進(jìn)行自主學(xué)習。同時(shí)了解學(xué)生學(xué)習效果,調整學(xué)習方法,激發(fā)學(xué)習興趣,培養學(xué)生學(xué)習的主動(dòng)性,使學(xué)生不在是被動(dòng)的、孤立地學(xué)習,從而培養學(xué)生的自學(xué)能力和團隊協(xié)作精神。
5 考核方式的改革
目前大多采用理論考試和實(shí)踐考試相結合模式,以掌握知識為主單一的閉卷筆試占比例更大些,以至于難以衡量學(xué)生實(shí)踐動(dòng)手能力,不能客觀(guān)公評價(jià)學(xué)生掌握該課程情況,甚至制約了課程教學(xué)改革和教學(xué)質(zhì)量的提高。因此改革考核方式也是教學(xué)改革的重要內容之一,運用多樣化的考核形式有利于全面真實(shí)地對學(xué)生的知識掌握程度、實(shí)踐能力的衡量?荚囍匦霓D移到對學(xué)生的實(shí)際能力的考核,如,采用項目答辯、上機考試、過(guò)程考該等多種考試方式。完善的考核方式將推動(dòng)課程的教學(xué)改革研究。
6 結束語(yǔ)
在面向對象編程技術(shù)課程教學(xué)過(guò)程中,應避免理論教學(xué)和實(shí)踐環(huán)節脫離、注重學(xué)生項目開(kāi)發(fā)能力的培養,授課教師應定期到軟件企業(yè)調研,掌握最新的Java技術(shù),調整教學(xué)計劃,整合課程體系。還應采用科學(xué)合理的教學(xué)方法,引導學(xué)生采用正確的學(xué)習方法。理解面向對象程序設計的總體思路及各種抽象概念。培養學(xué)生查閱資料、編寫(xiě)和調試程序能力。特別注重在整個(gè)教學(xué)過(guò)程中貫穿軟件工程的思想.培養學(xué)生具有一定的軟件工程的素質(zhì)和團隊合作意識,為今后從事軟件技術(shù)開(kāi)發(fā)工作打下良好基礎。今后,本課程組要總結前期課程建設工作,如教學(xué)內容的整合、教學(xué)方法和教學(xué)手段的改革和實(shí)踐能力培養的突出方法。構建課程體系,編制實(shí)教材,建設案例庫和項目庫等資料,完善本課程教學(xué)體系。
【參考文獻】
[1]王新海,李建東.李捷娜.軟件工程專(zhuān)業(yè)課程體系研究與實(shí)踐[J].計算機教育, 2012(4):70-73.
[2]韓春燕,高曉興,姜慧妍,等.軟件工程專(zhuān)業(yè)課程體系優(yōu)化方法研究與實(shí)踐[J]. 計算機教育,2009(2):70-73.
[3]王秀坤,張憲超,郭禾.本科軟件工程專(zhuān)業(yè)軟件類(lèi)核心課程關(guān)聯(lián)式教學(xué)模型研究與實(shí)踐[J].計算機教育,2008(12):91-92.
[4]芳,孫力娟.軟件工程專(zhuān)業(yè)課程體系研究[J].高等工程教育研究,2009(2):140-144.
[5]許慶偉.徐兆佳.楊莉.軟件工程專(zhuān)業(yè)Java教學(xué)初探[J].計算機教育,2009(1):28-30.
[6]陽(yáng)王東,吳宏斌,祝青.以工程項目為主線(xiàn)的軟件工程專(zhuān)業(yè)課程設計實(shí)踐教學(xué)[J].計算機教育,2012(12):90-93.
【軟件工程專(zhuān)業(yè)面向對象程序設計教學(xué)改革研究論文】相關(guān)文章:
面向對象程序設計教學(xué)淺析的論文07-05
遞進(jìn)案例在面向對象程序設計教學(xué)應用論文01-11
基于項目教學(xué)法的面向對象程序設計課程改革探析論文11-13
面向對象程序設計精品課網(wǎng)站開(kāi)發(fā)研討論文04-19
論面向對象的數據庫技術(shù)論文06-26
獨立學(xué)院面向非統計學(xué)專(zhuān)業(yè)統計學(xué)教學(xué)改革研究論文11-12
學(xué)前教育專(zhuān)業(yè)教學(xué)改革研究論文08-03
籃球教學(xué)改革研究論文08-29