郭玉濱
(山東菏澤學院)
以Java技術為核心的課程體系構建與研究*
郭玉濱
(山東菏澤學院)
結合市場人才需求,從校實際出發(fā),研究和制訂了一套符合計算機技術發(fā)展規(guī)律、具有該?,F代特色、切實可行的以Java技術為核心的課程體系.通過4屆5期學生的教學實踐,取得了以Java技術為核心的課程體系建設的階段性成果,驗證了以Java技術為核心的課程體系建設思路的正確性.
計算機技術;課程體系;Java技術;系統實訓
目前,全國各高校計算機專業(yè)均設置了一套較為系統的課程體系,學生能夠掌握計算機專業(yè)的基礎知識和技能,培養(yǎng)了學生適應社會的能力,但通過對畢業(yè)生就業(yè)能力考察,學生普遍存在基本知識掌握不牢,動手能力差,適應社會能力和競爭力不強,校企脫節(jié)等突出問題.可見,計算機專業(yè)課程體系的設置存在著一定的弊端,必須進行必要的改革.
在計算機學科發(fā)展的早期,數學、邏輯、電子學、程序語言和程序設計是支撐學科發(fā)展的主要專業(yè)基礎知識.到了20世紀60~70年代,數據結構與算法、計算機原理、編譯技術、操作系統、程序設計與程序語言、數據庫系統原理等成為學科的主要專業(yè)基礎知識.從20世紀80年代開始,并行與分布計算、網絡技術、軟件工程等開始成為新的學科內容,突破了計算機學科原有的專業(yè)設置框架,逐漸形成了在“計算機科學與技術”一個專業(yè)之下分為計算機科學、計算機應用、計算機工程、軟件工程、信息技術、信息管理與信息系統等多個專業(yè)方向的新格局.
目前,計算機專業(yè)課程體系的設置和安排,大部分仍停留在若干年前的水平,專業(yè)理論課程的內容過于單調和籠統,很少涉及那些實用性強、專業(yè)性強、操作性強的課程和計算機應用軟件;在課程計劃安排環(huán)節(jié)上缺乏科學性和合理性;學生除了學習一些計算機專業(yè)的基本理論知識、簡單程序設計語言和一般上機操作外,缺乏對更深、更新的計算機專業(yè)知識的掌握和應用,特別是缺乏計算機軟件和專業(yè)化、行業(yè)化的應用技能培訓.概括來講,主要存在以下問題:
(1)人才培養(yǎng)目標不夠明確,缺乏特色.
該校計算機專業(yè)課程設置一開始就沿用了理工科計算機專業(yè)教學課程體系,在人才培養(yǎng)模式、培養(yǎng)規(guī)格和培養(yǎng)方案等方面缺乏自己的特色.相對于其他高校理工科大學的學生來說,計算機專業(yè)畢業(yè)生就業(yè)競爭力不強,就業(yè)壓力大.因此,作為地方高校如何恰當的定位人才培養(yǎng)目標、培養(yǎng)具有本校特色的畢業(yè)生是迫切需要解決的問題.
(2)課程體系落后,知識內容陳舊.
本科高等學校由于課程管理過于集中,教學計劃過于尋求穩(wěn)定,高校課程和當前主流技術脫節(jié)太大,造成課程體系落后.另外課程教材內容滯后現象嚴重,新技術不能及時進入課堂,造成教學內容陳舊,直接影響培養(yǎng)質量.所以課程體系如何建設是值得思考的問題,也是本文研究的主要課題.
(3)重視知識的傳授,忽視應用能力的培養(yǎng).
由于課程體系不盡合理,計算機教學滯后于實際應用的矛盾相當突出.理論知識多,實用內容少,實驗教學多為簡單驗證性的實驗,缺乏自主性、創(chuàng)新性的實驗,造成學生在學習和工作過程中解決實際問題的能力薄弱,畢業(yè)生參加工作后普遍感覺不適應新的工作崗位,急需充電.
(4)人才培養(yǎng)手段過于單一,人才培養(yǎng)質量難以保證.
整齊劃一的培養(yǎng)設計,忽視了學生的個體價值,教學基本采用教師講授為主的方法,盡管多媒體、信息化、網絡化教育已相當普及,但如何真正發(fā)揮它們的作用仍存在許多問題.另外隨著高校擴招,學生數量驟增且成績參差不齊,學生的學習效果很難保證,人才培養(yǎng)質量難以保證.
Java技術是當今企業(yè)級應用開發(fā)的中流砥柱,全球開發(fā)群體擁有450萬人之多,國內崗位缺口達20多萬人.目前,各高等院校的計算機專業(yè)基本上也都開設了Java技術課程.針對Java開發(fā)技術,設置了一套理論加實訓的課程體系,用以培養(yǎng)Java技術的職業(yè)軟件開發(fā)人員.
(1)Java編程工程師(2)Java開發(fā)工程師(3)Java數據庫編程工程師(4)Java數據庫開發(fā)工程師(5)網站開發(fā)與管理工程師
Java編程工程師是指熟練掌握Java編程語言的程序員,在開發(fā)團隊中負責根據詳細設計進行編碼和調試.
Java開發(fā)工程師負責根據軟件構架和界面,設計系統模塊及其詳細運算邏輯.
Java數據庫編碼工程師負責根據數據庫系統的關系模型和表結構,編寫數據處理代碼.Java數據庫開發(fā)工程師負責設計數據庫系統的關系模型和表結構,進行數據服務器的實現和物理存儲規(guī)劃.
以上人員同時也可從事系統集成工程師、數據庫管理員、技術支持與系統維護工程師的相應工作.
緊緊圍繞以知識為基礎,以素質為中心、以專業(yè)訓練為依托、以應用能力為目標進行課程體系建設.以知識為基礎,要求學生必須掌握工作必備的基礎知識和專業(yè)知識;以素質為中心,是在整個培養(yǎng)過程中貫穿學生素質的培養(yǎng);以專業(yè)訓練為依托,就是在課程體系中加強實踐實訓環(huán)節(jié),培養(yǎng)學生的實際動手技能;以應用能力為目標,則意味著整個教學體系和教學過程中都要為培養(yǎng)學生的應用能力服務.
以Java技術為核心的課程體系構建的終極目標是“理解、編程和應用”.“理解”是指讓學生理解Java的基本語法規(guī)則和編程規(guī)范、基本概念和面向對象的基本思想.“編程”是指讓學生學會掌握面向對象編程、GUI編程、網絡編程、數據庫編程.“應用”是指讓學生能夠應用Java技術進行企業(yè)級信息系統的開發(fā).該課程體系教學研究的目的是將Java作為面向對象編程的入門語言、基礎性應用和開發(fā)平臺,結合其他的程序設計課程和技能型課程,構建一個多層次、多方向的課程體系,以Java技術為核心,貫穿整個課程體系,由淺入深,有機融合,循序漸進,鞏固深化,保證學生程序設計和項目開發(fā)持續(xù)性發(fā)展,適應社會日益急需的軟件人才發(fā)展.
理論教學體系的指導思想:以Java為核心,加強基礎,解決重點,突破難點.考慮大學一年級新生計算機基礎和程序設計知識都比較缺乏,在第一學期開設了計算機導論課程,主要講授計算機基本操作和C語言程序設計,其目的是讓學生熟練掌握計算機基本操作和培養(yǎng)學生面向過程的程序設計思想.在此基礎上,從第二學期開始,講授基于Java技術為核心的系列課程.第二學期開設數據結構和數據庫原理及ORACLE數據庫.數據結構課程重點講授數據的邏輯結構、存儲結構及其相應的算法、算法的空間和時間分析;要突破的重點是棧和隊列、數組和廣義表、樹和圖、排序等的應用.數據庫原理及ORACLE數據庫課程主要講授關系代數和關系演算、SQL語句、數據庫設計,掌握JDBC事務和并發(fā)控制,熟練ResultSet結果集操作,掌握JDBC調用存儲過程等.因為在Java程序設計課程中講到JDBC內容時,需要學生具有一定的數據庫知識,因此,數據庫原理作為Java程序設計的先導課程.
第三學期安排面向對象程序設計基礎和Linux操作系統,Java程序設計基礎主要講授Java語言基礎語法、數組、面向對象編程技術(封裝、繼承和多態(tài))、I/O技術;要突破的難點是面向對象編程思想、變量與對象的存儲模型、I/O模型等.Linux操作系統要求掌握Linux操作系統常用命令的使用,能夠在Linux操作系統下搭建Java開發(fā)平臺.
第四學期開設高級Java程序設計和UML統一建模課程.高級Java程序設計是面向對象程序設計基礎和數據結構課程的延伸,在該課程中主要講授Java中的集合和泛型、多線程技術、GUI編程、JDBC技術等;UML統一建模課程主要講授面向對象設計思想,建模工具,以及文檔的書寫等內容.
第五學期開設網絡編程和動態(tài)網站開發(fā).其中,網絡編程主要講授基于 socket的 TCP和UDP阻塞及非阻塞通訊,以及一些應用層協議等.動態(tài)網站開發(fā)主要講授HTML、Javascript、JSP等動態(tài)網站開發(fā)所涉及的技術.考慮到動態(tài)網站的工作原理涉及HTTP協議,故而網絡編程課程應該作為動態(tài)網站開發(fā)課程的先修課.為此前半個學期可以適當增加網絡編程課程的課時,而適當縮減動態(tài)網站開發(fā)課程的課時.
第六學期開設Java EE企業(yè)級架構及開發(fā)課程,主要開設Ajax和Struts、Spring及Hibernate課程.Ajax課程要求熟悉Ajax框架和Ajax應用程序的開發(fā)步驟,熟練使用jQuery等內容;Struts課程要求熟悉Struts基本原理,掌握Struts應用程序開發(fā)步驟,熟悉FormBean開發(fā)步驟和熟練使用Bean標簽庫.Spring課程要求掌握Spring框架的使用,了解Spring的編程思想,掌握面向接口編程的重要性,熟悉模板和回調等編程設計模式,使用Spring構建Java EE輕量級Bean的解決方案.
第七學期進行綜合項目實訓,強化Java技術應用,為走向新的工作崗位奠定強有力的技術支持.該系列課程的開設將有助于學生掌握最新的企業(yè)級信息化系統的開發(fā)方法和技術.
每一門課程都配以一定學時的課內實驗,通過課內實驗,讓學生動手設計程序,親身體驗,完成單個較小主題的編程與測試,掌握相應的知識點.
每個學期結束前配置與課程同步的課程設計,通過對一個綜合性的簡易系統的開發(fā),將有助于提升學生的綜合分析、設計與編程能力,使其具備初步的系統開發(fā)能力.面向對象課程設計和數據結構課程設計分別是針對面向對象程序設計和數據結構而設定的.Java課程設計則是為Java程序設計和數據庫原理及應用這兩門課開設的,因此,該課程設計可分為兩個部分:Java圖形化游戲編程和Java數據庫編程部分.Java高級課程設計是針對動態(tài)網站開發(fā)和網絡編程這兩門課開設的,因此,該課程設計也分為兩部分:網絡編程部分和動態(tài)網站開發(fā)部分.Java企業(yè)級開發(fā)課程設計針對Java企業(yè)級架構及開發(fā),通過布置具體題目,讓學生使用Struts+Hibernate+Spring進行整合開發(fā)Web程序.
課程設計題目及要求在學期初公布,在課程設計前兩周完成選題、分組等工作.課程設計題目要具有一定的實用性、可行性,難度與設計工作量適中,允許經指導教師批準學生自己擬題.
畢業(yè)設計一般安排在大學最后一個學期進行,是對大學階段所學課程的一個高度總結和綜合應用,不是單一的對某一學科知識的應用,著重考核學生運用所學知識對某一問題進行探討和研究的能力,這就要求學生系統地掌握和運用專業(yè)知識,還要有較寬的知識面,并有一定的邏輯思維能力和寫作功底,是提高學生綜合應用能力、思維能力和動手能力的綜合過程.通過畢業(yè)設計,還可以培養(yǎng)學生的實踐和創(chuàng)新能力,使課堂所學知識應用于問題的研究或實際項目的設計與開發(fā),從而使所學知識得到不斷升華.通過科研訓練和項目開發(fā)實踐,不僅能提高學生的科研素養(yǎng),而且也為學生不斷積累規(guī)范的項目開發(fā)經驗,逐步培養(yǎng)學生團隊責任感、合作技能和協作能力.團隊成員彼此分工合作,溝通協調,齊心協力,共同承擔項目成敗的責任,為畢業(yè)后順利進入工作角色打下堅實的基礎.
(1)在校內建成了環(huán)境友好、軟硬齊備、性能優(yōu)良、協作開發(fā)的軟件開發(fā)實驗實訓室,安裝配置了Java技術系列開發(fā)平臺和工具、應用服務器和數據庫服務器等,通過實訓項目的強化綜合訓練,培養(yǎng)學生自主探索性學習,為提高創(chuàng)新設計能力提供了基本條件保障.通過校內實訓基地,充分利用Java技術系列開發(fā)平臺和工具,學生踴躍報名參加山東省齊魯大學生軟件設計大賽.2009年選派一個代表對參加“大賽管理信息系統”項目的設計,獲得大賽三等獎.2010年選派兩個代表對分別參賽“iphone手機平臺設計”和“網絡游戲設計”項目,榮獲兩個一等獎.“iphone手機平臺設計”項目使用Google提供的開源嵌入式數據庫SQLite,數據庫使用SQL Server 2005,開發(fā)環(huán)境采用Java JDK和Android SDK及Andriod模擬器ADT.使用基于Eclipse的android開發(fā)環(huán)境,利用其提供的各種面向對象的開發(fā)工具,尤其是數據窗口這一功能方便而簡潔的操縱數據庫的智能化對象.過程中首先在短時間內建立系統應用原型,然后對初始原型系統進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統.“網頁游戲設計”項目擬采用3層結構:前臺、接口 API和后臺(數據處理),以方便移植到當前流行的各大社區(qū)網站.前臺即游戲界面,使用Flash技術實現.接口API用于連接后臺與前臺,起到“橋”的作用,當游戲移植到不同的網站時,不需修改任何前臺代碼,只將接口API部分稍作修改,即可方便移植.后臺用于游戲數據的處理與存儲,接口和后臺使用PHP+MySQL技術實現.通過參加實際課題和項目的競賽,提高了學生的理論知識水平和動手能力,鍛煉了學生的科研精神和團隊意識,培養(yǎng)了學生實際項目的建設能力,為今后走向社會和進入軟件企業(yè)工作打下了堅實的基礎,畢業(yè)即能上崗成為可能.
(2)建立校外實習、實訓基地.以培養(yǎng)實踐能力為目標,運用與北京安博教育集團、北京達內教育集團和中軟國際教育集團的合作優(yōu)勢,面向企業(yè)服務外包,主動對接市場與企業(yè)需求,通過在北京軟件園企業(yè)的開發(fā)實習,在校內和江蘇昆山建立實訓基地,拓展了實踐教學體系.校企雙方在人才培養(yǎng)、科學研究、技術革新、技術開發(fā)、資源互補、認證培訓、學生就業(yè)等各個領域開展合作,為學生專項培訓、課程設計、畢業(yè)實習和畢業(yè)設計提供了優(yōu)良的軟件開發(fā)條件,提高了畢業(yè)生的就業(yè)競爭力.從2008年開始,進行課程體系建設和改革,組建具有一定基礎知識和軟件愛好的學生團隊,抽調具有豐富項目開發(fā)經驗和深厚理論功底的畢業(yè)研究生從事課程體系改革研究和實踐探討.校內教學三個月,實訓基地教學2個月,共5個月課程教學,然后進入軟件企業(yè)進行畢業(yè)前實習和工作.到目前,已有5期畢業(yè)生,大約260人的學生進入IT行業(yè)工作.畢業(yè)跟蹤調查,畢業(yè)生大多數都能較快適應企業(yè)的發(fā)展和需要,有的已成為IT行業(yè)的骨干,甚至非常優(yōu)秀.2006級計算機應用技術專業(yè)??飘厴I(yè)生楊德興,現在國家稅務總局負責網絡軟件開發(fā)和技術支持工作.
高等學校的主要任務就是培養(yǎng)適合社會需求的專業(yè)人才和高素質的人才隊伍,為社會輸送合格的優(yōu)秀畢業(yè)生.通過以Java技術為核心的課程體系建設,制定適應社會需求的教學計劃,優(yōu)化教學手段,對于確保軟件人才培養(yǎng)質量具有非常重要的指導意義.已畢業(yè)的99屆和10屆本科計算機科學與技術專業(yè)學生,主要分布在北京和上海較大的軟件企業(yè),主要從事PHP、Java、JSP等開發(fā)與編程工作,另有部分學生從事網站管理與開發(fā)、軟件營銷、系統集成與測試等工作.實踐證明了以Java技術為核心的課程體系建設取得了階段性成果,進而也驗證了以Java技術為核心的課程體系建設思路的正確性.
[1]教育部高等學校計算機科學與技術教學指導委員會.高等學校計算機科學與技術專業(yè)發(fā)展戰(zhàn)略研究報暨專業(yè)規(guī)范:試行[M].北京:高等教育出版社,2006.
[2]教育部高等學校計算機科學與技術教學指導委員會[M].高等學校計算機科學與技術專業(yè)實踐教學體系與規(guī)范.北京:清華大學出版社,2008.
[3]李繼民,李珍,等.計算機專業(yè)畢業(yè)設計(論文)指導[M].北京:清華大學出版社,2009.
[4]中國高等職業(yè)教育計算機教育改革課題研究組.中國高等職業(yè)教育計算機教育課程體系[M].北京:中國鐵道出版社,2010.
[5]何廣軍,潘凌,等.軟件人才(Java方向)2+1教學模式改革探索[J].計算機教育,2009,20:137 -139.
[6]熊風光,等.基于Java的程序設計類課程體系的教學改革[J].中國電力教育,2009,21:108 -110.
[7]劉愛國,王永,等.高職院校計算機專業(yè)Java課程體系設置探討[J].計算機與網絡,2008(1):219-210.
[8]孔宇強,鄭志材,等.基于實踐能力的Java語言程序設計課程改革與探析[J].實踐與探索,2009,34:248 -249.
Construction and Research of the Curriculum System as the Core of the Java Technology
Guo Yubin
(Heze University)
From the reality of Heze University,Combinated of market demand for talent,a set of feasible curriculum systems are researched and constructed as the core of the Java technology,which consistent with the development of computer technology and modern features of our school.Through teaching practice of four years'graduates,the initial results of curriculum system as the core of the Java technology are gained,and the correction of its thought is verified.
Computer technology;Curriculum system;Java technology;System training
2010-11-01
*校級教改立項課題(2008017)
(責任編輯:李佳云)