選擇國外經典教材,能保證我們的教學內容與國外接軌[7]。學生在閱讀英文原版教材的同時,可同時參考對應的中文翻譯本,能使學生加強對所學知識的理解。
1.3 選擇合適的實驗環境
由於JDK(Java Development Kit)是命令行的編程環境,需要用編輯器建立Java源程序。如果選用Windows自帶的記事本notepad來編輯程序,首先程序中若出現語法錯誤是很不容易被發現的;其次每次必須打開cmd窗口並輸入一大堆命令,如編譯命令、運行命令等;再就是對於applet小程序還要自編html文件,非常麻煩。但是,如果選用超智能、傻瓜型的集成開發環境,如JBuilder、NetBeans,因其耗內存,所以速度慢,慢到不能忍受;更重要的是不利於入門級的學生掌握Java的基本語法。因為Java上機實踐的一個重要訓練內容就是熟練使用Java編譯器(java.exe)去檢查語法錯誤,並能修改錯誤,這樣做的目的是使學生能較快地掌握Java語法。
本文簡要介紹一種既簡單又方便入門者使用的Java編輯器TextPad。TextPad作為Java編輯器需要做簡單配置,首先把TextPad裝上(先裝JDK),安裝完畢就可按下麵的方法配置:在菜單的Configure中選擇Preference,選擇Tools,點add下拉菜單,選擇Java SDK commands。之後Tools中多了3項:Compile Java、Run Java Application、Run Java Applet。從這一點來看它確實比其他的Java編輯器更容易配置,如EditPlus。
按上述方法配置TextPad Java編輯器後,還可適當優化TextPad Java IDE環境,使它更適合編寫、執行Java程序。優化環境方法在此省略,有興趣的作者可參見文獻[2]。
2 教學內容
根據多年的Java程序設計課程教學經驗,我們認為講授該課程的內容主要包括三個方麵:一是Java語言基礎;二是Java語言的新特性;三是在講授上述內容時穿插介紹JDK類庫的常用類。
Java語言基礎包括:數據類型、表達式、基本語句、類和對象、繼承和多態、異常處理機製、小程序、圖形用戶界麵設計、輸入/輸出、多線程、網絡編程和數據庫編程。考慮到我們麵授的學生已經掌握了C++麵向對象程序設計基礎內容,而且Java教學內容偏多、教學時數較少[8],因此對於衍生自C++的Java語言,它和C++類似的部分,包括數據類型和表達式、基本語句、類和對象、繼承和多態及異常處理機製等,應講授較少的學時數;而對於Java語言特有的部分,如小程序、圖形用戶界麵設計、輸入/輸出、多線程、網絡編程和數據庫編程,則應講授較多的學時數。由於篇幅有限,在此省去對每個章節學時數的具體編排。
1996年Sun公司發布了JDK1.0,在短短的十年時間裏,JDK從1.0版本升級到6.0版本。特別值得一提的是2004年發布的JDK5.0版本,它在舊版本的基礎上增加了一些非常有意義的新特性,比如,泛型編程、增強的for循環、自動裝包/拆包、類型安全的枚舉、可變參數和靜態導入等,使用這些特性有助於我們編寫更加清晰、精悍、安全的Java代碼。為了與時俱進,讓學生掌握較新的Java特性,我們認為很有必要在課堂上向學生傳授新技術,以拓寬學生的知識麵。
一方麵為了節約有限的學時數,另一方麵為了鼓勵學生在課餘積極使用、查閱JDK幫助文檔,我們不安排專門的章節介紹JDK類庫的使用,而是在講授Java程序例子時,將重點介紹一些重要類的使用,比如,在講授圖形用戶界麵這一章時,則會講授一些重要包的使用,包括java.awt、java.awt.event、java.applet、javax.swing等,概述這些包的類層次結構。這樣做既節約了時間,也使學生通過對例子的學習較好地掌握了一些常用類的使用。特別需要說明的是,容器類很重要,這些類在程序設計中會普遍使用到。
總之,在教學內容的選擇上,我們推崇簡化的原則,忽略一些不常用的知識點,如帶標號的跳轉語句、複雜的表達式運算規則、嵌套類等,這樣做既節約了課時,也能充分引導學生編寫簡單、可讀性好的程序代碼[4]。
3 教學方法
充分利用多媒體教學設施,為上課講述的例子做編譯、運行演示。對於學生編程時常常出現的錯誤,在編輯程序時可設置類似的錯誤障礙,讓學生修改錯誤,以杜決今後再出現此類錯誤,此外還能現場教會學生如何使用JDK TextPad開發環境。到了學期的中後期,鑒於學生們已基本掌握Java的語法,上課可適當減少演示例子的次數。