劉偉+丁長松
【摘要】“Java EE應用開發(fā)”是一門實踐性很強的應用開發(fā)類課程,通過引入MCLA教學方法,采用教師課堂演示和學生獨立實踐相結合的教學模式,結合案例驅(qū)動式教學方法,以教學案例為目標,將知識點的講解和學習與教師演示和學生實踐環(huán)節(jié)相融合。實際應用效果表明,在“Java EE應用開發(fā)”課程教學中引入MCLA教學方法可以提高學生的學習積極性和實踐開發(fā)能力,有助于改善教學質(zhì)量和教學效果。
【關鍵詞】Java EE MCLA 課程改革
【中圖分類號】G642 【文獻標識碼】A 【文章編號】2095-3089(2017)03-0108-02
一、引言
“Java EE應用開發(fā)”是計算機科學與技術、軟件工程、信息管理與信息系統(tǒng)等專業(yè)一門實用性很強的專業(yè)課,通常開設在本科高年級階段,該課程旨在培養(yǎng)學生企業(yè)級Java項目的分析、設計和開發(fā)能力,課程核心內(nèi)容包括JSP(Java Server Pages)、Servlet、MVC(Model/View/Controller,模型/視圖/控制器)架構和S2SH框架技術(Struts 2, Spring, Hibernate)等,根據(jù)學生所具備的知識基礎和教學總課時的實際情況,可補充講授JDBC(Java Database Connectivity,Java數(shù)據(jù)庫連接)、JMS(Java Message Service,Java消息服務)、JavaMail、JNDI(Java Naming and Directory Interface,Java命名和目錄結構)等內(nèi)容?!癑ava EE應用開發(fā)”的前驅(qū)課程包括“Java面向?qū)ο蟪绦蛟O計”、“Web開發(fā)技術”和“數(shù)據(jù)庫設計與開發(fā)”,該課程整合學生在低年級階段所學基礎知識,運用Java語言、靜態(tài)網(wǎng)站開發(fā)技術和數(shù)據(jù)庫,結合所學JSP/Servlet等動態(tài)網(wǎng)站開發(fā)技術和S2SH框架技術設計并實現(xiàn)基于B/S(Browser/Server, 瀏覽器/服務器)架構的企業(yè)級網(wǎng)站,是一門實用性和實踐性均非常強的課程。
在“Java EE應用開發(fā)”課程教學中,如果采用傳統(tǒng)的以知識點講解為主的教學方法,學生可以理解和掌握一些理論知識,但無法靈活運用這些知識解決實際問題,此外不能有效整合和銜接在多門課程中所學相關知識,在實踐操作能力和知識集成能力的培養(yǎng)中存在不足,學生無法勝任日后實際項目開發(fā)工作。因此,需要引入有效的教學手段和教學方法來改進“Java EE應用開發(fā)”課程的教學,讓學生能夠理論聯(lián)系實際,學以致用,合理運用所學知識解決實際問題。為此,我們在教學過程中引入了MCLA(Model Centered Learning Architecture)教學方法,取得了良好的教學效果。
MCLA方法,即以榜樣為中心的教學方法,是印度國家信息技術學院(NIIT, National Institute of Information Technology)使用的一種教學方法[1]。MCLA方法的核心在于將學習過程劃分為多個小的教學循環(huán),按照提出目標(Object)、知識學習(Knowledge)、教師演示(Demonstration)、獨立實踐(Practice)、教學總結(Summary)的流程,每個教學循環(huán)從一個實際問題入手,由教師扮演榜樣的角色,結合相關知識用規(guī)范的步驟解決這些小的實際問題,學生不僅可以學習知識,還可以學習分析問題和解決問題的方法,在教師的指導下,學生參照教師的方法和步驟重復問題的解決流程;之后,教師再對學生提出另一個相似的問題,該問題同樣來自于實際應用領域,由學生參照教師的方法獨立完成這個新的問題。通過采用這種“學習·實踐·提高”的過程,一方面學生可以更快速深入地理解和掌握所學內(nèi)容,另一方面也有助于提升學生獨立分析和解決實際問題的能力。MCLA方法獨特的教學模式尤為適合應用性和實踐性較強的課程的教學,在“Java程序設計”、“Web程序設計”等應用技術類課程的教學過程中得到較為廣泛的應用[2-4]。
二、MCLA教學方法的應用實踐
1. 與案例驅(qū)動式教學方法相結合
為了更好地實施MCLA教學方法,在教學過程中,我們引入了兩個來源于真實項目、但根據(jù)學生實際開發(fā)能力和教學課時進行了適當剪裁的項目。結合學校的醫(yī)藥特色,我們在教學中使用的兩個項目案例均與醫(yī)藥行業(yè)相關,項目案例簡要描述如下:
(1)杏林藥房:定位為醫(yī)藥類電子商務網(wǎng)站。主營中西藥品、營養(yǎng)保健品、醫(yī)療器械等醫(yī)藥類商品,要求實現(xiàn)用戶注冊、登錄、收藏商品、瀏覽商品、查詢商品、購買商品、查看歷史訂單等功能;需提供后臺管理系統(tǒng),實現(xiàn)對用戶信息、商品信息、訂單信息、訂單明細等數(shù)據(jù)的查詢和管理。
(2)醫(yī)伯樂:定位為醫(yī)藥類人才招聘網(wǎng)站。包括前端網(wǎng)站和后臺管理系統(tǒng),前端網(wǎng)站的主要用戶包括個人和企業(yè),提供個人中心和企業(yè)中心,其中個人中心的主要功能包括個人注冊、職位查看、職位收藏、職位搜索、投遞簡歷等功能,企業(yè)中心主要功能包括企業(yè)注冊、職位發(fā)布、簡歷審核等功能,后臺管理系統(tǒng)負責用戶、職位、簡歷等數(shù)據(jù)的查詢和管理。
在這兩個案例中,我們以“杏林藥房”作為課堂教學項目,“醫(yī)伯樂”作為學生獨立實踐項目。通過結合案例驅(qū)動式教學方法,以案例為中心在教師指導下分析、討論、研究案例,需精心選取適中的案例并進行合理剪裁,一方面避免案例規(guī)模過大,增加完成難度,降低學生的學習興趣,另一方面確保在案例中能夠穿插課程相關知識點。為了降低項目的實現(xiàn)難度,案例的需求較為穩(wěn)定,無需再開展需求分析,由于項目復雜度較小,且有較多可供參考的已有系統(tǒng),系統(tǒng)設計較為簡單,因此學生可以將注意力主要集中在項目功能的實現(xiàn)和測試上,在系統(tǒng)分析與設計上無需花費太多時間和精力,這有助于縮短開發(fā)周期、降低實現(xiàn)難度、更好地達到課程教學目標。
2.教學模式的改革和實踐
在“Java EE應用開發(fā)”課程中,我們?nèi)嬉隡CLA教學方法,并對該課程的教學模式和教學過程開展了一系列改革和創(chuàng)新。
首先,我們將教學演示項目案例和獨立實踐案例分解為多個小的功能點(目標),并標注實現(xiàn)每一個功能點所需要的技術,對于部分較為復雜的功能點,需要將其分解為多個實現(xiàn)階段,每一個階段對應一個或多個知識點。通過合理分解,可以保證學生每次學習的知識點不至于太多,如果一次講授的知識點太多將導致學生難以消化和理解,因此在分解時必須把握好分解粒度,避免出現(xiàn)目標太大導致學生無法一次性理解所學知識,以及目標太小導致學生無法結合目標掌握所學知識的情況。
其次,構建一個功能目標和知識點的關聯(lián)矩陣,以可視化的方式顯示每一個功能點與知識點的關聯(lián)關系,以便合理分布知識點,控制每個目標中知識點的難度和數(shù)量,保持均衡。學生通過具體的目標來學習相關知識,并在教師教學實例演示中理解如何在實際項目開發(fā)中運用這些知識,學生可以在課堂重復教師的演示實例以檢驗是否掌握整個流程。
下面以幾個具體的小實例說明如何創(chuàng)建教學演示實例和知識點之間的關聯(lián)。例如,在講授JSP基本流程時采用學生最熟悉的“登錄”功能來進行演示并講解,先通過一個固定的賬號和密碼(不需要連接數(shù)據(jù)庫,僅模擬)實現(xiàn)一個基本的“登錄”流程,將所有代碼均放到JSP頁面,在本實例中學生重點學習JSP的基本語法;在接下來的課程中使用“注冊”來全面講解request、response、session等常用的JSP內(nèi)置對象,在JSP頁面中嵌入Scriptlet,同時引入頁面跳轉(zhuǎn)等新功能;采用Servlet技術實現(xiàn)“修改個人資料”,并對比JSP實現(xiàn)和Servlet實現(xiàn)的區(qū)別;在后續(xù)課程中再通過使用數(shù)據(jù)庫實現(xiàn)真正的“登錄”,并在實現(xiàn)的同時引入并講解JDBC技術;在接下來的一次課中結合演示實例“顯示藥品信息”并逐一對代碼進行分解和封裝,將數(shù)據(jù)庫連接代碼封裝到專門的工具類DBUtil類,將數(shù)據(jù)庫操作和訪問代碼放到DAO(Data Access Object,數(shù)據(jù)訪問對象)中,而JSP只負責數(shù)據(jù)的輸入和輸出,采用Servlet作為控制器來建立JSP和JavaBean類之間的聯(lián)系,深入講解MVC設計模式的原理和實現(xiàn)。
然后,我們需要針對教學案例中的每一個目標和相關知識點,選取一個對應的獨立實踐練習,獨立實踐練習雖然來源于另一個項目,但是所需運用的知識和難度與教學實例基本相同。例如,在“杏林藥房”項目中演示“搜索藥品”功能的實現(xiàn),并結合該案例講解分頁顯示功能的實現(xiàn),對應的獨立實踐項目“醫(yī)伯樂”也有一個類似的練習,用戶輸入關鍵詞搜索感興趣的職位并分頁顯示搜索結果。通過獨立實踐,學生可以將所學知識應用到另一個具有真實業(yè)務背景的軟件項目中,做到觸類旁通,學以致用。教師可根據(jù)學生獨立實踐的完成情況進行教學總結,對一些普遍存在的問題加以講解和說明,并簡要介紹下一個教學目標。
最后,在考核環(huán)節(jié),我們加大了平時成績的比重,降低期末考試在綜合成績中的比重。平時成績的核心部分為學生獨立實踐的檢查和項目的最終答辯,通過一系列獨立實踐,學生在學習知識的同時循序漸進,逐步完善項目,最后完成整個項目的設計與開發(fā)工作。教師在這個過程中可以扮演客戶角色,擔任項目的驗收者,制定較為詳細的評分細則,根據(jù)功能點的實現(xiàn)難度賦予對應的分值,周期性地跟蹤和監(jiān)督項目的完成情況并模擬最終的項目驗收流程,最終根據(jù)項目的完成質(zhì)量給予學生一個科學合理的項目分數(shù),作為課程平時成績的重要組成部分。
實際應用效果表明,通過將MCLA和教學案例融入“Java EE應用開發(fā)”課程教學,絕大部分學生的應用開發(fā)能力和實踐動手能力都有較大提升,能夠更好地理解和掌握所學知識并能夠在實際項目開發(fā)中合理運用所學知識。
三、結語
在“Java EE應用開發(fā)”課程中采用MCLA教學方法,不僅讓學生學習到Java EE開發(fā)所需知識和技術,同時讓學生掌握如何運用這些知識和技術來解決實際問題。教師充當一個示范者和榜樣的角色,通過知識和經(jīng)驗的傳遞極大提高了學生的學習興趣和學習效率。MCLA教學方法與案例驅(qū)動式教學方法的結合,更大程度上讓學生及時消化和理解所學知識并掌握如何將所學知識運用到實際項目的開發(fā)中,理論與實踐緊密結合,有助于提高“Java EE應用開發(fā)”課程的教學質(zhì)量并改善教學效果。
參考文獻:
[1] 尹立坤, 宋雪蓮. 印度NIIT培訓的MCLA方法在教學中的應用[J]. 軟件導刊:教育技術, 2008(5):82-83.
[2] 郭克華, 李敏. MCLA教學法在計算機難點知識教學中的應用[J]. 計算機教育, 2009(20):53-56.
[3] 邵斐, 常子楠. 基于MCLA教學法的Java課程教學改革的探索[J]. 赤峰學院學報:自然科學版, 2009, 25(10):195-196.
[4] 胡偉儉. 基于MCLA的“Web程序設計”教學方法研究[J]. 計算機教育, 2009(17):108-109.
課題來源:2016年湖南中醫(yī)藥大學校級教學改革研究課題(項目編號:1022-0001002207)