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