摘要:針對(duì)高校Java語言教學(xué)與實(shí)踐課程內(nèi)容,分析國內(nèi)外Java應(yīng)用市場(chǎng)與教學(xué)現(xiàn)狀,提出以JavaSE課程為核心,延伸Java在Web企業(yè)應(yīng)用和Android移動(dòng)開發(fā)的專業(yè)課程設(shè)置,兼顧數(shù)據(jù)庫使用和軟件工程實(shí)踐的任務(wù)與項(xiàng)目驅(qū)動(dòng)教學(xué)模式,探討Java課程教學(xué)體系的構(gòu)建與實(shí)施。
關(guān)鍵詞:Java課程;教學(xué)體系構(gòu)建;Web企業(yè)應(yīng)用;Android移動(dòng)開發(fā)
文章編號(hào):1672-5913(2013)18-0083-04
中圖分類號(hào):G642
根據(jù)2013年4月最新TIOBE開發(fā)語言排行榜公布的排名結(jié)果,Java語言再次位居榜首。為適應(yīng)行業(yè)及科研軟件開發(fā)對(duì)Java編程人員的實(shí)際需求,吉林大學(xué)在計(jì)算機(jī)編程類語言最新教學(xué)內(nèi)容中,擴(kuò)充Java語言課程內(nèi)容,拓展Java的Web企業(yè)應(yīng)用與Andriod移動(dòng)平臺(tái)開發(fā)實(shí)踐課程。
1 Java社會(huì)需求
由于Java語言“一次編寫,到處運(yùn)行”的特點(diǎn),使其在國內(nèi)外軟件開發(fā)企業(yè)中的使用比例排名第一。Java編程人員的需求市場(chǎng)廣闊,僅以51job人才招聘網(wǎng)2013年7月的發(fā)布消息為例,關(guān)于Java招聘的崗位信息多達(dá)4萬余條。
在企業(yè)級(jí)應(yīng)用方面,據(jù)W3Techs公司2013年6月統(tǒng)計(jì)數(shù)字顯示,服務(wù)器端最為流行的5種常用計(jì)算機(jī)語言中,Java是企業(yè)級(jí)高訪問量網(wǎng)站的首選。自2008年以來基于Java語言的Android系統(tǒng)迅速普及。2013年5月,據(jù)市場(chǎng)調(diào)研公司Gartner的數(shù)據(jù)顯示,Android操作系統(tǒng)在全球智能手機(jī)操作系統(tǒng)占有率從去年同期的56.9%直線飆升至74.4%,并仍在提升。
2 Java教學(xué)現(xiàn)狀
鑒于Java的迅速普及和良好的跨平臺(tái)特性,Java已成為當(dāng)代成長最快的軟件產(chǎn)品之一,受到大約150個(gè)許可證頒發(fā)機(jī)構(gòu)、200所大學(xué)和50萬開發(fā)者的擁戴。從1997年起,美國麻省理工學(xué)院就設(shè)置了Java作為必修課。2002年,美國加州大學(xué)伯克利分校開設(shè)了25門Java相關(guān)課程。美國、澳大利亞、新加坡等國家90%以上的高校開設(shè)了Java課程,甚至一些文科專業(yè)都競(jìng)相開設(shè)該課程。世界計(jì)算機(jī)排名前列的高校,均開設(shè)有Java及其相關(guān)課程,詳見表1。
在我國最新教育部計(jì)算機(jī)基礎(chǔ)課程教學(xué)指導(dǎo)委員會(huì)制定的白皮書中,Java課程被列為核心課程之一。國內(nèi)高校從1997年開始陸續(xù)開設(shè)Java相關(guān)基礎(chǔ)課程,在原有的C和C++基礎(chǔ)上。新增Java編程課程;2012年國內(nèi)已有近80%的高校開設(shè)了Java及相關(guān)課程,僅2013年應(yīng)屆計(jì)算機(jī)專業(yè)學(xué)生就有近8萬人在校學(xué)習(xí)Java編程,2013年“華南資訊杯”廣東省Java程序員競(jìng)賽中有74所高校的702支隊(duì)伍,共2094人報(bào)名。國內(nèi)高校Java課程開設(shè)情況,詳見表2。
3 Java教學(xué)體系構(gòu)建
在以往的Java教學(xué)過程中,學(xué)生雖然學(xué)習(xí)了多種語言及編程設(shè)計(jì)類課程,但真正設(shè)計(jì)項(xiàng)目時(shí)卻感覺自己不能完成該項(xiàng)目,原因在于Java語言教學(xué)開展的孤立性,以及基礎(chǔ)課程與實(shí)踐課程的不連續(xù)性。傳統(tǒng)Java語言課程教學(xué)與其他相關(guān)課程缺乏橫向融合,與實(shí)際項(xiàng)目開發(fā)縱向脫節(jié),學(xué)生學(xué)習(xí)Java過程中沒有應(yīng)用和項(xiàng)目開發(fā)的整體概念;由于Java編程語言基礎(chǔ)課和實(shí)踐課需要多學(xué)期共同完成,造成學(xué)生在學(xué)習(xí)Java語言過程中,前期基礎(chǔ)課程迷茫而無所適從,后期實(shí)踐課程感興趣但基礎(chǔ)不牢,進(jìn)而喪失對(duì)Java學(xué)習(xí)和使用的信心。
1)Java教學(xué)體系整體規(guī)劃。
在Java市場(chǎng)和人才培養(yǎng)需求面前,如何合理組織和安排Java課程的整體教學(xué),已成為我們急需探討和解決的問題。國內(nèi)外高校的Java教學(xué)中,基本上把整個(gè)Java的課程設(shè)置為1年,分為Java程序設(shè)計(jì)基礎(chǔ)知識(shí)部分與Java程序設(shè)計(jì)高級(jí)開發(fā)部分,其中基礎(chǔ)部分以Java程序設(shè)計(jì)為主,而高級(jí)程序開發(fā)部分則以J2EE以及J2ME課程為主。學(xué)生經(jīng)過第一個(gè)學(xué)期對(duì)Java基礎(chǔ)知識(shí)的掌握后,可以在下一學(xué)期開始高級(jí)開發(fā)部分的學(xué)習(xí)。在一些高校中,課堂上老師除了授課之外,課程設(shè)置中還專門安排了一些Tutorial的授課安排,相當(dāng)于課堂討論課。老師會(huì)預(yù)先給出教學(xué)中的重點(diǎn)、難點(diǎn),同學(xué)們可根據(jù)自己的情況及時(shí)發(fā)言或討論,從中獲得自己想要的東西。
參照國內(nèi)外多所高校的Java教學(xué)計(jì)劃,依據(jù)吉林大學(xué)最新教學(xué)大綱的編程類語言教學(xué)內(nèi)容,筆者所在團(tuán)隊(duì)提出了Java課程教學(xué)體系構(gòu)建方案,如圖1所示。在高級(jí)語言程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)的C和C++語言基礎(chǔ)上,依托算法設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)課程,從第4學(xué)期開始Java課程教學(xué);以Java SE為核心,側(cè)重理論結(jié)合實(shí)踐,注重程序和架構(gòu)的設(shè)計(jì),突出實(shí)踐對(duì)于Web企業(yè)應(yīng)用和Android移動(dòng)開發(fā)的重要作用;在任務(wù)和項(xiàng)目驅(qū)動(dòng)教學(xué)理念下,制訂實(shí)踐教學(xué)內(nèi)容,詳見表3;強(qiáng)調(diào)數(shù)據(jù)庫應(yīng)用在其中的重要地位,融入架構(gòu)設(shè)計(jì)和團(tuán)隊(duì)開發(fā)等實(shí)際軟件工程內(nèi)容,為學(xué)生實(shí)際操作提供支持。
2)Java程序設(shè)計(jì)課程。
Java程序設(shè)計(jì)課程是Java語言的基礎(chǔ),側(cè)重Java基本語法和數(shù)據(jù)結(jié)構(gòu),是Java教學(xué)體系整體框架中的核心部分,也是后期以Java為核心語言專業(yè)課程開設(shè)的基礎(chǔ)。
Java程序設(shè)計(jì)課程設(shè)立在第4學(xué)期,以JavaSE為主,在介紹和講解Java基本語法概念的同時(shí),需要學(xué)生深入理解面向?qū)ο缶幊趟枷?,并進(jìn)一步深刻認(rèn)識(shí)不同數(shù)據(jù)結(jié)構(gòu)間的內(nèi)在關(guān)系;通過各章節(jié)實(shí)例,學(xué)生應(yīng)熟練掌握一套Java IDE編程環(huán)境(如Eclipse或NetBeans等),進(jìn)行程序的編寫和調(diào)試;并通過上機(jī)實(shí)踐,實(shí)現(xiàn)具有簡(jiǎn)單界面的單機(jī)應(yīng)用程序,如記事本和學(xué)生成績(jī)登記等,詳見表3,熟悉數(shù)據(jù)庫的基本連接和使用,為后續(xù)以任務(wù)與項(xiàng)目為驅(qū)動(dòng)的教學(xué)模式奠定開發(fā)環(huán)境基礎(chǔ);同時(shí)在整個(gè)授課過程中,貫徹面向?qū)ο蟪绦蛟O(shè)計(jì)思想,強(qiáng)調(diào)先設(shè)計(jì)后動(dòng)手的軟件工程設(shè)計(jì)理念,并穿插Java的企業(yè)應(yīng)用Web開發(fā)和基于Java的移動(dòng)設(shè)備Android開發(fā)中的延伸應(yīng)用示例,給學(xué)生以實(shí)際應(yīng)用的概念,為后續(xù)Java EE的Web企業(yè)應(yīng)用和Android移動(dòng)開發(fā)實(shí)踐課程奠定應(yīng)用基礎(chǔ)。
3)Web企業(yè)應(yīng)用課程。
Java在高訪問量網(wǎng)站中占有很高份額,是當(dāng)今Web企業(yè)級(jí)應(yīng)用的首選,這需要Java在Web企業(yè)應(yīng)用中提供更多組織團(tuán)隊(duì)協(xié)作開發(fā)的機(jī)制,并考慮更多安全性和架構(gòu)細(xì)節(jié)。
Java企業(yè)應(yīng)用課程開設(shè)在第5學(xué)期,以JavaEE為核心技術(shù),是對(duì)項(xiàng)目實(shí)踐動(dòng)手能力要求較高的課程,需要學(xué)生在數(shù)據(jù)庫原理與軟件工程基礎(chǔ)上,進(jìn)行規(guī)范化的項(xiàng)目工程構(gòu)建與開發(fā)。在介紹前臺(tái)界面Bootstrap與控制器Struts開發(fā)、中間業(yè)務(wù)層Spring管理和Hibernate與MyBatis數(shù)據(jù)庫映射等架構(gòu)內(nèi)容的同時(shí),需要學(xué)生了解Web開發(fā)的大量基礎(chǔ)知識(shí),如HTML、CSS和JavaScript等;并通過設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、調(diào)試、發(fā)布和維護(hù)中小型企業(yè)應(yīng)用的Java Web項(xiàng)目開發(fā)實(shí)踐,使學(xué)生自身技術(shù)水平在短期內(nèi)得以迅速提升,進(jìn)而將Java基本概念、基本理論和實(shí)踐技能融入到具體的Java Web程序和集成開發(fā)環(huán)境中去。
Java Web企業(yè)應(yīng)用課程以實(shí)踐課程形式在機(jī)房進(jìn)行講授,提倡任務(wù)與項(xiàng)目為驅(qū)動(dòng)的教學(xué)模式,教師在講授16學(xué)時(shí)基礎(chǔ)課內(nèi)容后,利用32學(xué)時(shí)進(jìn)行SSH輕量級(jí)Web應(yīng)用實(shí)際項(xiàng)目開發(fā)。搭建由前臺(tái)查詢、后臺(tái)建庫、中間層耦合配置的網(wǎng)站建設(shè),如新聞發(fā)布網(wǎng)站和網(wǎng)上交易系統(tǒng)等實(shí)際企業(yè)應(yīng)用項(xiàng)目搭建,詳見表3。學(xué)生以分組分工協(xié)作形式完成項(xiàng)目?jī)?nèi)容,最終提交設(shè)計(jì)文檔,并提供程序演示等內(nèi)容。
4)Android移動(dòng)開發(fā)課程。
隨著基于Java語言的Android系統(tǒng)迅速普及,對(duì)于Android開發(fā)人員的人才需求急劇增加。對(duì)于Java開發(fā)者來說,以前主要在Java EE平臺(tái)上從事服務(wù)器端應(yīng)用開發(fā),但在計(jì)算機(jī)便攜化的趨勢(shì)下,Java開發(fā)者面臨著為這些應(yīng)用程序開發(fā)客戶端的需求。
對(duì)于Java開發(fā)者來說,Android應(yīng)用開發(fā)既是一個(gè)挑戰(zhàn),也是一個(gè)機(jī)遇。Android系統(tǒng)是一個(gè)新的發(fā)展趨勢(shì),作為Java程序設(shè)計(jì)課程的接續(xù)與延伸性實(shí)踐課程,Android課程開設(shè)于第6學(xué)期,目的是使學(xué)生掌握Android系統(tǒng)開發(fā)的基本方法和流程,熟悉Android SDK、GUI基本控件、數(shù)據(jù)交互與存儲(chǔ)以及移動(dòng)設(shè)備特性等內(nèi)容,從而為學(xué)生深入學(xué)習(xí)Android高級(jí)開發(fā)奠定堅(jiān)實(shí)基礎(chǔ),有利于拓展學(xué)生就業(yè)途徑,為其提供創(chuàng)業(yè)機(jī)會(huì),具有良好的社會(huì)效益。
Android課程仍然以實(shí)踐課程形式在機(jī)房進(jìn)行講授,延續(xù)任務(wù)與項(xiàng)目為驅(qū)動(dòng)的教學(xué)模式,時(shí)時(shí)操作。教師在講授16學(xué)時(shí)基礎(chǔ)課程內(nèi)容后,利用32學(xué)時(shí)進(jìn)行Android手機(jī)應(yīng)用項(xiàng)目實(shí)際開發(fā)。搭建由前臺(tái)查詢、遠(yuǎn)程建庫、模擬查詢和利用移動(dòng)設(shè)備特殊傳感器的項(xiàng)目建設(shè),如手機(jī)通訊錄、手持小游戲和網(wǎng)站客戶端開發(fā)等,詳見表3。同樣,學(xué)生以分組分工協(xié)作形式完成項(xiàng)目?jī)?nèi)容,最終提交設(shè)計(jì)文檔,并提供程序演示等內(nèi)容。
4 結(jié)語
Java語言作為跨平臺(tái)的面向?qū)ο笳Z言,在近10年的流行開發(fā)語言排名中位居前茅,在Web企業(yè)級(jí)應(yīng)用和移動(dòng)設(shè)備開發(fā)中更是發(fā)展迅猛。在龐大的Java市場(chǎng)和人才培養(yǎng)需求面前,需要教師提供合理的課程講授體系和實(shí)踐內(nèi)容支撐,構(gòu)建以提高學(xué)生能力和素質(zhì)為目標(biāo)的Java人才培養(yǎng)教學(xué)體系架構(gòu)。
(編輯:趙廓)