劉維
摘要: 隨著Java技術(shù)的不斷發(fā)展及其應用領(lǐng)域的不斷擴大,Java程序設(shè)計課程在高校計算機專業(yè)的重要性也日趨提高,本文針對Java程序設(shè)計課程教學中的常見問題進行了深入的研究和分析,并有針對性地從完善教學內(nèi)容、改進教學方法、提高學生實踐能力等方面給出了一些切實可行的措施。
關(guān)鍵詞: Java程序設(shè)計教學內(nèi)容教學方法
1.引言
Java語言是1995年Sun公司推出的一種完全面向?qū)ο蟮脑O(shè)計語言,由于其具有簡單、面向?qū)ο?、分布式、可移植性、安全可靠等特點,深受業(yè)界的推崇,現(xiàn)已成為軟件開發(fā)領(lǐng)域最主流的設(shè)計語言之一。近年來為了適應人才市場的需求,幾乎所有高校的計算機相關(guān)專業(yè)都把Java語言作為重要的必修課予以設(shè)置。但是由于大部分在校大學生在學期間并沒有能夠真正掌握Java程序設(shè)計的基本思想,缺乏靈活運用且解決實際問題的能力, 導致學生畢業(yè)后距離企業(yè)的實際用人需求有較大的差距。因此如何更好地發(fā)揮Java課程[1]實踐性強的特點,培養(yǎng)符合企業(yè)要求的Java人才,便成為計算機教學中一個值得探討的問題。
2.現(xiàn)有Java教學中存在的常見問題
筆者根據(jù)近年來教授Java程序設(shè)計這門課程的經(jīng)驗、積累和與同事之間的相互交流,發(fā)現(xiàn)該門課程在實際教學中主要存在以下幾個方面的問題。
2.1學生對該門課程很有興趣,也很想學好,學精課程內(nèi)容,但同時也畏難。學生之所以對該門課程充滿興趣,主要來源于實際就業(yè)的需要。Java技術(shù)已成為近年來社會需求最大的編程技術(shù)之一。國內(nèi)許多軟件開發(fā)企業(yè)不惜花費大量的時間與資金培訓Java軟件開發(fā)人員。在這種大趨勢下,學生們迫切地想要學習Java程序設(shè)計,但是許多學生對編程沒有足夠的了解,缺乏算法設(shè)計的理念。很多學生在初學編程時僅僅是為了編程而編程,很少有學生是因為真正熱愛編程而學習Java的,因此在學習時缺乏主觀能動性。而程序設(shè)計除了要求設(shè)計者具有嚴謹踏實的學習態(tài)度、良好的邏輯思維和抽象思維能力外,更需要設(shè)計者具有不斷自我學習,掌握技巧適用性,以及對資源進行最恰當安排的能力。所有這些要求無形中給學生帶來了壓力,進而導致學生害怕編程。
2.2學生希望通過課堂學習獲得Java應用實踐和適應Java社會需求的能力,這就對教師課堂教學的內(nèi)容和方法提出了更高的要求。而傳統(tǒng)的Java程序設(shè)計的教學主要采用講授法,在教學內(nèi)容上主要著重于Java語言的基礎(chǔ)理論部分,尤其是強調(diào)Java語法的掌握。盡管進行Java程序設(shè)計課程改革之后不少院校升級為多媒體教學,使得教學更生動、直觀,但這只是教學形式的改觀,教學方法的本質(zhì)沒變。而且,雖然現(xiàn)在已逐步引入了案例教學法,但仍缺乏如何運用Java知識完成實際項目的內(nèi)容。另外,在教學內(nèi)容中還應該注重與編程相關(guān)能力的培養(yǎng),如培養(yǎng)學生良好的軟件工程習慣,避免在系統(tǒng)設(shè)計和實現(xiàn)時出現(xiàn)混亂和隨意;加強學生使用參考文檔及開發(fā)工具能力的培養(yǎng),等等。有些學生在課程設(shè)計、畢業(yè)設(shè)計或者開發(fā)項目時過多地依賴現(xiàn)成資料,只想從網(wǎng)上搜索相關(guān)解決方案,然后直接套用,進而導致得到的成果缺乏原創(chuàng)性。因此有必要在教學方法和教學內(nèi)容上進行探索,使得學生的軟件開發(fā)能力進一步提高。
3.教學內(nèi)容的探索
3.1合理規(guī)劃教學內(nèi)容。
Java程序設(shè)計的教學內(nèi)容基本上可以分為Java的基礎(chǔ)知識、核心知識和提高知識三部分。在基礎(chǔ)知識部分學生需要掌握面向?qū)ο笏枷氲幕A(chǔ)理論,Java的環(huán)境、語法和異常處理等內(nèi)容。核心知識部分主要講述面向?qū)ο蟮姆庋b性、繼承性、多態(tài)性和抽象性等特性,并采用Java語言實現(xiàn)這些特性的設(shè)計技術(shù)。提高知識部分可以根據(jù)專業(yè)需要掌握多線程、圖形處理、數(shù)據(jù)庫處理、網(wǎng)絡(luò)及JSP等內(nèi)容。計算機專業(yè)學生也可以根據(jù)所選的創(chuàng)新課題進行開發(fā)和實踐的過程。Java程序設(shè)計需要學生把基礎(chǔ)知識掌握精,把核心知識掌握好,這對于以后提高知識部分的掌握和建立算法設(shè)計思想都是有利的。在基礎(chǔ)知識部分可以建立面向?qū)ο蟮乃枷耄瑢τ谡Z法知識需要掌握,在核心知識的教學過程中,需要培養(yǎng)學生查看API文檔的習慣,這樣可以在編寫程序的過程中提高學生的程序設(shè)計水平。
3.2開發(fā)工具和環(huán)境的選擇。
J2SDK,簡稱JDK,是Java最基礎(chǔ)的開發(fā)平臺,在基礎(chǔ)知識學習階段,學生可以利用JDK+文本編輯器,使用DOS控制臺,循序漸進地學習Java的編譯和運行環(huán)境,以及Java的處理機制和基本架構(gòu),這對于以后Java的深入學習是有必要的,另外還可以利用許多集成開發(fā)環(huán)境如Jcreator、JBuilder或Eclipse進行教學,在這些環(huán)境下學習編寫Java程序,因為集成環(huán)境中有許多的可視化功能,所以界面友好,上手快。我結(jié)合自己的教學經(jīng)驗,建議選擇集成開發(fā)環(huán)境進行教學,這樣會使Java的教學過程更便利、更有效。
3.3實驗環(huán)節(jié)的設(shè)計。
Java程序設(shè)計是一門實踐性很強的課程[2],通過上機學生可以掌握教學中的重點和難點,因此在教學過程中,要注重實驗內(nèi)容與教學內(nèi)容的配套,建議選取有配套練習的教材??梢愿鶕?jù)課堂內(nèi)容提前布置實驗內(nèi)容,以便學生及時預習并進行編程,設(shè)計測試用例,然后通過上機,輸入程序,調(diào)試程序,測試程序來檢驗程序的正確性、完備性、安全性。通過這樣一個思考探索的過程,學生可以深刻理解課堂上所講述的知識點,并且提高分析問題、解決問題的能力。
3.4作業(yè)環(huán)節(jié)的設(shè)計。
除了每周布置的課堂作業(yè)外,在一章節(jié)的知識點講完后,應安排一次綜合作業(yè),以考查學生對這章知識點的掌握情況,同時對學生集中犯錯的題目應在課堂上進行講解分析,這種階段性的作業(yè)方式有助于學生對本章知識加深理解,從而更好地投入到下一章的學習之中。此外,在后期的學習中,可以適當安排課程設(shè)計。學生自由組合,3—5人一組,完成一個小系統(tǒng)的開發(fā)[3]。例如選擇酒店管理系統(tǒng)、學生信息管理系統(tǒng)等進行開發(fā),這可讓學生理解程序整體開發(fā)和運行過程,學會如何將課本知識應用到實際問題中,真正做到學以致用。同時通過開發(fā)過程,學生能享受到知識帶來的力量,同時也能學會如何進行團隊協(xié)作。
4.教學方法的探索
4.1上好第一堂課。
在組織授課過程中,課程第一堂課的重要性不言而喻。Java程序設(shè)計的教學也一樣,教師需要在開始培養(yǎng)學生對程序設(shè)計的興趣和熱情,例如:可以在講JDK環(huán)境的時候,給學生演示JDK中demo目錄中的Java2D程序;可以給出一些Java小游戲讓學生認識Java的魅力。此外,給學生展示一些文字、圖像、動畫等多媒體信息,有利于激發(fā)學生學習這門課程的積極性。
4.2采用多媒體手段教學。
根據(jù)Java課程的特點,教師應充分利用現(xiàn)代化的多媒體教學方式[4],利用大屏幕投影進行直觀教學,采用演示+操作+講解(即邊講邊練)授課方法進行教授,這樣可以提高教學的效率和學生的積極性。同時可以利用BBS、E-mail等方式使學生和教師、學生和學生之間能進行交互,從而使學生更好地吸收知識,有利于激發(fā)學習興趣形成學習動機。此外,多媒體所提供外部刺激有利于學生對知識的獲取與保持,獲得較好的教學效果。
4.3采用案例教學,側(cè)重啟發(fā)編程思想。
無論學習哪一種編程語言,最重要的是掌握其編程思想,這樣才能舉一反三,而不是對編程死記硬背。正如英語之類的語言學習需要培養(yǎng)語感一樣,學習程序設(shè)計是也要培養(yǎng)學生對編程的感覺,但是這個感覺是在反復的實踐、觀察、分析、比較、總結(jié)中潛移默化積累的。因此學生平時要多結(jié)合實際問題編程,而在Java程序設(shè)計課堂教學中要多采用案例教學方法[5],對每一個單一知識點進行教學。選取的案例都盡可能小而精,針對特定問題。例如在講授繼承、封裝、多態(tài)等的概念時,可以要求學生將實例(如圖書館管理系統(tǒng))中所涉及的各個類文件(書目、書籍、預訂、借閱、節(jié)約人、系統(tǒng)管理員、圖書館管理員等)創(chuàng)建出來,然后和實例中實際創(chuàng)建的類文件對比,從而加強對類和對象這一知識點的理解。通過小型案例講解獨立知識點,不僅能幫助學生鞏固已學的知識,而且能幫助學生提高自學能力和設(shè)計能力,強化案例教學的效果。
4.4多動手,多創(chuàng)新。
很多學生在學Java時反映在課堂上老師在講解時是聽明白的,下課后再看就忘了是怎么回事了。要進行實際編程時就是看書,找類似的程序模仿,然后匆匆上交任務完事,而不愿意敲鍵盤,將所寫程序上機進行測試。這種習慣是很不好的,一方面,學生課后應該多看書,掌握基本概念,多閱讀一些優(yōu)秀的程序源碼[6],這對自我提高、開闊視野非常重要。另一方面,在初始寫程序時可以試著去模仿,但是一定要動手將程序代碼敲入電腦,即使有時候你對所敲的代碼不太明白,也可以先運行,看看結(jié)果,增加感性認識,然后上升到理性的認識,逐漸培養(yǎng)出編程的感覺。在日積月累中要思考創(chuàng)新,要嘗試一題多解,并且善于提出自己的問題和觀點。
5.結(jié)語
Java程序設(shè)計對培養(yǎng)學生的計算機應用能力起著非常重要的作用,我針對Java程序設(shè)計課程教學,總結(jié)了目前在教學過程中常見的一些問題,同時對教學內(nèi)容和教學方法進行了探索,給出了一些具體可行的措施。教學實踐證明,教學這些措施都是可行和有效的。在信息技術(shù)高速發(fā)展的今天,從事程序設(shè)計課程教學的教師要與時俱進,改進和完善教學內(nèi)容和教學方法,以培養(yǎng)出高素質(zhì)的創(chuàng)新型IT人才。
參考文獻:
[1]鄭阿奇,Java實用教程[M],北京:清華大學出版社,2009.
[2]耿祥義,張躍平.Java 2實用教程實驗指導與習題解答[M],北京:清華大學出版社,2006:2.
[3]苗春義,Java項目開發(fā)全程實錄[M].北京:清華大學出版社,2008:2(10).
[4]吳躍,陳崢.面向?qū)ο蟪绦蛟O(shè)計教改探索[J],計算機教育,2010:4(8).
[5]符蘊芳,趙英豪.面向?qū)ο蟪绦蛟O(shè)計教學改革與實踐[J],中國成人教育,2010:11.
[6]杜來紅,田喜群,康萍,蔣夢莉,新館專業(yè)面向?qū)ο蟪绦蛟O(shè)計(Java語言)教學探討[J].中國新技術(shù)新產(chǎn)品,2010:12(24).