摘要:針對目前JSP課程教學(xué)存在的問題,深入研究了該門課程的教學(xué)改革方法。重點從教學(xué)內(nèi)容、教學(xué)方法、實驗教學(xué)和考核方式等幾個方面闡述在教學(xué)過程中所做的探索。實踐證明,該教學(xué)方法取得了較好的教學(xué)效果,提高了學(xué)生的綜合應(yīng)用能力和就業(yè)能力。
關(guān)鍵詞:JSP程序設(shè)計;教學(xué)改革;教學(xué)內(nèi)容;教學(xué)方法
作者簡介:何鳳英(1979-),女,福建武平人,福州大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院,講師。(福建 福州 350002)
中圖分類號:G642.0 文獻標(biāo)識碼:A 文章編號:1007-0079(2014)15-0071-02
JSP(Java Server Page)是由Sun公司推出的動態(tài)網(wǎng)頁編程技術(shù),使用JSP技術(shù)可以方便地進行Web應(yīng)用軟件的開發(fā)。隨著Internet技術(shù)的飛速發(fā)展和電子商務(wù)的普遍應(yīng)用,社會對Web應(yīng)用開發(fā)人才的需求越來越大。[1]為此,各大高校都開設(shè)了“JSP程序設(shè)計”課程,其教學(xué)目標(biāo)在于培養(yǎng)學(xué)生使用JSP進行Web項目開發(fā)的基本方法和技能,提高學(xué)生的就業(yè)競爭力。本文結(jié)合“JSP程序設(shè)計”課程的教學(xué)改革,針對目前教學(xué)中存在的問題,在教學(xué)內(nèi)容優(yōu)化、教學(xué)方法、實驗教學(xué)和考核方式幾個方面提出了改進的措施。
一、“JSP程序設(shè)計”課程教學(xué)問題分析
“JSP程序設(shè)計”目前已成為計算機科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、軟件工程等專業(yè)的一門核心專業(yè)課程,具有很強的實用性。通過幾年的教學(xué)實踐,筆者認為該課程的教學(xué)主要存在以下一些問題:
1.教學(xué)內(nèi)容設(shè)置不當(dāng)
“JSP程序設(shè)計”課程涉及的技術(shù)比較新,發(fā)展更新也比較快,目前很多高校使用的教材比較落后,只限于介紹一些基本概念或是一些過時、淘汰的技術(shù),很多實際項目中采用的框架模式,教材中卻根本沒有提及。另外,教材只重“點”,不重“面”,缺少完整和詳細的案例,忽視了各個知識點之間的關(guān)聯(lián)。很多教材大都以講解概念為主,然后每一章節(jié)都配備了相應(yīng)的示例代碼及其運行效果截圖。但是這些代碼大多是小例子,而且在邏輯上是不連貫的。比如,代碼之間的調(diào)用關(guān)系,如何進行修改和調(diào)整,都沒有涉及,從而割裂了“JSP程序設(shè)計”教學(xué)內(nèi)容之間的聯(lián)系,無法有效地將知識點進行貫通,不利于培養(yǎng)學(xué)生解決實際項目開發(fā)的能力。
2.教學(xué)方法簡單陳舊
目前很多高校對這門課程的講授大都采用理論課和實驗課相結(jié)合的教學(xué)方式,以課堂上講授理論知識為主,然后通過實驗課將課堂所學(xué)進行實踐驗證。在理論課程中,教師普遍把主要精力放在語法基礎(chǔ)的講解和知識點上,內(nèi)容過于枯燥,容易引起學(xué)生的厭學(xué)情緒。而且由于“JSP程序設(shè)計”課程涉及的知識點多,為了在有限的學(xué)時內(nèi)完成教學(xué)內(nèi)容,教師往往“滿堂灌”,缺乏師生的互動,無法調(diào)動學(xué)生的學(xué)習(xí)積極性,也不利于學(xué)生創(chuàng)造性思維的培養(yǎng)。在實驗課程中,主要針對課堂所講的知識點進行代碼驗證,這些實驗大多只要求學(xué)生照搬書上的代碼,簡單地調(diào)試通過,驗證完畢即可,并沒有給學(xué)生自由發(fā)揮創(chuàng)造的空間。而且這些實驗也只側(cè)重單個知識點的理解,忽略了知識點間的聯(lián)系,導(dǎo)致學(xué)生的綜合應(yīng)用能力得不到提高。
3.考核方式不合理
很多高校對“JSP程序設(shè)計”的考核仍以筆試為主,對理論知識考核的內(nèi)容比較多。但“JSP程序設(shè)計”本身是一種實踐性的課程,傳統(tǒng)的考核方式只能檢驗學(xué)生對基本概念、基本語法的掌握程度,忽略了對學(xué)生綜合能力和應(yīng)用能力的考核。這種單純的理論考試,會導(dǎo)致學(xué)生更加不注重動手能力的培養(yǎng),從而偏離了該門課程的教學(xué)目標(biāo)。
二、教學(xué)內(nèi)容的優(yōu)化設(shè)計
“JSP程序設(shè)計”課程的教學(xué)內(nèi)容改革,一定要與市場人才需求相結(jié)合。為了更好地實施教學(xué),培養(yǎng)適應(yīng)行業(yè)需求的程序設(shè)計人才,筆者根據(jù)實際Web開發(fā)用到的設(shè)計模式和框架技術(shù)重新梳理知識體系,在教學(xué)過程中把對JSP程序設(shè)計的學(xué)習(xí)分為四個層次進行。第一個層次是JSP語法的學(xué)習(xí)。主要介紹JSP的基本語法,并通過一個用戶注冊功能模塊的實現(xiàn),把JSP的各種基礎(chǔ)語法知識點有效串連起來,并讓學(xué)生了解和熟悉單純JSP模式編程的方法。第二個層次是JSP+JavaBean設(shè)計模式的學(xué)習(xí)。主要介紹JavaBean的語法等,同時分析用單純的JSP模式進行Web開發(fā)的不足之處,并采用JSP+JavaBean的模式重新實現(xiàn)用戶注冊功能模塊。第三個層次是JSP+Servlet+JavaBean設(shè)計模式的學(xué)習(xí)。主要講授Servlet程序的編寫和配置等,并用該模式重新實現(xiàn)用戶注冊模塊。第四個層次是Struts框架的學(xué)習(xí)。[2]此部分主要講授Struts框架的基本概念、配置文件及一些常用標(biāo)簽庫,并用Struts框架重新實現(xiàn)用戶注冊功能模塊。
三、教學(xué)方法的改進
1.課堂教學(xué)中“講”“演”相結(jié)合
“JSP程序設(shè)計”是一門實踐性很強的課程,但傳統(tǒng)的JSP教學(xué)通過PPT或課本一行行講解代碼,很難吸引學(xué)生,也無法讓學(xué)生理解這些代碼的作用。在理論教學(xué)中,應(yīng)一邊講解知識點一邊演示代碼動態(tài)效果,引發(fā)學(xué)生的學(xué)習(xí)興趣,從而加深對知識點的理解。
比如,在講解page、request、session、application四種對象對參數(shù)作用域影響的時候,可以先設(shè)計一個設(shè)置參數(shù)和獲取參數(shù)的案例。用page.setAttribute(“name”,“hello”)設(shè)置一個page范圍的參數(shù)name,參數(shù)值為hello,在另一個JSP頁面中用page.getAttribute(“name”)把參數(shù)值取出來,然后演示一下代碼的運行效果,接著把代碼分別改成request、session和application,再比較下代碼的實際運行結(jié)果,最后進行歸納總結(jié)。通過這種邊講邊演的方式,學(xué)生可以輕松地掌握這四種對象的區(qū)別,達到事半功倍的效果。
2.課堂教學(xué)中引入項目驅(qū)動教學(xué)法
“JSP程序設(shè)計”課程需要學(xué)生具備一定的軟件開發(fā)能力,為了培養(yǎng)學(xué)生良好的編程思維,可以在教學(xué)過程中采用項目驅(qū)動的教學(xué)方法將課堂模擬成項目開發(fā)的環(huán)境,將點狀的知識點貫穿起來,把所學(xué)知識應(yīng)用到實際的Web項目的開發(fā)和設(shè)計中,提高學(xué)生的應(yīng)用開發(fā)能力。
例如在講授完JSP程序設(shè)計的開發(fā)模式之后,為了讓學(xué)生把以前所學(xué)的知識點銜接起來,就采用了“學(xué)生成績管理系統(tǒng)”項目驅(qū)動教學(xué)法。[3]首先,對學(xué)生劃分為若干個小組,每個小組可以是3到5人,采取組長負責(zé)制,然后進行項目需求分析,分析學(xué)生成績管理系統(tǒng)應(yīng)該實現(xiàn)哪些功能模塊,并設(shè)計出系統(tǒng)的原型。演示一下各個業(yè)務(wù)模塊所要達到的預(yù)期效果,讓學(xué)生對系統(tǒng)有個明確的認識,同時確定系統(tǒng)所要采用的設(shè)計模式,并對項目中的各個功能模塊的設(shè)計思想進行詳細的講解,同時進行數(shù)據(jù)庫的邏輯設(shè)計和物理設(shè)計。最后,教師對每個模塊所涉及的知識點進行精講,并演示其知識點在項目中運用和實現(xiàn)效果,重點突出這些知識點的使用技巧。例如,在“學(xué)生注冊”模塊中,涉及到“數(shù)據(jù)驗證”這個知識點。數(shù)據(jù)驗證包括數(shù)據(jù)格式驗證和邏輯驗證,其中數(shù)據(jù)格式驗證體現(xiàn)為數(shù)據(jù)格式的合法性。例如,在填寫表單時要求密碼不能為空,年齡必須為整數(shù)等。邏輯驗證一般體現(xiàn)為邏輯上的有效性,例如判斷用戶注冊的用戶名是否重復(fù)等。然后再分析,實現(xiàn)數(shù)據(jù)驗證功能,應(yīng)如何重寫ActionForm中的validate()方法,并對該方法中用于控制密碼、年齡等數(shù)據(jù)格式合法性和注冊信息邏輯有效性的代碼進行重點講解,引導(dǎo)學(xué)生完成自己項目的開發(fā)。項目完成后,教師還可以組織各組進行效果演示和評比,分析各組的優(yōu)缺點,并督促學(xué)生撰寫開發(fā)報告和總結(jié)經(jīng)驗等,以達到最好的教學(xué)效果。
3.課堂教學(xué)中引入問題教學(xué)法
“JSP程序設(shè)計”課程需要激發(fā)學(xué)生自主學(xué)習(xí)的主動性和積極性,因此在教學(xué)過程中教師要善于創(chuàng)設(shè)“問題”,在設(shè)問和釋問的過程中讓學(xué)生萌生自主學(xué)習(xí)的動機和欲望。
Struts技術(shù)是目前最流行的應(yīng)用程序框架。為了使學(xué)生對Struts有更深刻、透徹的理解,在Struts框架的教學(xué)中就采用了問題教學(xué)法。[4]首先,設(shè)計并演示了一個“Hello,用戶名”的例子,然后詳細分析了采用“JSP+Servlet+JavaBean”的設(shè)計模式實現(xiàn)這個案例時,視圖頁面(View)、數(shù)據(jù)模型(Model)、控制層Servlet(Controller)及Web.xml配置文件分別是如何設(shè)計的,最后拋出問題:若采用Struts框架重新設(shè)計這個案例,那么,模型、視圖、控制器及配置文件會發(fā)生怎樣的變化呢?這樣引導(dǎo)學(xué)生把對Struts的理解轉(zhuǎn)換成可行的程序代碼,并立即演示效果分析其正確性,對發(fā)生的錯誤作進一步的解釋。
四、實驗教學(xué)的改革
目前的實驗教學(xué)中,實驗項目形式單一,大多以驗證性為主,不利于學(xué)生創(chuàng)造性思維的培養(yǎng)。[5]筆者結(jié)合課程理論內(nèi)容,并緊跟市場發(fā)展趨勢,對實驗教學(xué)大綱進行重新梳理后制訂了7個上機任務(wù),如表1所示。其中,驗證性實驗2個,設(shè)計性實驗3個,綜合性實驗2個。驗證性實驗主要是驗證某個知識點,鞏固和加深對它的理解程度,比如“JSP環(huán)境配置與測試”,主要讓學(xué)生了解和驗證JSP開發(fā)環(huán)境的安裝與配置及其JSP開發(fā)的一般步驟;“JSP基礎(chǔ)應(yīng)用”,主要讓學(xué)生掌握JSP的基本語法。設(shè)計性實驗主要將所學(xué)的技術(shù)綜合運用,完成某個特定的設(shè)計任務(wù)。比如“數(shù)據(jù)庫技術(shù)應(yīng)用”要求學(xué)生采用JDBC的方式,通過JSP技術(shù)實現(xiàn)對某個數(shù)據(jù)庫表的增、刪、改和分頁查詢的操作;“JavaBean應(yīng)用”要求學(xué)生采用JSP+JavaBean的開發(fā)模式實現(xiàn)讀者登錄的功能模塊;“留言版的設(shè)計”要求學(xué)生采用JSP+JavaBean+Servlet的開發(fā)模式完成留言版功能模塊。綜合性實驗是對所學(xué)理論知識和各種方法、技巧的綜合應(yīng)用,要求學(xué)生分成項目小組,綜合各種知識點和技能,最終完成一個真實可見的軟件產(chǎn)品。比如“在線投票系統(tǒng)”、“圖書借閱管理系統(tǒng)”等均要求學(xué)生采用Struts框架,融合各種Web界面編程、控制器層編程和模型層編程技巧實現(xiàn)系統(tǒng)的功能模塊。
這三種類型的實驗項目相互配合,層層遞進,既有效覆蓋課程的知識點,又接近項目工程的實際需要,培養(yǎng)了學(xué)生Web應(yīng)用開發(fā)的實際技能,提高了就業(yè)競爭力。
表1 實驗課程安排
實驗名稱 學(xué)時 說明
JSP環(huán)境配置與測試 2 必做,驗證性實驗
JSP基礎(chǔ)應(yīng)用 4 必做,驗證性實驗
數(shù)據(jù)庫技術(shù)應(yīng)用 2 必做,設(shè)計性實驗
JavaBean應(yīng)用 2 必做,設(shè)計性實驗
留言版的設(shè)計 2 必做,設(shè)計性實驗
在線投票系統(tǒng) 8 必做,綜合性實驗
圖書借閱管理系統(tǒng) 8 必做,綜合性實驗
五、考核方式的改革
為了解決學(xué)生“重理論,輕實踐”的毛病,學(xué)生的期末成績由兩部分組成:筆試成績+平時成績。筆試主要考核基本理論的理解及其實現(xiàn),占期末成績的60%;平時成績主要是看學(xué)生實驗任務(wù)的完成情況,根據(jù)不同類型的實驗項目的評價標(biāo)準(zhǔn)和所占成績比例確定學(xué)生的平時成績,平時成績占期末成績的40%。表2是各種實驗項目的考核要求及成績比例。實踐證明,這種考核方式有效激勵了學(xué)生的上機積極性,學(xué)生的動手能力和應(yīng)用能力都得到了較大幅度的提高。
表 2 各種實驗項目的考核要求及成績比例
實驗類型 所占比例(%) 考核重點
驗證性 20 對技術(shù)和工具的掌握程度
設(shè)計性 30 設(shè)計的優(yōu)劣
綜合性 50 項目的完成情況
個人對項目組的貢獻
六、結(jié)論
以提高學(xué)生的Web項目開發(fā)能力為目標(biāo),本文對“JSP程序設(shè)計”課程進行了教學(xué)改革。實踐證明,通過教學(xué)改革,教學(xué)內(nèi)容和市場需求緊密聯(lián)系,大大激發(fā)了學(xué)生的學(xué)習(xí)積極性,提高了學(xué)生的綜合應(yīng)用能力和就業(yè)能力,取得了良好的教學(xué)效果。
參考文獻:
[1]劉在英,楊平,張麗曉.程序設(shè)計課程實踐教學(xué)模式的探討[J].實驗室研究與探索,2013,32(10):156-159.
[2]馬建紅,姬莉霞,張晗.JSP 課程教學(xué)模式改革新說[J].職業(yè)教育研究,2012,(9):82-84.
[3]江濤.項目驅(qū)動教學(xué)法在《JSP 程序設(shè)計》教學(xué)中的應(yīng)用[J].吉林農(nóng)業(yè)科技學(xué)院學(xué)報,2011,20(2):81-82.
[4]孫珊珊.以 JSP 課程為例論證討論式教學(xué)要素[J].綏化學(xué)院學(xué)報,2012,(4):172-173.
[5]張燕.淺談高校 JSP 課程實踐教學(xué)要點[J].高教論壇,2010,(12):
92-94.
(責(zé)任編輯:王意琴)