鞠鳳娟 , 吳志峰
(1.江西科技學院,江西 南昌 330098;2.江西省科技基礎條件平臺中心,江西 南昌 330002)
隨著IT技術的日新月異,JAVA Web技術在金融行業、電商行業、通信行業、公共服務等諸多領域都有廣泛的應用。這種廣泛的應用拉動了市場對人才的需求,也給高校的JAVA Web技術相關課程教學帶來了新的挑戰。如何培養學生理論到實踐轉化的能力,如何培養學生分析問題、解決問題、不斷學習新技術以及蓄力后續提升的能力,都成為教學中要解決的問題。“Java網絡應用程序設計”是高校計算機相關專業一門重要的技術類專業課。不同于其他課程的單一技術教學,該課程不僅涉及HTML、CSS、JavaScript、JSP、Java、Servlet、Ajax等眾多Web技術,還涉及數據庫、XML等其他課程的技術,知識點眾多。通過該課程的學習,學生要具有Web開發工程師的知識和素養,掌握眾多Web開發的基本技術和簡單開發模式,具備開發Web項目的能力。
軟件系統的開發工作往往涉及多個工作崗位,不同的軟件企業所設置的工作崗位也不盡相同。據調查,大型軟件企業和外包軟件企業通常崗位明確、職責分明,而中小型軟件企業則往往需要員工完成不同崗位的工作。但是,在高校的應用型人才培養過程中重工程能力的培養,無論是在理論授課、實驗授課還是在實訓課,甚至校外實訓中,都著重于培養學生程序開發的能力。但學生除了需要了解計算機基礎理論知識,掌握算法分析及代碼編寫、相關開發技術,熟悉開發平臺的綜合應用,還需要具備一定的項目管理能力,需要具備發現問題、分析問題以及獨立思考能力,需要具有在項目開發中的溝通協作能力等潛能[1]。這些能力在開發過程中同樣會影響著一個軟件系統的成敗。這些軟件開發所需潛能的培養在很多高校的“Java網絡應用程序設計”教學中沒有得到足夠的重視。
“Java網絡應用程序設計”課程的特點是實踐性強、知識內容多,是軟件開發及相關崗位的核心課程,涉及技術多。眾多的技術及知識點增加了學生的學習難度,理論轉化為實踐困難,導致教學效果一般。目前,“Java網絡應用程序設計”的教學大多提倡項目驅動式教學,但是因為項目涉及的技術跨度大,傳統項目式、案例式教學法在“Java網絡應用程序設計”教學中力不從心。很多老師的做法是切割項目中的某一點作為實踐內容,導致項目實踐內容非常零碎,學生不能從全局把握項目,更感受不到實際工作過程的要求。有的老師安排學生完成某一模塊,這樣完整性似乎有了,但事實上一個模塊也不可避免地存在著技術跨度大、不具有針對性的特點,導致的結果就是學生在學習過程中很難完成任務,老師也很難進行考核。更壞的境地是學生陷入“做不出項目→老師不滿意學生沒成就感→上課不再認真聽講→繼續做不出→……”的惡性循環。
螺旋式教學理論最早由美國教育家和心理學家布魯納提出。該理論強調把課程中的基本概念、原理、技術作為核心,以注重內容的連續性為標準進行編排,重視知識體系的形成過程[2]。知識體系的形成不能靠一次學習就能達到預期的目標,而應該是不斷迭代并擴展的,通過科學化的設計在迭代和擴展中加以運用,以達到不斷強化已學知識進而達到加深理解并掌握的目的[3]。目前,該教學方式已經得到廣泛應用。從已有的研究看,較多的是關注知識的螺旋上升,所用項目材料是在完整項目的基礎上進行切割。但“Java網絡應用程序設計”課程起點高、內容廣且實踐性強,一個項目再怎么切割,都很難做到教師授課內容與項目技術的密切吻合,達不到應有的學習效果。
“Java網絡應用程序設計”螺旋式項目教法,是在項目式教學中融入螺旋教學理論,以能力模塊為驅動,采用相似的情景降低難度,在不同程度的螺旋中培養學生發現問題、分析問題和解決問題的能力,從而實現對學生學習能力、團隊合作、應用能力和創新精神的培養,使其成為適應市場需求的高素質應用型人才。
螺旋式項目教學法的一個重要環節就是根據學生認知水平和遞增步調對理論內容進行組織和編排。
“Java網絡應用程序設計”課程的螺旋式項目教學法研究以能力模塊、理論知識和應用技術為基準,根據Java網絡應用程序設計的典型工作任務調查,將教學內容按靜態Web技術、JSP動態技術、JDBC技術、JavaBean技術、Servlet技術、JSTL、Ajax和框架開發技術的螺旋能力遞進模塊進行編排,每一個能力模塊的技術能力要求和指示要求都是上一模塊的疊加和遞進,建立以能力模塊為基準的技術內容螺旋編排。既有利于保持課程的知識結構和學生的認知水平步調一致,又對學生的能力不斷提出新的挑戰,有利于提高學生的學習積極性。
項目囊括用戶信息注冊、登錄、修改、查詢、登錄信息保存、信息過濾等典型的Web工作任務,以螺旋項目遞進,推動學生學習內容和開發實踐從靜態項目→動態JSP模式項目→JSP+JDBC能力模塊項目→JSP+JavaBean+JDBC技術為主項目→JSP+JavaBean+Servlet+JDBC技術為主項目→框架技術為主項目,每一個能力模塊都是具備典型工作任務的完整項目。
整個教學過程和學習過程以“項目驅動→能力模塊技術知識點講解→方案設計→團隊合作、任務分配→開發實施→項目總結”的螺旋模式推進,以應用能力培養為目標,總結經驗與教訓,尋求解決不足之處的新技術,從而進入下一螺旋,具體如圖1所示。

圖1 基于能力模塊的螺旋式項目驅動模型
3W1H教學法是北大青鳥在實踐教學中總結的非常實用的教學方法[4],其強調成果為導向。將此教法融入基于能力的螺旋式項目驅動模型,可以在每層螺旋內部形成“理論知識和案例分析講解(What)→問題分析和技術討論(Why)→問題解決方案的設計和知識點的應用(Where)→解決問題和項目實現(How)”這樣嚴謹性的教學思路和教學內容設計,更好地培養學生發現問題、分析問題、解決問題的能力,為他們以后的自主學習和開發奠定基礎。
針對課程的具體特點以及計算機專業學生思想比較活躍、自制能力相對較差、學習水平參差不齊等問題,打破傳統的“一刀切”的考試方式,實施學生成績考核過程化、螺旋化的考核方式。通過實施“階段項目考核+期末作品+作品答辯”的考核逐步實現考試內容能力化,通過期末考試+多元化考核(課堂表現、考勤、課后作業、階段項目考核、作品、作品答辯)的方式實現“1+X”的多元化考核方式,通過每層螺旋設置階段項目考核實現考試過程全程化。
以螺旋式項目教學法為指導,建立起符合學生認知規律的教學體系,將理論知識和技術能力培養有機結合[5],以學生的認知水平為引導,對“Java網絡應用程序設計”課程的內容進行合理編排,以基于能力模塊的螺旋項目進行實踐應用,使學生對基本理論的理解掌握和運用所學技術獨立解決問題的能力呈現一種螺旋式上升的形式。
基于能力模塊的螺旋項目驅動模型中每一個螺旋都相互銜接而又各不相同,每一層螺旋的上升都是技術和理念的提升,所以在每一個螺旋的開始會引導學生分析上一個螺旋中技術的應用和解決問題的方式存在的問題及優缺點,以此引申出下一螺旋要學習的內容及學習的必要性[6-13]。相似的項目情境降低了學生的學習心理負擔,符合學生認知的螺旋上升理論編排方式降低了學生學習難度,每一層螺旋任務的完整性賦予了學生成就感和自我認同感,有效提高了學生學習的積極性。
基于能力模塊的螺旋項目驅動模型建立的與能力模塊對應的螺旋項目,都是企業實際應用中的典型工作任務,加強了學生在校學習中工程能力的培養。每個項目內部都具有實踐任務和教學目標的獨立完整性,所有的任務又能組成一個項目的有機整體,在整體布局上呈現出技術遞增、功能遞增的特點。有的項目在不同的技術學習階段有不同的實現方式,在應用新技術的同時,引導學生分析前面的項目中存在的漏洞或者不足之處,思考問題的解決方式,進而激發學生學習新技術的積極性,并能從實踐應用角度深刻理解理論知識,從而更好地培養學生的工程能力、理論向實踐轉換的能力以及分析問題、解決問題的能力。
4.4.1 教學效果和學生學習積極性有顯著提高
教學改革在江西科技學院2018級的計算機2班實施,在學期末將該班級學生成績跟其他班級進行了比對,具體數據如表1所示。

表1 實驗班與對照班期末成績比對表
通過表1的數據,可以看出在實施了螺旋式項目教學法的班級期末成績較對照班不及格率有較大降低,而優秀率有較大提高。綜合學生的課堂表現、期末考試、課堂表現、課后作業、階段項目考核、作品、作品答辯等各方面的考核,“Java網絡應用程序設計”采用螺旋式項目教法后,學生的工程能力和學習積極性、課堂教學效果均有顯著提高。
4.4.2 工程能力和綜合素養有較大提升
實驗課程考核采用作品+答辯的方式,既可以檢驗學生對課程相關知識的掌握情況,又可以了解他們在完成作品的過程中遇到的問題、解決的方式,了解學生其他能力的養成情況。既鍛煉學生綜合各技術實現目標系統的能力,又鍛煉學生表達能力,成果以完整作品展現,充分鍛煉學生的工程能力和溝通協作能力等綜合素養。
通過螺旋式項目教學法的課程改革,建立起符合學生認知規律的教學體系,在項目式教學中融入螺旋教學理論,以能力模塊為驅動,采用相似的情景降低難度。每一個螺旋內的教學目標都很明確,都是在上一個螺旋的基礎上“提出問題→學習新的理論知識→解決問題”,在不同程度的螺旋中培養學生的發現問題、分析問題和解決問題的能力,從而實現對學生學習能力、團隊合作、開發能力和創新精神的培養,使其成為適應市場需求的高素質應用型人才。