張羽佳
山東外貿職業學院信息管理系 山東青島 266071
Java語言是當今最為流行的軟件開發語言之一,Java程序設計也已經成為高職院校軟件專業核心課程,該課程具有較強的實用性,主要涵蓋Java的基本語法、面向對象的編程技術、常用系統類的使用、圖形用戶界面設計、異常處理等知識,與后面將要學習的Jsp開發技術、JavaBean與Servlet技術及Java高級編程框架共同構成Java課程體系群,培養的人才直接對應軟件公司中軟件開發人員、軟件測試人員等職位。但是通過對畢業生進行跟蹤調查,對其就業情況進行調研分析,發現學校的人才培養與企業的人才需求差距較大。由于沒有項目開發經驗,應屆畢業生的實際操作能力普遍不能滿足企業需要。因此亟需對Java課程進行教學改革,采取一種更為行之有效的,以學生為主體、以教師為主導、以項目為載體的教學模式。
作為一門面向對象語言,Java具有抽象、繼承、封裝、多態等特征,而之前的先導課程“C語言程序設計”中采用的是面向過程的程序設計思想。學生的結構化設計思路已經根深蒂固,對于Java語言中的許多語法和機制感覺難以理解。因而為樹立學生面向對象程序設計的思想,掌握Java技術精髓,一改以往“以教師為主,以學生為輔”的知識點講授的教學模式,而是采用一種全新的以學生自主學習為主導、以教師引導為輔助的項目驅動式互動教學模式,通過項目分析、項目設計、項目調試與完善等一系列開發工作,增加學生解決問題后的成就感,調動學生學習的積極性,提升學生的自主學習能力和問題解決能力。
由于此階段的學生還沒有學習Java Web開發技術,所以選取采用面向對象編程技術開發的圖形用戶界面的桌面系統作為驅動項目。項目的選取從生產性、相關性、發展性、實施性這四方面出發。
1)生產性是指依據企業發展需要和Java程序員崗位群的工作任務所需的知識、能力、素質要求選取項目,以企業真實項目為載體。
2)相關性是指盡量選取與學生學習、生活相關的項目,學生易于理解項目需求,也更容易激發出學習的興趣。
3)發展性是指依據當前主流技術和今后發展趨勢,為后續課程和學生的持續發展服務,易于擴展成為后續課程中的驅動項目。
4)實施性是指教學活動易于展開,可實施性強。項目規模要適當,要根據課程時間來選取項目。項目不能太大,太大了做不完;也不能太小,太小了沒有意義,達不到練習的目的。
本著以上四項原則,選取與學生息息相關的“學生成績管理系統”作為教師教學項目,選取比較符合社會實際需要的“企業供銷存管理系統”作為學生操練項目。
在教學過程中,通過對“學生成績管理系統”的分析、講解,將課程大綱中涉及的所有知識點連貫起來,有助于學生對整個理論體系的理解和掌握。在操練實踐中,“企業供銷存管理系統”與教學項目在基本模塊和功能的實現上比較相似。因此,學生可以模仿課堂上介紹的內容去實現,這樣就能避免“碰到實際項目無從下手”的缺陷。另外,這兩個項目又存在一定的差異,不失創新能力、綜合運用知識能力、探討問題與分析問題能力的培養,因此能夠有效地將理論與實踐結合起來。
在教學過程中,將“學生成績管理系統”分解成三個層次,從“結構化的學生成績管理系統”到“面向對象的學生成績管理系統”再到“具備用戶圖形界面的學生成績管理系統”,循序漸進,不斷改進完善項目,將知識點的講解逐步融入到項目中,學生在理解知識的同時也能積累編程經驗,夯實Java基礎。
第一個層次:在課程初期,學生還沒有學習過面向對象思想的情況下,教師先帶領學生做一個結構化的項目,利用類似C語言中面向過程的設計思路,組織學生開發出能夠在控制臺運行和使用的“學生成績管理系統”。這一過程重點是使學生溫故而知新,在回顧之前所學習過的程序結構、流程控制和函數調用等知識的同時了解Java語言的特點;熟悉Java程序的基本結構;學會搭建Java程序的運行環境;并且掌握Java語言中的數據類型、運算符和表達式及流程控制語句的格式、執行過程等知識。
第二個層次:對之前完成的項目進行分析,找到用數組表示學生信息的不足之處,從而引出類的概念以及抽象、繼承、封裝、多態等類的特性,帶領學生逐步完成采用面向對象方法設計的“學生成績管理系統”,這樣就使學生了解面向對象的基本概念,熟悉類的特性;掌握類和對象的定義;掌握成員的訪問權限;掌握類的組織方法;熟悉類的繼承機制;掌握抽象類和接口的使用;等等。這一階段是本課程的重點,占用大量課時,使用多種案例,注意循序漸進,且不可操之過急,使學生逐漸完成從面向過程設計思想到面向對象設計思想的轉變。
第三個層次:帶領學生分析“學生成績管理系統”的不足之處,如只能在控制臺運行,數據不能永久存儲,每次運行程序都需要重新輸入學生信息等問題,從界面、數據持久化等方面再次提出改進意見,引入圖形界面、數據庫操作等概念,帶領學生逐步完成圖形界面化的“學生成績管理系統”。這樣就使學生了解AWT/Swing的基本概念;掌握各種常用Java圖形組件的功能及使用方法;掌握布局管理器的應用;掌握數據庫的連接方法與連接步驟;掌握數據庫的查詢、插入、更新和刪除方法。
學生的操練項目“企業供銷存管理系統”與“學生成績管理系統”類似,也分為結構化的設計、面向對象的設計和圖形界面的設計三個階段,所需知識與“學生成績管理系統”中所用到的知識點基本相符,學生操練“企業供銷存管理系統”的過程是對知識點理解、運用乃至提升的過程。
整個Java課程的教學實施過程分為三個階段:模擬階段、實戰階段、總結提高階段。
教師針對教學項目“學生成績管理系統”進行需求分析,概要設計,帶領學生共同完成數據庫設計、用戶界面風格設計及具體的代碼實現。邊完成項目邊講解所需的知識,通過“教師做,學生模擬”,使學生在完成“學生成績管理系統”的同時,實現從概念的理解到實際編程能力的轉變。
針對操練項目“企業供銷存管理系統”,在學生已經具備一定開發能力的條件下,由學生獨立自主完成項目開發。在此階段,教師的作用主要是個別答疑、開發過程的行為監控,以及對共性問題進行總結歸納。這時教師的角色是學生學習的促進者、組織者和指導者,學生則在教師的幫助下進行主動性的思考、探索與實踐,充分體現學生在教學活動中的主體性。學生通過實戰演習過程,能牢固地掌握相關的技術。
此階段學生需要提供的資料包括開發程序和相關技術文檔。一般做法是:學生自述并演示自己的作品→教師提問,學生進行答辯→教師點評指導。整個驗收點評活動就像一次頭腦風暴,每個學生個體的思維智慧都能為全體學生所共享,從而提高了所有學生的項目開發綜合技能。在教師的啟發下,學生再對自己所做的“企業供銷存管理系統”進行改進、調試,形成一個比較完善的項目,增加學生在項目開發中的樂趣和成就感。最后回歸課堂,教師再次對項目中用到的知識進行綜合總結,該階段是學生對所學理論與技能的一個總結提高的過程。
通過對兩個項目的設計與實現,學生大大提高了學習興趣,提升了自主學習能力和踐行能力,懂得怎樣靈活運用所學知識解決實際問題。經過對11級軟件班學生的教學實踐,項目驅動教學方式取得了很好的教學效果,學生的開發能力有了很大的提高,為將來走上工作崗位打下堅實基礎。
[1]李桂玲.Java程序設計教程(項目式)[M].北京:人民郵電出版社,2011:9.
[2]史學梅,孟祥瑞.JAVA課程教學改革探索[J].系統信息工程,2011(1):98-100.
[3]張少龍,楊韶華.高職Java課程改革中“三個如何”問題的思考與實踐[J].計算機教育,2009(5):72-73.