李穎
(黑龍江大學(xué)劍橋?qū)W院,黑龍江 哈爾濱 150000)
眾所周知,Java 是20 世紀90年代初推出的一種純面向?qū)ο缶幊陶Z言工具,自從它面世以來,已經(jīng)獲得了業(yè)界的一致推崇,時至今日,Java 已經(jīng)發(fā)展為一個覆蓋面廣、效率高、易用性強的技術(shù)平臺。為了適應(yīng)人才市場的需求,幾乎所有高校都競相開設(shè)了《Java 程序設(shè)計》等相關(guān)課程。雖然IT 企業(yè)對Java人才的需求量很大,但卻很難招聘到合格Java人員,其中最根本的原因就是許多計算機專業(yè)的畢業(yè)生在讀期間沒有掌握實用的技能與經(jīng)驗,距離企業(yè)的實際用人需求有較大的差距,因此如何更好地發(fā)揮JAVA 課程實踐性強的特點,使學(xué)生具備很強的動手實踐能力、掌握JAVA 程序開發(fā)技巧、積累項目開發(fā)經(jīng)驗便成了計算機教學(xué)中一個探討與研究的熱點和焦點。
在Java 程序設(shè)計這門課程日常的教學(xué)中以及與同事之間的相互交流中,作者發(fā)現(xiàn)該門課程在實際教學(xué)中主要存在以下幾個方面的問題:
(1)學(xué)生普遍反映對Java 程序設(shè)計有興趣,但同時也畏難。學(xué)生的興趣來源于實際就業(yè)需要,Java 的廣泛應(yīng)用是學(xué)生們想學(xué)習(xí)Java 的主要原因。學(xué)生們通常對編程沒有足夠的了解,在初學(xué)編程時,很少會有學(xué)生真的因為愛好編程而學(xué)習(xí)Java。由于程序設(shè)計不僅要求設(shè)計者具有很強的邏輯思維能力,思路清晰,要求設(shè)計者能不斷自我學(xué)習(xí),適應(yīng)現(xiàn)代編程技術(shù)的變化。這對一些學(xué)生造成了學(xué)習(xí)壓力,進而導(dǎo)致這些學(xué)生畏難,害怕編程。
(2)希望獲得更多實用技能和動手能力的培養(yǎng)。Java 程序設(shè)計在課程改革以前,主要通過傳統(tǒng)的語言教學(xué)方法來進行,在內(nèi)容上從了解語言特征入手,重點強調(diào)基礎(chǔ)Java 語法。盡管在實踐教學(xué)中逐步引入了案例教學(xué),不過仍缺乏如何運用Java 完成實際項目的內(nèi)容。另外,教學(xué)內(nèi)容中也欠缺一些與編程相關(guān)的能力培養(yǎng)。包括使用參考文檔的能力、使用開發(fā)工具的能力等等。雖然這些內(nèi)容均不屬于傳統(tǒng)教學(xué)范圍,但都是學(xué)生在實際動手環(huán)節(jié)中必須用到的能力。因此有必要在Java 程序設(shè)計教學(xué)內(nèi)容和方法上做一些調(diào)整,以促進學(xué)生實用技能的提高。
無論學(xué)習(xí)哪一種編程語言,最重要的是掌握其編程思想,從而培養(yǎng)編程的感覺,而不是對語言本身死記硬背。編程思想是在反復(fù)的實踐、觀察、分析、比較、總結(jié)中潛移默化積累的。多數(shù)情況下,一旦掌握編程思想,面對新的編程語言時,只需要簡單了解該語言的語法特點就可以即學(xué)即用。為了更好的啟發(fā)學(xué)生的編程思想,首先要培養(yǎng)學(xué)生解決實際問題的能力,以解決實際問題的程序設(shè)計思想作為教學(xué)的切入點,加強基礎(chǔ)、強化實踐、注重應(yīng)用、引導(dǎo)創(chuàng)新,啟發(fā)學(xué)生用程序的方式來解決問題,要把程序的組織結(jié)構(gòu)、語句含義、運行流程和實際問題對應(yīng)起來。其目的是使學(xué)生學(xué)會學(xué)習(xí)、學(xué)會思考,學(xué)會自我啟發(fā)的“關(guān)鍵能力”。教師可以讓學(xué)生先解決一些簡單的實際問題,掌握編程的一些常用結(jié)構(gòu)和方法。然后邊學(xué)邊用,學(xué)生熟練掌握編程技術(shù)后,就可以獨立編程了。
根據(jù)Java 課程的特點,教學(xué)手段上應(yīng)充分利用現(xiàn)代化的多媒體教學(xué)方式,利用大屏幕投影進行直觀教學(xué),采用演示+操作+講解(即邊講邊練)授課方法進行教授。多媒體技術(shù)為教學(xué)提供交互式的教學(xué)環(huán)境,學(xué)生可以按照自己的學(xué)習(xí)基礎(chǔ)、學(xué)習(xí)興趣來選擇學(xué)習(xí)策略、學(xué)習(xí)的內(nèi)容和適合自己水平的練習(xí),體現(xiàn)了學(xué)生的主體地位。學(xué)生在這種交互式教學(xué)環(huán)境中有了主動參與的可能,有利于激發(fā)學(xué)習(xí)興趣形成學(xué)習(xí)動機。使用各種軟件實時操作進行教學(xué),學(xué)生可以同步感受軟件的運行過程。演示程序的調(diào)試與運行過程,真正實現(xiàn)了“用計算機教計算機”,使教學(xué)更具直觀性和互動性,同時加大了授課的知識量。此外,多媒體所提供外部刺激有利于學(xué)生對知識的獲取與保持,獲得較好的教學(xué)效果。
能夠自己動手解決實際問題是學(xué)習(xí)的最直接動力,是激發(fā)學(xué)習(xí)興趣的根源所在。在Java 程序設(shè)計課堂教學(xué)中采用案例教學(xué)方法可對每一個單一知識點進行教學(xué)。選取的案例都盡可能小而精,針對特定問題。通過小型案例講解獨立知識點,以案例模仿的形式促進學(xué)生動手能力。學(xué)生通過案例研究,培養(yǎng)一種分析問題的能力和獨立處理、遷移性的應(yīng)用能力。學(xué)習(xí)過程貫穿于案例分析的過程之中,培養(yǎng)學(xué)生學(xué)會抓住或發(fā)現(xiàn)問題,然后結(jié)合所學(xué)知識尋找解決問題的途徑、手段。這樣不僅能幫助學(xué)生鞏固已學(xué)的知識,同時也能幫助學(xué)生提高自學(xué)能力和設(shè)計能力,強化了案例教學(xué)的效果。
學(xué)習(xí)Java 編程語言要經(jīng)常閱讀一些優(yōu)秀的源碼,對自我提高、開闊視野非常重要。但一定要多動手才能真正把別人的東西消化掉。
很多學(xué)生學(xué)Java 就是看書、聽課,當(dāng)時是明白了,過后馬上就忘記。如果不愿意敲鍵盤,就不如不學(xué)。即使有時候所敲的代碼不太明白,可以先運行,看看結(jié)果,增加感性認識,然后上升到理性的認識。所以教學(xué)中一定要鼓勵學(xué)生多動手寫代碼。
良好的職業(yè)素質(zhì)能使學(xué)生在工作生涯中終生受益。教師在傳授專業(yè)知識的同時應(yīng)該強調(diào)職業(yè)素質(zhì)教育,把職業(yè)素質(zhì)教育融合到教學(xué)中去,注重學(xué)生綜合能力和解決實際問題能力的培養(yǎng)。
對于Java 教學(xué),職業(yè)素質(zhì)教育首先應(yīng)該強調(diào)團隊精神和協(xié)作能力?,F(xiàn)實中的開發(fā)任務(wù)幾乎是個人力量不可能完成的,需要通過組成強大的團隊來創(chuàng)造奇跡。其次應(yīng)該養(yǎng)成規(guī)范化、標(biāo)準(zhǔn)化的代碼編寫習(xí)慣。良好的編寫習(xí)慣,使代碼具有良好的可讀性,不但有助于代碼的調(diào)試和移植,也有助于不同技術(shù)人員之間的協(xié)作。
課程設(shè)計是對本課程所學(xué)內(nèi)容的綜合運用和鞏固提高,它在整個Java 教學(xué)過程中起到一個承上啟下的關(guān)鍵性作用,一方面能夠鞏固前面所學(xué)的基礎(chǔ)知識;另一方面能讓學(xué)生了解Java 開發(fā)的一些基本流程,為日后從事Java 領(lǐng)域的開發(fā)作鋪墊。
在課程設(shè)計的過程中采用分組的組織形式,以完成小型任務(wù)為目標(biāo),鍛煉學(xué)生合作和設(shè)計能力。在分組實驗中,學(xué)生以3 個人左右的小規(guī)模進行分組,這樣一方面可以保證每個學(xué)生都有動手實踐的機會,同時也能充分參與合作。學(xué)生個人的最終成績?nèi)Q于團隊的最終成績、個人在團隊中的貢獻以及教師對個人表現(xiàn)的評價。分組實驗中通過競爭機制和團隊成員的交流可以促進學(xué)生學(xué)習(xí)興趣和提高團隊合作能力。
在課程設(shè)計階段,學(xué)生已經(jīng)有了一定的Java 編程基礎(chǔ),欠缺的主要是實際的開發(fā)經(jīng)驗和全面系統(tǒng)的、深入的掌握Java 技術(shù)。解決的方法就是通過企業(yè)真實項目練習(xí),對所學(xué)知識進行深化,然后通過項目來獲取實際開發(fā)的經(jīng)驗,盡快達到企業(yè)的實際要求,讓學(xué)生在具體的項目中進行學(xué)習(xí),縮短學(xué)生與企業(yè)之間的距離。
Java 教學(xué)一定要圍繞提高學(xué)生實踐應(yīng)用能力展開,注重面向?qū)ο缶幊趟枷氲呐囵B(yǎng),教學(xué)過程中要引入多媒體技術(shù)等先進教學(xué)手段。文中探討了Java 教學(xué)的一些問題,提出了改進措施,并實際應(yīng)用于Java 教學(xué),取得了很好的效果。其實,教學(xué)關(guān)鍵在于因材施教,所以文中所提及措施,也不一定適合所有Java教學(xué)活動。但希望能夠拋磚引玉,愿各位教師教好Java,愿各位學(xué)生學(xué)好Java。
[1]全成斌,楊士強,趙有健.計算機工程實踐教學(xué)的改革與探索[J].計算機教育,2008(4).
[2]孫偉.《Java 程序設(shè)計》課程的教學(xué)改革與實踐[J].計算機時代,2005(11),84-86.