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