鄧丹君+姚莉
摘 要:對《J2EE架構程序設計》課程理論教學和實驗教學的教學設計進行探討,強調采用主動式項目驅動教學方式,將“在線考試系統”項目作為案例貫穿于整個課堂教學過程中,并且按照企業的機制,學生分組進行項目開發。在課堂上進行教學實踐,結果表明,該教學方法教學效果良好,學生的項目開發能力、團隊協作能力和獨立自主學習能力都有較大提升。
關鍵詞:J2EE課程;主動式項目驅動教學;教學設計
DOIDOI:10.11907/rjdk.162735
中圖分類號:G433
文獻標識碼:A 文章編號:1672-7800(2017)007-0223-03
0 引言
Java語言已成為主流的計算機編程語言,J2EE是采用Java語言的企業級應用框架,用于開發分布式企業軟件應用平臺,具有跨平臺、可擴展、高穩定性等特點,現已在多個行業中得到廣泛應用,社會對J2EE程序員需求量也較大[1]。
為了讓學生能夠適應社會需求,湖北理工學院在計算機科學與技術專業開設了《J2EE架構程序設計》專業必修課,旨在培養學生的實踐動手能力,為學生畢業后盡快適應J2EE相關軟件開發工作作準備[2]。目前,深入開展《J2EE架構程序設計》這門課程教學的高校并不多,對該課程的教學內容和教學方法等進行深入探討和研究尤為必要。
《J2EE架構程序設計》作為專業必修課程,在計算機科學與技術專業大三下學期開設,主要講述J2EE主要的流行框架Struts、Hibernate和Spring。教學目標具體如下:①能按照J2EE的五層體系結構(數據持久層、數據訪問層、業務邏輯層、控制層和表示層)開發Web應用程序;②掌握Struts、Hibernate和Spring框架的使用,會應用這些框架開發J2EE企業級的Web應用程序;③熟練使用J2EE的開發工具和數據庫進行項目開發,包括代碼的編寫、調試和部署。
1 《J2EE架構程序設計》教學現狀分析
湖北理工學院計算機科學與技術專業的學生在接觸這門課程之前,已學習了《數據庫系統原理》、《計算機網絡原理》、《Java程序設計》、《HTML/CSS與JavaScript》、《JSP/Servlet程序設計》等課程,并具備一定的Web應用系統開發基礎。J2EE課程的學時為:每周4學時,共60學時,其中理論20學時,實驗40學時。
《J2EE架構程序設計》課程實驗學時偏多、理論學時偏少,根據以往教學經驗以及與同行之間的交流發現,在本課程的教學過程中,存在以下問題:①課堂理論教學過程中,教師經常采用“教師講授,學生被動接受知識”的方式,教學方法單一,缺乏互動,教學內容以理論與語法知識為主,內容與實驗脫節;②實驗教學中的實驗內容過于簡單,以驗證性實驗為主,學生沒有主動思考的過程,且實驗內容與實際項目中的應用脫節,學生的實踐動手能力沒有得到鍛煉,畢業后往往發現自己與企業的需求差距很大,熟練運用J2EE的框架Struts、Hibernate和Spring需要反復的項目實踐;③沒有有效的考核方式,傳統的卷面考試側重于語法,不能考核學生實際的J2EE編程能力。
這些問題產生的根源在于傳統的教學方式沒有注重培養學生的動手編程能力、研究探索能力和實際項目開發能力。鑒于此,許多高校就《J2EE架構程序設計》理論與實驗教學內容和教學方法進行了研究[3]。然而,這些研究并沒有與具體的企業實際項目開發過程聯系起來,學生學完之后缺乏應有的工程經驗和項目經驗,畢業之后不能適應企業需求。如何將有限的理論知識與實驗內容相結合,加強學生工程經驗和項目經驗的鍛煉,是《J2EE架構程序設計》課程教學需要解決的關鍵問題。
2 《J2EE架構程序設計》課程教學設計
根據當前企業對Java軟件工程師的需求,在該課程教學過程中應該注重理論學習和應用實踐的結合,注重培養學生開發實際項目的實戰經驗。
《J2EE架構程序設計》課程需要掌握的知識點很多,但學時有限。此外,《J2EE架構程序設計》課程的教學內容是基于《Java程序設計》、《JSP/Servlet程序設計》等課程之上的,學生對于這些前導課程的學習必須相當扎實,才能夠更好地掌握《J2EE架構程序設計》的精髓。因此,在人才培養方案上應該要規劃得盡可能全面,各課程的授課教師之間應積極交流,前導課程的教師需要將講授的重點知識加以強調,讓學生反復實踐,為后續課程打下良好基礎[4]。
因此,需要根據學生的知識基礎對教學內容進行組織。由于學生在學習這門課之前已經有一定的Java Web相關知識(Java基礎知識、HTML/CSS/JavaScript、JSP/Servlet),本門課的重點內容就是學習時下流行的框架技術,包含Struts2、Hibernate和Spring框架。在講解每個框架技術時,應采用主動式項目驅動教學方式,即利用一個完整的實際項目案例貫穿課堂教學始終,學生邊學邊完成該項目的開發。這種漸進地完成項目任務的方式,不僅強化了學生的專業知識,而且學生在項目開發過程中分析問題和解決問題的能力也得到了提高。
項目的選取遵循以下原則:①項目的難度要與學生的學習能力相匹配,讓學生容易理解J2EE的五層體系結構;②項目開發所涉及的技術要與教學內容緊密相關,項目的開發設計要能貫穿到整個課堂的理論教學和實驗教學當中;③項目的開發過程應該使用軟件工程的思想,包含需求分析、總體設計、詳細設計等階段[5]。
基于以上原則,本課程使用“在線考試系統”項目作為案例貫穿于整個課堂的教學過程中。“在線考試系統”項目的內容包含教師出卷和學生考試等內容,在校學生對這些內容比較熟悉,因此學生進行項目需求分析、項目總體設計的難度相對較小。
2.1 理論教學設計endprint
《J2EE架構程序設計》課程采用主動式項目驅動教學方式,過程如下:首先,制定一個合理的項目指導計劃,教師分析“在線考試系統”的框架結構,分析各模塊所要達到的預期效果,引導學生對系統的認識,從而進行需求分析和總體設計;其次,引入企業開發項目的整個過程進行項目開發,在項目開發過程中強調教師指導,學生實踐,學生邊學邊完成該系統開發。這種教學方式不僅能強化學生對理論知識的理解,而且讓學生理解每個框架在實際項目中的具體應用,從而能鍛煉學生開發實際項目的能力。
整合優化《J2EE架構程序設計》的教學內容,強化該課程與前導課程之間的聯系,利用完整的實際項目“在線考試系統”案例貫穿于課堂教學始終。將整個項目開發劃分成易于開發的階段性的項目案例,整個開發過程采用迭代式的軟件開發過程,包含需求分析、總體設計、詳細設計、編碼、測試等階段。
“在線考試系統”的業務邏輯對于初學者而言較為復雜,因此需要將“在線考試系統”這個大項目劃分成多個獨立的并且可以直接執行的項目案例。教師根據各知識點精心選擇對應的項目案例。在課堂教學中講述的各知識點是通過“在線考試系統”的相關項目案例引出,進而教師講述完成此項目案例的方法,通過由淺入深的引導,逐步實施,最后學生通過項目案例的實踐來加強對知識技能的掌握。各知識點對應的“在線考試系統”項目案例如表1所示。
每個項目案例都由項目案例背景、功能演示、實現步驟、代碼解釋組成,即首先教師講述案例的背景,然后進行項目案例的演示,將運行結果展示給學生,引發學生的興趣,再對案例進行分析,引出新的知識點,講述實現步驟,最后編寫代碼并解釋代碼的含義。學生可按照教師的操作步驟完成項目案例。課堂結束時,教師根據教學過程中學生反饋的問題進行歸納總結,分析問題產生的原因,與學生共同探究如何避免這些錯誤,以提高學生解決實際問題的能力。在實驗過程中,學生根據這些案例舉一反三,完成項目的其它功能。
2.2 實驗教學設計
《J2EE架構程序設計》課程是一門實踐性很強的課程,目前的實驗教學中,實驗學時有限,實驗內容缺少與實際項目的聯系,不能充分調動學生積極性。在實驗過程中,學生需要通過反復實踐才能逐步領會各知識點[6]。因此,實驗教學設計可以按以下幾個方面進行:
(1)增加實驗學時。可以將理論課和實驗課都安排在實驗室進行,增加學生動手實踐的機會。學生遇到問題時,便于教師及時指導,教師也可以根據這些問題進行歸納總結,適當調整教學進度,改善教學效果。
(2)引導學生獨立解決問題。在實驗環節,教師應注重引導學生在項目設計和開發過程中的獨立性及其自主學習能力,讓學生能借助于書籍、互聯網等手段解決實驗過程中遇到的問題。
(3)合理分組,共同提高。學生知識和能力基礎存在差異,為實現學生共同進步和提高,在課程實驗開始時可以對學生進行分組,將基礎較好的學生和基礎較差的學生混合編在一個項目組中,組中成員分工協作,合作完成“在線考試系統”開發。這樣做的好處是:學生既可以提前熟悉企業開發項目的模式,又可以讓基礎較好的學生幫助基礎相對較差的學生,共同學習進步,跟上實驗進度,保證教學效果。
(4)注重考核。在實驗過程中,教師要記錄學生在實驗過程中的表現,并且給予一定的分數作為平時成績,課程結束時,教師對每個小組任務的整體完成情況,及各組每個成員的工作進行綜合驗收,各組答辯,最后給出分數,作為期末成績的一部分。這種方式既強調團隊合作的重要性,也注重個人貢獻,激發學生學習與助人的積極性,也提高了他們的團隊協作能力。
3 結語
本文以湖北理工學院計算機科學與技術專業的必修課程《J2EE架構程序設計》為例,在分析該課程教學現狀的基礎上,對其理論教學和實驗教學的教學設計進行了研究,強調采用主動式項目驅動教學的方式,使用“在線考試系統”項目作為案例貫穿于整個課堂教學過程中。將“在線考試系統”這個大項目劃分成多個獨立的、可以直接執行的項目案例,教師根據各知識點精心選擇對應的項目案例。課堂教學過程中講述的各知識點是通過“在線考試系統”的相關項目案例引出的,教師通過由淺入深的引導,逐步講解,最后學生以項目案例實踐加強對知識技能的掌握。課堂教學實踐表明,上述教學方法取得了良好的教學效果。
參考文獻:
[1]江務學,王志明.任務驅動教學法在《Java語言》教學中的設計與實踐[J].商丘職業技術學院學報,2011,10(5):38-40.
[2]顧鴻虹.《Java面向對象程序設計》教學改革方案的探討[J].現代計算機:半月版,2012(6):19-21.
[3]李瑞生.Java程序設計課程教學中遇到的問題和對策[J].計算機教育,2010(22):119-122.
[4]范會聯,仲元昌.基于CDIO理念的軟件人才培養模式探索[J].實驗室研究與探索,2012(31): 131-133.
[5]邵欣欣,工曉煌,蔣晶晶.CDIO理念下的JAVA課程項目改革研究[J].計算機教育,2013(12): 26-29.
[6]趙秋石,魏樂.CDIO理念在JAVA系列課程教學改革中的應用[J].電腦知識與技術,2012(7):4681-4683.endprint