摘 要: 本文基于大學(xué)本科低年級(jí)信息管理與信息系統(tǒng)專業(yè)和電子商務(wù)專業(yè)的《Java程序設(shè)計(jì)》課程出現(xiàn)的學(xué)生基礎(chǔ)知識(shí)薄弱、運(yùn)用Java語言編程解決實(shí)際問題能力差等問題,提出在開設(shè)該門課程基礎(chǔ)上設(shè)置《Java程序設(shè)計(jì)實(shí)訓(xùn)》后續(xù)課程的教學(xué)改革,經(jīng)過以案例為依托,以項(xiàng)目為驅(qū)動(dòng)力,采用基于項(xiàng)目驅(qū)動(dòng)的實(shí)踐教學(xué)方式的改革,學(xué)生明確了Java語言的學(xué)習(xí)目標(biāo),由被動(dòng)地接受知識(shí)轉(zhuǎn)變?yōu)橹鲃?dòng)地尋求知識(shí),學(xué)生對(duì)課程的滿意度大幅提高,實(shí)踐能力和信心都有所增強(qiáng)。
關(guān)鍵詞: Java 實(shí)訓(xùn) 教學(xué)改革
Java語言由于具有面向?qū)ο?、不依賴平臺(tái)、安全等特點(diǎn),不僅是正在被廣泛使用的編程語言,而且也是軟件設(shè)計(jì)開發(fā)者應(yīng)掌握的一門基礎(chǔ)語言。我院信息管理與信息系統(tǒng)和電子商務(wù)專業(yè)開設(shè)的《Java程序設(shè)計(jì)》課程是一門面向低年級(jí)學(xué)生開設(shè)的程序設(shè)計(jì)語言基礎(chǔ)課程,主要講授Java語言基礎(chǔ)知識(shí),幫助學(xué)生建立面向?qū)ο蟮某绦蛟O(shè)計(jì)思想。在課程講授中主要采用以教師講解為主導(dǎo)、以案例為驅(qū)動(dòng)的方式,學(xué)生通過完成針對(duì)性訓(xùn)練掌握J(rèn)ava語言的基礎(chǔ)知識(shí)。學(xué)習(xí)《Java程序設(shè)計(jì)》課程后學(xué)生僅處于對(duì)面向?qū)ο笏枷牒蚃ava語言的初步認(rèn)識(shí)和掌握階段,特別需要通過進(jìn)一步的強(qiáng)化訓(xùn)練對(duì)Java語言的應(yīng)用能力加以提高,也為后續(xù)課程打好基礎(chǔ)。《Java程序設(shè)計(jì)實(shí)訓(xùn)》就是基于上述目的在開設(shè)《Java程序設(shè)計(jì)》學(xué)期的實(shí)踐周單獨(dú)開設(shè)的一門實(shí)訓(xùn)課程。
一、《Java程序設(shè)計(jì)實(shí)訓(xùn)》在程序設(shè)計(jì)類課程體系的地位和作用
《Java程序設(shè)計(jì)實(shí)訓(xùn)》作為一門實(shí)訓(xùn)課程,在程序設(shè)計(jì)類課程體系中起到承上啟下的作用,該課程的先修理論課程為《程序設(shè)計(jì)基礎(chǔ)》、《java程序設(shè)計(jì)》,后繼課程《Web應(yīng)用開發(fā)(J2EE方向)》。
對(duì)于Java語言這種應(yīng)用性很強(qiáng)的課程來說,學(xué)習(xí)的目的在于學(xué)以致用,在學(xué)生具備了基本面向?qū)ο缶幊趟悸凡⑶艺莆站幊坦ぞ吆头椒ㄖ?,要通過案例和項(xiàng)目來引導(dǎo)學(xué)生運(yùn)用所學(xué)知識(shí)解決實(shí)際問題以提高工作效率,讓學(xué)生體會(huì)每一點(diǎn)進(jìn)步所帶來的成功和喜悅,感受學(xué)習(xí)的樂趣,增強(qiáng)學(xué)習(xí)的動(dòng)力。因此《Java程序設(shè)計(jì)實(shí)訓(xùn)》課程的設(shè)計(jì)目標(biāo)為:要求學(xué)生在掌握J(rèn)ava語言的語法、常用類庫(kù)和面向?qū)ο蟪绦蛟O(shè)計(jì)思想,并有一定編程經(jīng)驗(yàn)的基礎(chǔ)之上,通過軟件編程規(guī)范培訓(xùn)、程序設(shè)計(jì)案例和小型項(xiàng)目開發(fā)實(shí)踐等環(huán)節(jié),一方面培養(yǎng)學(xué)生應(yīng)用Java語言開發(fā)小型項(xiàng)目的實(shí)踐能力,使學(xué)生深入掌握和運(yùn)用Java語言解決實(shí)際問題,為在后繼課程中進(jìn)一步學(xué)習(xí)開發(fā)B/S結(jié)構(gòu)的web應(yīng)用程序打好基礎(chǔ),另一方面結(jié)合案例開發(fā),逐步培養(yǎng)學(xué)生良好的職業(yè)素養(yǎng)和團(tuán)隊(duì)合作精神。
《Java程序設(shè)計(jì)實(shí)訓(xùn)》課程力求彌補(bǔ)傳統(tǒng)程序設(shè)計(jì)語言類課程中以課堂教學(xué)為主、驗(yàn)證性實(shí)驗(yàn)為輔,學(xué)生缺乏學(xué)習(xí)動(dòng)力和興趣的不足之處,通過集中式項(xiàng)目驅(qū)動(dòng)式的教學(xué)設(shè)計(jì),達(dá)到對(duì)學(xué)生編程能力的強(qiáng)化訓(xùn)練,為后續(xù)課程打下良好的基礎(chǔ)。
二、《Java程序設(shè)計(jì)實(shí)踐》教學(xué)改革方案設(shè)計(jì)
在“Java程序設(shè)計(jì)實(shí)訓(xùn)”課程教學(xué)過程中,以Java語言知識(shí)點(diǎn)為基礎(chǔ),以案例為依托,以項(xiàng)目為驅(qū)動(dòng)力,采用基于項(xiàng)目驅(qū)動(dòng)的實(shí)踐教學(xué)方式,幫助學(xué)生明確學(xué)習(xí)目標(biāo),根據(jù)項(xiàng)目需求來學(xué)習(xí),由被動(dòng)地接受知識(shí)轉(zhuǎn)變?yōu)橹鲃?dòng)地尋求知識(shí),增強(qiáng)學(xué)生的學(xué)習(xí)效果。
1.知識(shí)準(zhǔn)備與擴(kuò)充
結(jié)合“Java程序設(shè)計(jì)”課程內(nèi)容,對(duì)相關(guān)知識(shí)進(jìn)行復(fù)習(xí)和擴(kuò)充,具體包括:
(1)JDK,Eclipse編譯環(huán)境的使用,要求學(xué)生深入學(xué)習(xí)Eclipse教程,掌握設(shè)置斷點(diǎn)、逐步排錯(cuò)等功能。
(2)熟練掌握J(rèn)ava標(biāo)準(zhǔn)類庫(kù)的查詢和使用,可以集合類、圖形用戶界面組件類為例。
(3)復(fù)習(xí)Java的編程規(guī)范并嚴(yán)格應(yīng)用于項(xiàng)目開發(fā)過程。
(4)知識(shí)擴(kuò)充,包括對(duì)Java高級(jí)應(yīng)用——數(shù)據(jù)與集合類、泛型、JDBC數(shù)據(jù)庫(kù)連接、多線程等知識(shí)的掌握和熟練應(yīng)用。
2.示例項(xiàng)目講解
在教學(xué)過程中,采用案例教學(xué)能夠?yàn)閷W(xué)生提供模擬的開發(fā)環(huán)境,讓學(xué)生感受學(xué)習(xí)的意義,為學(xué)生提供模仿的樣本,而模仿是學(xué)習(xí)的捷徑之一。通過運(yùn)用項(xiàng)目和程序代碼等案例、實(shí)例來理解有關(guān)思想,使學(xué)生記憶深刻,事半功倍。在實(shí)際教學(xué)安排中,可以一個(gè)小型項(xiàng)目為驅(qū)動(dòng),讓學(xué)生在實(shí)踐環(huán)節(jié)通過對(duì)案例的模仿和創(chuàng)新,理解每一環(huán)節(jié)的任務(wù),從無到有地積累自己的學(xué)習(xí)成果,在實(shí)踐過程中掌握各個(gè)知識(shí)點(diǎn),增強(qiáng)自己的動(dòng)手能力,獲取實(shí)際開發(fā)經(jīng)驗(yàn),實(shí)現(xiàn)學(xué)習(xí)目標(biāo)。
3.團(tuán)隊(duì)項(xiàng)目開發(fā)
(1)項(xiàng)目選擇。在設(shè)計(jì)項(xiàng)目時(shí)還要遵循教育性、科學(xué)性、實(shí)用性、開放性、靈活性于一體,一個(gè)成功的任務(wù)要有發(fā)揮創(chuàng)造力的空間。結(jié)合學(xué)生的特點(diǎn),充分考慮現(xiàn)有知識(shí)結(jié)構(gòu)、認(rèn)知能力和興趣,由淺入深、由表及里、循序漸進(jìn)地設(shè)計(jì)任務(wù),通過上網(wǎng)搜集、查閱最豐富的Java項(xiàng)目開發(fā)資料,分析、摘取經(jīng)典Java程序作為實(shí)訓(xùn)項(xiàng)目。
(2)團(tuán)隊(duì)劃分。對(duì)于學(xué)生來說,僅靠個(gè)人的力量來完成一個(gè)小型項(xiàng)目是不實(shí)際的,需要彼此之間以團(tuán)隊(duì)的方式進(jìn)行合作,共同完成設(shè)計(jì)目標(biāo)。團(tuán)隊(duì)中各成員的角色和所承擔(dān)的項(xiàng)目可參照軟件工程中的小組軟件開發(fā)過程TSP(Team Software Process)來制定。在項(xiàng)目的需求分析階段,成員可以通過共同討論,集思廣益,發(fā)揮個(gè)人的聰明才智,給出設(shè)計(jì)方案;在設(shè)計(jì)過程中,由組長(zhǎng)安排各成員的分工合作,確定每人所承擔(dān)的任務(wù)。成員可以輪流承擔(dān)各階段的設(shè)計(jì)、編碼和測(cè)試任務(wù),使學(xué)生在項(xiàng)目的開發(fā)過程中扮演不同的角色,熟悉軟件設(shè)計(jì)流程,培養(yǎng)軟件創(chuàng)新能力、研究能力、開發(fā)能力,團(tuán)隊(duì)合作能力,培養(yǎng)遵守軟件設(shè)計(jì)規(guī)范的良好職業(yè)習(xí)慣,培養(yǎng)學(xué)生適應(yīng)軟件技術(shù)開發(fā)的職業(yè)崗位能力。同時(shí),各小組之間也形成了一定的激勵(lì)機(jī)制,每個(gè)成員的工作都關(guān)系到整個(gè)小組的成敗,這在客觀上也要求每名成員盡力去做好自己的工作。
(3)項(xiàng)目開發(fā)。實(shí)訓(xùn)中常用的項(xiàng)目有:圖書借閱管理系統(tǒng)、人事管理系統(tǒng)、考務(wù)管理系統(tǒng)、學(xué)生成績(jī)信息管理系統(tǒng)、運(yùn)動(dòng)會(huì)成績(jī)管理系統(tǒng)、倉(cāng)庫(kù)管理系統(tǒng)、書店管理系統(tǒng)、校園IP查詢系統(tǒng)、超市管理系統(tǒng)、畫圖板、俄羅斯方塊游戲、個(gè)人通訊錄、日歷制作、簡(jiǎn)易計(jì)算器、文本編輯器等,各組選定一個(gè)項(xiàng)目完成。在實(shí)訓(xùn)中指導(dǎo)教師向?qū)W生提供解決問題的必要條件,指導(dǎo)學(xué)生如何收集資料獲取相關(guān)信息,各組自行討論與交流,培養(yǎng)學(xué)生自主學(xué)習(xí)能力。
(4)過程指導(dǎo)。分組采取自愿原則,根據(jù)任務(wù)大小及實(shí)驗(yàn)室設(shè)備情況,一般每組4-5名同學(xué),其中1名同學(xué)任組長(zhǎng),負(fù)責(zé)整個(gè)實(shí)訓(xùn)任務(wù)分配、進(jìn)度管理、定期匯報(bào)。在項(xiàng)目進(jìn)行過程中,遵循的原則是盡量依靠學(xué)生自身的能力和團(tuán)隊(duì)的合作,以團(tuán)隊(duì)為單位獨(dú)立解決遇到的難題,但由于學(xué)生的經(jīng)驗(yàn)和知識(shí)有限,教師有必要在項(xiàng)目的關(guān)鍵階段進(jìn)行適當(dāng)?shù)闹笇?dǎo),并對(duì)設(shè)計(jì)過程中出現(xiàn)的偏差及時(shí)糾正,對(duì)設(shè)計(jì)時(shí)所可能遇到的比較深的知識(shí)點(diǎn)進(jìn)行有效指導(dǎo),鼓勵(lì)學(xué)生進(jìn)行探索。指導(dǎo)的方式可以采用當(dāng)面討論、Email答疑或建立QQ群進(jìn)行集體討論等。
(5)成績(jī)?cè)u(píng)判。成績(jī)?cè)u(píng)判包括:對(duì)新技能的掌握及熟練應(yīng)用,自主學(xué)習(xí)能力,創(chuàng)造性解決問題能力,將所學(xué)知識(shí)有效運(yùn)用到實(shí)際環(huán)境的能力,學(xué)生參與實(shí)訓(xùn)活動(dòng)的態(tài)度,等等。實(shí)訓(xùn)最終成績(jī)考核以小組為單位,先用10分鐘演示項(xiàng)目,再回答3-5個(gè)相關(guān)問題,教師綜合講述情況和回答程度做出評(píng)價(jià)。
三、結(jié)語
幫助學(xué)生在校學(xué)習(xí)過程中盡量多的掌握J(rèn)ava項(xiàng)目開發(fā)的能力與技巧是《Java程序設(shè)計(jì)實(shí)訓(xùn)》課程設(shè)置的初衷,通過《Java程序設(shè)計(jì)實(shí)訓(xùn)》課程的增設(shè),增強(qiáng)了理論知識(shí)與實(shí)際應(yīng)用之間的聯(lián)系。學(xué)生普遍反映這樣的實(shí)訓(xùn)課程比以往的學(xué)習(xí)過程有更多的收獲,在項(xiàng)目設(shè)計(jì)過程中鍛煉了團(tuán)隊(duì)合作與獨(dú)立解決問題的能力,增強(qiáng)了對(duì)Java語言的學(xué)習(xí)信心和專業(yè)課的學(xué)習(xí)信心。
通過近一年的課程改革,進(jìn)一步改進(jìn)了《Java程序設(shè)計(jì)》課程與《Java程序設(shè)計(jì)實(shí)訓(xùn)》課程的教學(xué)內(nèi)容設(shè)計(jì),使兩個(gè)課程相互銜接成為體系;初步建成了Java程序設(shè)計(jì)實(shí)訓(xùn)項(xiàng)目資源庫(kù),并在每次教學(xué)實(shí)踐中不斷豐富和改進(jìn);建立了完整的《Java程序設(shè)計(jì)實(shí)訓(xùn)》課程考核評(píng)價(jià)指標(biāo)體系和課程考核方案。該門課程的改革也為其他程序設(shè)計(jì)類課程的實(shí)踐教學(xué)改革提供了良好的借鑒。
參考文獻(xiàn):
[1]陳紅軍,耿永軍,閆洪亮.《Java程序設(shè)計(jì)》課程教學(xué)改革探討[J].信息系統(tǒng)工程,2010,19(4):128-130.
[2]招啟東.項(xiàng)目實(shí)訓(xùn)在JAVA課程教學(xué)中的應(yīng)用[J].時(shí)代教育,2008(10).
[3]邵奇峰.Java系列課程的教學(xué)改革與實(shí)踐[J].計(jì)算機(jī)教育,2010(20):40-43[7].
[4]郭廣軍.面向應(yīng)用的《Java程序設(shè)計(jì)》精品課程教學(xué)改革與實(shí)踐[J].計(jì)算機(jī)教育,2009(12):76-79.
[5]俞輝.計(jì)算機(jī)專業(yè)提高Java語言教學(xué)效果的探索與實(shí)踐[J].計(jì)算機(jī)教育,2008(14):48-49.