摘 要:隨著信息技術的不斷發展,21世紀已然進入信息時代。伴隨著互聯網以及計算機的普及應用,面向對象技術目前已成為軟件開發行業的主流技術。安全性能高、移植性能出色、可靠性有保障的Java語言脫穎而出,發展前景廣闊。本文從介紹Java語言在程序設計課程中的意義出發,分析了當前Java語言程序設計課程教學的現狀,針對當前存在的問題探討了課程教學改革方案,通過科學設計教學大綱、精選教材、強化教學重點和目標、實踐與理論教學相結合、優化課程考核這幾個方面進行教學實踐,取得了良好的教學效果。
關鍵詞:信息時代;Java語言程序設計;問題;改革;實踐
引言:
隨著計算機技術與互聯網的飛速發展,面向對象技術對于軟件開發而言占據著重要地位。作為面向對象語言的一種,具有安全性能高、移植性能出色、可靠性有保障的JAVA語言脫穎而出,在數據處理中心、互聯網、移動平臺等計算機應用開發行業被廣泛地應用,發展前景非常廣闊。在高等教育以及職業教育中,Java語言程序設計也作為一門重要課程備受學校及社會重視,在計算機語言系統里面占據著關鍵地位,越來越多的高校把Java語言設為學生的一門必修課。對于程序語言教學而言,當前高校課程教學中尚存在許多問題,導致教學效果不理想,那么如何創新教學方法、提升教學效果也成為如今教師積極探索的課題。本文將著重對Java語言教學的手段及辦法進行探討分析,進行全面的教學改革探索。
一、Java語言程序設計課程教學的意義
(1)提高學生對軟件類基礎課程的重視和認識
Java語言之中包含的很多知識點和框架,例如HashSet、排序、Thread、以及Java網絡編程等,與數據結構、計算機網絡和操作系統等其他計算機類課程知識點聯系緊密,聯動性強。學生學好和掌握Java語言,可以觸類旁通地強化這些知識。
(2)強化學生面向對象的編程思維
Java語言是一門面向對象語言,其編程思想是編程語言的一大革新,思路清晰,在實際應用中,其堆內存與有棧內存的劃分設定,形象清晰地將對象的實例化進行了描述,讓艱澀抽象的編程概念形象化,降低了學習理解難度,便于學生掌握。
二、Java語言程序設計課程教學現狀分析
(一)教學目標不清晰,針對性不強
Java語言程序設計課程如今已經成為軟件工程專業與其他相關專業的一門重要專業課。學習本課程后,學生應當掌握Java語言的相關基礎知識并熟練運用,為后續的學習奠定良好的基礎。然而,當前在大多數Java語言課程教學中,教學針對性不強,沒有制定明確清晰的教學目標,服務對象不明確,同時教學模式單一,不能與時俱進,缺乏教師方式的創新,這就導致跟入門學習的基礎語言(例如:C語言程序設計)區別不大,降低了學生的學習興趣和積極性,不能取得預期的教學效果,對于后續課程的學習也產生了不利的影響。
(二)教學內容沒有很好地服務于教學目標
在現今的軟件開發類課程教學中,Java語言教學內容大體上都相同,主要包括以下七個板塊:1.Java的面向對象;2.Java的基本概念;3.Java的繼承;4.Java中的線程;5.Java的輸入輸出流;6.Socket編程;7.Jdbc等。
在實際教學中,大多數教師基本都只是對JAVA入門級知識進行講解,甚少結合后續課程“JavaEE技術”或實際項目來進行教學,對于后續要學習的“JavaEE技術”中要掌握的Java的反射、JAVA動態代理、JAVA中線程池以及JAVA中開源組件用法等都沒有進行相關的講述,導致學生在往后的學習中加大了難度,影響教學進程和效果。教學內容沒有很好地服務教學目標,沒有建立科學的教學體系,Java語言教學的內容與后續課程教學分開,缺乏全局觀,沒有很好地將Java語言教學融入到整個教學體系中。故教師應當創新教學方式,從全局出發系統地改革,而不僅僅是局限于單一課程教學質量的提高。
(三)授課方式存在弊端
(1)在當前Java語言程序設計課程理論部分的教學中,多數教師采用傳統的教學方法,即以大課的形式在多媒體教室集中進行“灌輸式”授課,利用課件進行Java語言理論內容的講述,教師自顧地進行“換頁”瀏覽講述,學生大部分時間都在觀看大屏幕,缺少師生間的互動,而且由于Java語言本身相對來說艱澀抽象、枯燥復雜、知識點繁多,在這種課堂中會讓學生產生聽課疲勞,注意力下降,溜號、逃課等現象發生也就不足為奇,教學效果及學習效率可想而知。
(2)在傳統的教學中教師往往輕實踐、重理論,一方面安排實驗教學的課時較少,學生的實踐時間不足;另一方面實驗教學大都在理論教學之后進行,上機實操與理論學習中間有一定的時間間隔,這也就使得學生在學習完理論課的只是以后不能馬上進行實操練習,造成實踐與理論之間脫節嚴重,許多學生在上機課中不知從何下手,無法取得實驗教學的效果。
(3)學生在上機課中的實驗內容通常只是完成編寫包括一兩個知識點的單獨練習,不能進行系統全面的練習,使得其無法整體認識JAVA課程知識,在課程學完之后無法設計和實現實際綜合程序項目。這就導致了學生無法體會Java語言程序設計的內涵,動手能力和創新能力缺乏,而這恰恰是軟件從業人員所必須的素質。
(四)考核方式存在弊端
現今大部分的高校以統一封閉式筆試的形式對Java語言程序設計課程進行評估考核,以一份試卷的結果來確定課程的最終成績,而且在內容選取上也側重以理論知識考核為主,無法正確合理地評估學生上機實操編程、調試程序的能力。在這樣的考核標準下,學生大部分以機械記憶來應付考試,缺乏正確的學習目標,對于編程語言的探索鉆研和創新精神嚴重不足。該考核方式既不能正確評估學生學習效果,對于學生綜合能力培養也有很大的弊端。
(五)教師隊伍參差不齊
Java語言程序設計更是一門實踐操作的語言。教師應當有后續課程(例如“JavaEE技術”等)的教學經驗或者具備豐富的Java項目實際開發經驗,這樣才能很好地認識學生在實際操作中會遇到哪些問題并進行指導。然而,有許多教師都不具有上述條件,對于教學效果的影響也是不可忽視的。
三、Java語言程序設計教學改革對策探討
針對當前高校Java語言程序設計教學中出現的種種問題,必須針對問題“精準施策”,提升教學效率。具體來說包括以下五個措施:
(1)科學合理地設置教學大綱和教學目標
教學大綱是實現教學目標而設立的綱領性文件,它們相輔相成、缺一不可。將Java語言教學目標與軟件工程相關專業培養結合起來,形成系統的教學體系。這就要求學生不僅要學習Java語言的基本知識,還得對后續相關課程所涉及的知識點進行學習掌握。對于教師而言,在教學設計中應該結合Java語言教學和項目開發,引導學習建立“學以致用”的程序語言學習習慣,培養實踐能力。同時,在修訂或制定教學大綱時,必須從軟件開發整體考慮,既滿足本課程學習,又服務后續整體系統教學的要求。
(2)精選教材
在Java語言程序設計的教學中,選擇合適的教材至關重要。一方面Java語言程序設計相關教材眾多,但包含高級編程的教科書相對來說就很少;另一方面市面上大多數教科書都強調基本概念,對于知識點的應用部分相對較少,有的甚至沒有。故編寫一本適合本校本課程教學大綱的教科書就非常有必要。
(3)精簡教學內容,強化教學重點
創新教學方法,貫徹“精講強練”的教學理念,將教學重點專注于Java語言自身特性上來,對和其他語言類似的知識點或者內容,可以少講甚至不講,以布置作業讓學生自習的方式來完成,老師可以通過隨堂測試來對學生學習情況進行檢測,或者提出與這些知識點相關的常見問題,督促學生在老師的提問下完成這些知識點的學習。
1.對于Java的面向對象、傳統線程、繼承,Jdbc、Socket編程、Java輸入輸出流以及其他知識點,老師可以“精講”,讓學生“多練”。由于這些內容基礎性強,為了提高學生的學習積極性,難度的設置應當適當地降低。
2.對于Java中的動態代理和反射這部分內容,教師可以課前以電子文檔的形式發給學生讓其預期,通過采取課堂檢查的方式來督促學生完成任務,除此之外還可以在課堂上組織學生進行提問,對預習中學生遇到的問題進行講解,提高教學效果。對于泛型的講授,教師可以將JavaEE引入到案例中進行講解,這不僅可以提高學生對泛型重要性的認識,還可以讓學生掌握泛型的使用。
3.對于TimerTask類和Timer類的講授,教師可以通過一個較強趣味性的案例進行具體的講解,于此同時在課后要求學生完成一道難度適中的練習,提高學生對TimerTask類和Timer類的實際應用能力。
4.Executors、線程池的概念是Java中非常重要的知識點。線程池在許多項目中都有應用。因此,應該重點講解Executors的用法與線程池的概念,提高教學針對性。教師可以通過引入綜合案例來進行講解,比如在線考試系統,通過具體的案例講解能夠讓學生直觀地了解線程池的重要性和用法。
5.Jdbc是Java語言的另一個重要概念,基于它的基本用法,能結合Hibernate、Spring等來進行講授,讓學生對Java的持久化技術有所了解;另外對于一些常用的開源組件,可以以教師課堂講解和學生課后自習相結合的方式來進行。
(4)加強實踐教學
在Java語言程序設計課程教學中,實踐教學是一項重要環節,是以提升學生項目開發水平,促進學生綜合素質全面發展的一種有效教學形式。本課程的內在特點就要求理論教學與實踐教學有機統一,提高教學質量和學生學習效率。在實習過程中,必須貫徹以學生為中心、教師為指導的教育理念,注重實踐性教學環節,培養和提高學生通過實踐編寫軟件和程序的能力。教師在實習過程中要發揮好指導作用,鼓勵和引導學生進行各項實習任務,更注重實習過程而不僅僅但看結果。具體而言,實習環節可以分為綜合性實習和基礎性實習。
一方面,對于基礎性實習而言,應該以刺激學生的學習興趣為重點。緊扣實習內容進行理論課程的講授,將理論課與實習課中的面臨的實際問題結合起來,既詳細講授了理論知識,又解決了學生實踐中的問題,一舉兩得。在傳統的實習教學中,更強調老師的地位,弱化了學生主體性,學生被動接受老師的“知識灌輸”,一來教學方式枯燥無味,降低了學生的學習興趣;二來也不能充分發揮學生的主觀能動性,很難達到實習的預期目標。因此,必須進行改變。具體來說,可以在實習過程中引入JavaEE項目或者Java項目,引導學生完成類似的簡單項目設計,以便學生能夠掌握項目中Java語言知識點的特點和應用,這樣學生能從“點”上了解每個知識點的具體用法,也從“面”上掌握各知識點,達到點面結合的良好效果。
另一方面,對于綜合性實習來說,教師可以采用課程設計的教學方式來達到預期效果。在Java語言程序設計課程結課后,進行Java語言程序設計課程設計,課題難度應該適中,更注重知識的綜合應用,通過設計和實現綜合性強的項目來培養和提升學生程序編寫的能力與水平。
(5)優化考核方式
Java語言程序設計是一門實踐的學科,必須轉變傳統的期末筆試的考核方式,應采用筆試與實踐操作考核相結合的方式,既考察理論知識,也重視學生編寫能力,既能科學準確地對學生學習狀況進行考核,也能夠強化其對實踐操作的意識,提升其程序設計水平。
四、結束語
Java語言程序設計是注重實踐的學科,其目標就是要培養程序設計水平高、創新意識和創新能力強的應用型軟件設計人才。應當對當前高校Java語言程序設計課程教學中出現的問題予以高度重視。經過筆者多年的實踐教學證明,該課程改革取得了預期的效果,對于學生學習興趣的激發,理論與實踐的結合都有明顯的作用,希望能為各位同行提供一定的借鑒。
參考文獻:
[1]張麗君.Java語言程序設計課程教學改革探索[J].中國管理信息化,2017,20(03):208-209.
[2]李宏利,聶艷明,魚曉.“Java語言程序設計”教學改革探究[J].黑龍江教育(高教研究與評估),2017(04):17-18.
[3]史曉楠.基于OBE的Java程序設計教學改革研究[J].軟件導刊,2017,16(08):216-218.
[4]索望,昌燕,何林波.CDIO模式下Java程序設計課程教學改革探索[J].計算機教育,2016(09):111-114.
[5]劉李漫.淺談《Java程序設計》在民族類高校中的教學改革與實踐[J].現代計算機(專業版),2017(06):70-72.
(作者單位:長沙商貿旅游職業技術學院)