寧輝+張偉娜
1概述
Java是目前最熱、應(yīng)用最廣泛的編程語言之一,TIOBE編程社區(qū)索引2016年及2017年2月份的排名結(jié)果顯示Java排名第一,依然是最受大家歡迎的語言。它具備跨平臺、安全、適用于網(wǎng)絡(luò)等重要特征,廣泛應(yīng)用于動態(tài)網(wǎng)頁、電子商務(wù)、移動軟件和游戲開發(fā)等軟件領(lǐng)域。
軟件行業(yè)的飛速發(fā)展導(dǎo)致Java應(yīng)用軟件開發(fā)相關(guān)技術(shù)和應(yīng)用模式產(chǎn)生較大變革。Java語言在出現(xiàn)的短短二十年內(nèi)年內(nèi),先后發(fā)布了二十幾個不同版本的開發(fā)工具包。與此同時,作為Java主要應(yīng)用領(lǐng)域的電子商務(wù)的應(yīng)用模式也發(fā)生了很大變化,從較早出現(xiàn)的C2C、B2C到最新的O2O。Java技術(shù)和應(yīng)用模式的變革要求Java系列課程內(nèi)容必須隨之與時俱進(jìn)。由于新的開發(fā)技術(shù)和應(yīng)用模式往往最先在企業(yè)應(yīng)用和推廣,因此,Java系列課程的教學(xué)改革應(yīng)結(jié)合企業(yè)在Java技術(shù)應(yīng)用開發(fā)中的需求,作為教師應(yīng)走進(jìn)企業(yè)廣泛調(diào)研Java技術(shù),了解最新技術(shù)、應(yīng)用及人才需求,同時,讓企業(yè)專家走進(jìn)學(xué)校,共同指導(dǎo)學(xué)生實(shí)踐,并與企業(yè)聯(lián)合開發(fā)教學(xué)案例或指導(dǎo)相關(guān)課程設(shè)計,全方位地對Java系列課程進(jìn)行調(diào)研和改革,以適應(yīng)Java技術(shù)的不斷發(fā)展,實(shí)現(xiàn)“實(shí)用性”人才的培養(yǎng)目標(biāo)。
Java語言的教學(xué)及Java系列課程體系的研究隨著Java語言應(yīng)用的發(fā)展在不斷進(jìn)行中,但由于IT技術(shù)的快速發(fā)展,新技術(shù)不斷出現(xiàn),Java系列課程體系也在不斷擴(kuò)大,例如2009年前后,姜仲等提出了主要面向Java應(yīng)用及Java Web應(yīng)用的Java基礎(chǔ)課程及JavaWeb、JavaEE課程組,何廣軍提出了基于Java項(xiàng)目的課程體系涉及到的Java EE框架類知識點(diǎn)。但這些成果在現(xiàn)階段已經(jīng)不能滿足企業(yè)面向框架的快速開發(fā)需求及面向移動互聯(lián)網(wǎng)的移動應(yīng)用開發(fā)需求。所以通過對計算機(jī)專業(yè)本科生計算思維能力的培養(yǎng)方案的思考,參考了喬德軍等提出的Java軟件工程師的培養(yǎng)方案等,重點(diǎn)是結(jié)合現(xiàn)階段軟件行業(yè)的發(fā)展趨勢,華廣計算機(jī)學(xué)院軟件工程專業(yè)開設(shè)了:《Java面向?qū)ο蟪绦蛟O(shè)計》、《JavaWeb應(yīng)用開發(fā)》、《Java EE框架應(yīng)用開發(fā)》、《AndriodUI設(shè)計》、《Andriod應(yīng)用開發(fā)》、《Java EE框架應(yīng)用開發(fā)項(xiàng)目實(shí)踐》和《Andriod應(yīng)用開發(fā)項(xiàng)目實(shí)踐》等7門Java系列課程支撐軟件工程專業(yè)的人才培養(yǎng)。
2Java系列課程現(xiàn)狀
在Java系列課程中,《Java面向?qū)ο蟪绦蛟O(shè)計》是其它所有課程的基礎(chǔ),而《JavaWeb應(yīng)用開發(fā)》、《Java EE框架應(yīng)用開發(fā)》和《Java EE框架應(yīng)用開發(fā)項(xiàng)目實(shí)踐》屬于JavaEE應(yīng)用開發(fā)方向,《AndrioduI設(shè)計》、《Andriod應(yīng)用開發(fā)》和《Andriod應(yīng)用開發(fā)項(xiàng)目實(shí)踐》屬于Android應(yīng)用開發(fā)方向,課程之間的結(jié)構(gòu)關(guān)系如圖1所示。
在JavaEE應(yīng)用開發(fā)方向中,《JavaWeb應(yīng)用開發(fā)》應(yīng)作為《JavaEE框架應(yīng)用開發(fā)》的先修課程,而《JavaEE框架應(yīng)用開發(fā)項(xiàng)目實(shí)踐》又是這兩門課程的后繼課程;在Android應(yīng)用開發(fā)方向中,《AndriodUI設(shè)計》應(yīng)作為《Andriod應(yīng)用開發(fā)》的先修課程,而《Andriod應(yīng)用開發(fā)項(xiàng)目實(shí)踐》又是這兩門課程的后繼課程。
《Java面向?qū)ο蟪绦蛟O(shè)計》旨在介紹面向?qū)ο蟪绦蛟O(shè)計思想以及Java語言基礎(chǔ)編程知識。主要內(nèi)容可歸納成以下幾個部分:面向?qū)ο蟪绦蛟O(shè)計思想、Java基本語法、圖形用戶界面與事件處理、輸入輸出與異常處理、集合類、反射機(jī)制、線程及網(wǎng)絡(luò)編程、數(shù)據(jù)庫編程等。
《JavaWeb應(yīng)用開發(fā)》是Web應(yīng)用開發(fā)的基礎(chǔ),主要內(nèi)容包含:JSP(Java Server Pages)與Servlet、JavaBean、EL(Expression Language)和JSTL(JSPStandard Tag Library)等基礎(chǔ)知識。
《Java EE框架應(yīng)用開發(fā)》重點(diǎn)介紹用于企業(yè)應(yīng)用開發(fā)的三大主流開發(fā)框架:Struts2、Hibernate和Spring框架。
《Java EE框架應(yīng)用開發(fā)項(xiàng)目實(shí)踐》是綜合JavaEE應(yīng)用開發(fā)所有知識的實(shí)踐教學(xué)環(huán)節(jié),以具體應(yīng)用為問題背景,以軟件工程的方法為指導(dǎo),驅(qū)動學(xué)生綜合運(yùn)用所學(xué)知識獨(dú)立完成一個小型系統(tǒng)。
《Andriod uI設(shè)計》主要介紹了Android應(yīng)用程序開發(fā)的基礎(chǔ)概念、開發(fā)環(huán)境、UI設(shè)計的各項(xiàng)技術(shù)及UI界面的優(yōu)化及Activity組件相關(guān)內(nèi)容。
《Andriod應(yīng)用開發(fā)》旨在介紹Android開發(fā)的其他三大組件及數(shù)據(jù)存儲、網(wǎng)絡(luò)編程等Android基本開發(fā)技術(shù)。
《Andriod應(yīng)用開發(fā)項(xiàng)目實(shí)踐》綜合了Android應(yīng)用開發(fā)方向所有知識,同樣以具體應(yīng)用為問題背景,以軟件工程的方法為指導(dǎo),驅(qū)動學(xué)生獨(dú)立完成一個簡單的Android應(yīng)用。
以上介紹了Java系列課程之間的關(guān)系及其教學(xué)內(nèi)容現(xiàn)狀,課程之間有銜接關(guān)系,但銜接點(diǎn)不明確,且教學(xué)內(nèi)容受到課時局限,不夠全面。
3企業(yè)應(yīng)用現(xiàn)狀及系統(tǒng)分析
根據(jù)市場應(yīng)用,從“Java EE應(yīng)用開發(fā)”和“Android應(yīng)用開發(fā)”兩個方向分別對Java系列課程的應(yīng)用現(xiàn)狀進(jìn)行調(diào)研。課程門類的設(shè)置基本滿足需求,結(jié)合課程現(xiàn)有的教學(xué)大綱,對調(diào)研結(jié)果進(jìn)行自頂向下地需求分析,確定在課程教學(xué)中需要補(bǔ)充引入的知識點(diǎn)。
在“Java EE應(yīng)用開發(fā)”方向,企業(yè)主要使用的開發(fā)框架為:SSH(Spring MVC+Spring+Hibernate),SSM(Spring MVC+Spring+Mybatis)或其他自定義框架,且重視緩存和優(yōu)化等涉及系統(tǒng)性能方面的知識;而前臺頁面開發(fā)更多使用Java和HTML的混合編程,并使用高內(nèi)聚低耦合等設(shè)計模式方面的技術(shù)。
在“Android應(yīng)用開發(fā)”方向,企業(yè)使用的主流開發(fā)框架有:Afinal、Volley、Android-async-http等,在UI方面現(xiàn)在企業(yè)中大多使用HTML5和Android原生混合來進(jìn)行開發(fā)。endprint
根據(jù)企業(yè)需求,結(jié)合當(dāng)前課程教學(xué)內(nèi)容,從應(yīng)用出發(fā),逐步細(xì)化出Java系列課程中知識關(guān)系圖,如圖2所示。
《Java面向?qū)ο蟪绦蛟O(shè)計》是所有Java系列課程的基礎(chǔ),而《Java EE框架應(yīng)用開發(fā)項(xiàng)目實(shí)踐》和《Android應(yīng)用開發(fā)項(xiàng)目實(shí)踐》分別是兩個應(yīng)用開發(fā)方向的實(shí)踐環(huán)節(jié),這三門課程與其他課程的關(guān)系已在圖1中表示出,所以不在“Java系列課程知識關(guān)系圖”中表示。
圖2中斜體顯示的知識點(diǎn)表示企業(yè)開發(fā)中比較常用及需要在教學(xué)中補(bǔ)充出來的知識點(diǎn)。虛線箭頭表示起始知識點(diǎn)是終點(diǎn)知識點(diǎn)的基礎(chǔ)或知識點(diǎn)有銜接。例如:《JavaWeb應(yīng)用開發(fā)》中的Servlet與《JavaEE框架應(yīng)用開發(fā)》的Spring MVC和Struts2都在MVC開發(fā)模式中占據(jù)c(控制器)的地位,并且前者是后者的基礎(chǔ)。
4Java系列課程系統(tǒng)改革方案
教學(xué)改革是為了提高教學(xué)質(zhì)量,更好地培養(yǎng)人才。課程改革的重點(diǎn)應(yīng)是教學(xué)內(nèi)容的更新和教學(xué)方式的創(chuàng)新。而系列課程教學(xué)改革的重點(diǎn)除此之外,更應(yīng)該重視不同科目之間知識點(diǎn)的銜接與擴(kuò)展。同時,由于計算機(jī)技術(shù)發(fā)展迅猛,而企業(yè)又走在技術(shù)推廣應(yīng)用的前沿,因此教學(xué)的實(shí)踐環(huán)節(jié)有必要引入企業(yè)開發(fā)規(guī)范和經(jīng)典案例。
根據(jù)Java系列課程知識關(guān)系,建立“知識-時間-教學(xué)形式”三維結(jié)構(gòu)圖,如圖3所示。其中,“知識”覆蓋了Java系列課程中的主要知識點(diǎn),“時間”表示每個“知識”的計劃學(xué)時,“教學(xué)形式”指出每個“知識”的引入方式和教學(xué)方式。
其中,“綜合實(shí)踐”的內(nèi)容應(yīng)在“項(xiàng)目實(shí)踐”課程中加以應(yīng)用;“前修導(dǎo)入”是指當(dāng)前內(nèi)容與前修課程中某些內(nèi)容有銜接關(guān)系,應(yīng)在此基礎(chǔ)上進(jìn)行導(dǎo)入。
“知識-時間-教學(xué)形式”三維結(jié)構(gòu)圖綜合了融入企業(yè)需求的Java系列課程的教學(xué)改革方案。具體地,以課程中的“知識”為主線,用表格的形式給出每個知識點(diǎn)的學(xué)時規(guī)劃及教學(xué)方式,如表1所示。
5總結(jié)
基于軟件工程專業(yè)Java綜合開發(fā)人才培養(yǎng)的需求,在現(xiàn)有教學(xué)基礎(chǔ)上,引入企業(yè)應(yīng)用開發(fā)的最新技術(shù)、框架和規(guī)范,以Java系列課程為研究對象,并進(jìn)行系統(tǒng)分析,構(gòu)建課程知識關(guān)系圖,并通過“知識一時間一教學(xué)形式”三維結(jié)構(gòu)圖,再由整體到具體的知識點(diǎn),給出了具體的教學(xué)改革方案。
本次教學(xué)改革及研究工作具有重要的應(yīng)用和推廣價值:
(1)強(qiáng)化專業(yè)方向,優(yōu)化課程教學(xué)大綱,實(shí)現(xiàn)應(yīng)用型人才培養(yǎng)目標(biāo);
(2)強(qiáng)化實(shí)踐能力培養(yǎng),與企業(yè)人才需求對接,為就業(yè)創(chuàng)造先天條件;
(3)對工科同類專業(yè)應(yīng)用性較強(qiáng)的課程教學(xué)改革同樣起到示范作用;
(4)探索校企更深入的合作,搭建協(xié)同育人平臺。endprint