摘 要: 作者針對Java程序設計語言教學中存在的弊端,依據實際教學經驗,提出幾點課程改革的建議。教師應本著“淡化理論,強化技能訓練”的教學原則,提高學生的學習興趣,讓學生多閱讀經典案例,多參與實際的項目開發,以提高實際的編程能力;期末考核亦注重實際操作。實踐證明,這樣的教學模式可提高該課程的教學質量。
關鍵詞: 《JAVA程序設計語言》 課程建設 教學方法
1.引言
Java程序設計語言是計算機類、信息類等專業的重要課程之一,它是一種純面向對象的程序設計語言。因為它具有平臺無關性、安全機制、高可靠性、多線程和內嵌網絡支持的特性,已成為2l世紀首選的應用程序開發工具。與其他課程相比較,本課程更要求理論與實踐的統一,更強調學生綜合素質的培養,被公認為是一門難學難教的課程,好在學生也可以通過實踐和學習掌握設計和編程的技巧。
程序設計是一種構造性的技術,程序語言本身枯燥難懂,更何況該課程一般安排在大學第一、二學年,學生的認知能力和邏輯思維水平、抽象思維水平還處于逐步發展完善階段。如何將該課程建設成教學質量高、學生滿意又感興趣的課程,是該課程教師要重點要解決的問題。傳統的教學已不適應該課程的教學,下面我針對Java語言的特點,結合近幾年的教學經驗,談幾點Java程序設計課程建設的方法。
2.使學生對這門課程感興趣,充滿信心
Java課程被學生公認為比較枯燥,學生往往對對它望而生畏。愛因斯坦曾說:“興趣是最好的老師。”學生真正喜歡它,才能真正學好它。教師可通過創設一定的學習環境展現課程的趣味性和社會實踐意義,以喚起學生的學習欲望,激發學生的創造潛能。在實踐教學過程中,可結合具體課程知識,有針對性地設計實現一些有意義、有趣味的小程序。在學生提出新的創意、寫出一段完整的程序或表現出一定的進步時,要及時給予表揚鼓勵,使其樹立學好該課程的信心。一些學生內向、害羞,碰到問題不敢向老師提問,影響了學習積極性。教師在課堂或機房中要多留意這些不發言不提問的學生,主動和他們交流,幫他們解決問題,并予以鼓勵,激發他們學習的欲望和信心。
比如講解圖形界面設計時,同一個通訊錄界面(如圖1),先通過寫代碼的方式實現該界面,然后通過基于EclipseIDE和VisualEditor插件的Java可視化應用程序實現該界面(如圖2),讓學生在比較兩種實現方式中發現樂趣,提高學習的興趣。
圖2 基于VisualEditor插件通訊錄設計界面
3.綜合采用多種教學手段
對Java語言的教學,教師大多引入了多媒體的教學手段,在很大程度上避免了傳統的課堂教學模式的不足。但多媒體教學并不是萬能的,它的運用必須既恰當又靈活,否則容易適得其反。如果將事先編好的程序直接顯示給學生,然后從頭至尾地逐句介紹程序,學生學習的效果很可能不理想。這樣的教學方式缺乏程序設計思維的引導,學生只是被動地聽,或許能夠明白程序代碼的意義,但是自己卻不知道該如何設計程序,往往容易導致培養出只會考試,但不會編程的學生。所以,必須切換使其互補,對重點、難點內容,以及問題的推理過程,教師仍需要進行必要的板書,結合傳統教學方式。比如:講解圖形界面設計時,一邊投影整體界面效果(圖3),一邊板書,將界面中容器和組件的關系和布局解釋清楚(圖4)。這樣學生就可以緊跟著老師的思路去思考如何用語句實現界面的設計。但如果采用將完整的程序投影,然后逐條講解,學生容易分散注意力,影響學生自己動腦筋去思考,不利于鍛煉他們的編程思維。
圖4 板書內容
4.建立資源庫和項目庫,多閱讀別人的代碼
在學習Java編程語言時經常閱讀一些優秀的源碼,對自我提高、開闊視野非常重要。大多數院校開設程序設計課程,學生手里的教學資源一般只有教材,有的還有習題集。互聯網的普及和廣泛應用使獲取資料的方式發生了重大的變化,比以前更加便利、快捷。但同時,這種變化也帶來新的問題,由于資源的數量過于龐大,對信息進行有效的查找和篩選,對于當代大學生而言,已經成為必不可少的一項技能。教師可建立資源庫和項目庫。資源庫是相關知識點的描述,其中可用精簡的小案例作為知識點的示例;項目庫是將一些經典、實用、比課堂用例子復雜,適合學生獨立閱讀的項目組織在一起。學生在初學知識點時可以翻閱資料庫,知識點掌握后,可參閱項目庫中相關的案例,提高自己的閱讀能力。
5.采用項目驅動的教學方式,多動手,讓學生參與實際的項目開發
蘇霍姆林斯基說:“讓學生面臨問題,因為問題能喚起強烈的求知欲。”在教學中,教師可將企業中真實的項目合理地拆解與組織后應用到課堂中,課后可布置多個趣味性較強的小型項目,要求學生分小組完成,讓學生按照軟件開發的流程和面向對象的思想獨立完成系統分析、概要設計、系統實現和軟件測試。布置這樣的項目對提高學生的編程能力有很大幫助,容易調動學生學習積極性,進而提高他們的編程能力。另外,這類項目的復雜程度大于一般的作業,可能會包含一些課堂上沒有講解過,教材中也沒有描述過的知識點,促使學生通過提問、圖書館查閱資料,或上網搜索相關知識點等來解決問題,可以有效地提高自學能力、閱讀代碼的能力和編程能力,也為后續課程的學習打下良好的基礎。項目要求學生以小組的形式完成任務,可鍛煉團隊合作的能力,使學生的整體水平得到有效的提高,驗收時可采取答辯方式,對小組完成的項目,設置相關的問題,要求小組每一個成員都必須回答1—2個小問題,并根據答辯的結果給出成績,可避免互相抄襲、渾水摸魚等弊端。
6.培養學生養成良好的編程習慣
未來對軟件質量的要求高于對性能和功能的要求,特別是一些涉及人身財產安全方面的軟件。然而時至今日,軟件質量問題依然不容樂觀,由軟件質量問題導致的人身財產損失數不勝數。良好的編程習慣可以大大提高軟件開發的速度與質量,減少人為錯誤。編程習慣是指編者在程序設計過程中共同遵守的一些規則或者約定,目前對編程習慣并沒有一個完整的定義,但很多業內人士總結了一些優良的Java編程風格,如命名、縮進格式、注釋、空格使用,等等。盡管這些風格并不難理解,但初學者所接觸的軟件比較簡單,往往體會不出這些編程風格的好處,反而覺得是一種束縛,并不重視。在教學實踐中,可采取多種方式強化良好編程習慣。一是適當列舉一些軟件質量軼事,強調編程風格、軟件質量的重要性;二是身體力行,在教學過程中嚴格遵守一些好的編程習慣,如果確實因為板書或時間的原因不能遵守,則專門做出說明,指出這些地方做得不好;三是通過實例分析比較,強調良好的編程習慣的優勢;四是在實踐教學環境中及時發現并糾正學生的不良編程習慣。
7.考核形式
考試作為教學效果的一種客觀測試手段,是教學中的—個重要環節。目前,多數高校對Java課程的考試方式仍然采用傳統的方式,成績分成平時考核和最終考核兩個部分。平時的考核一般通過到深情況、課堂問答情況、平時作業等方式來體現,最終考核一般通過期末筆試來體現。這種方式只注重對學生理論知識的考核,而忽視了對學生實踐操作技能的考核,其結果往往很難反映一個學生的真實水平和創新能力,更會降低學生對實踐的重要性的認識。我們根據Java的課程特點,在傳統的筆試考核之外,增加了平時上機考核和項目設計考核。平時上機成績占20%,期末考試成績占40%,項目設計成績占40%。
8.結語
隨著Java語言近年來的興起和社會的需求,好的教學方法對培養學生的軟件編程能力起著非常重要的作用,傳統的教學方法已不適合本課程的教學。我結合JAVA語言的特點和教學經驗,對教學方法進行了一定的探討,其中提高學生對該課程的興趣是最為重要的,在此基礎上提高教學質量和學生動手能力是必須重視的問題。這樣才能培養出適合社會需求的人才,促進我國軟件行業的進一步發展。近幾年的教學經驗證明,采用上述方法可大大提高學生的實戰能力和動手能力。
參考文獻:
[1]王紅霞,僧德文.案例教學在Java課程中的應用[J].浙江水利水電專科學校學報,2009,2,(2):107-109.
[2]張劍飛.Java教學中提高學生應用能力的策略研究[J].高師理科學刊,2009,6,(29):98-100.
[3]李明.Java語言的學習過程曲線[J].計算機教育,2009,24:115-117.
[4]張亞利,郭麗.以Java為例淺談程序設計課程的教學方法[J].新課程改革與實踐,2009,8,(4):18.
[5]單田華.《Java語言程序設計》課程改革與教學實踐[J].考試周刊,2010,(4):18-19.
基金項目:上海海洋大學重點建設課程項目。