對於Java基本類庫的授課,根據多年的Java開發經曆和教學實踐,我們認為學生應該對基本類庫有個整體了解,要重點掌握 Java類庫中的Java.lang和Java.util兩個包,特別是容器類的應用是難點,需要結合實際例子闡述。這兩個包提供的是Java編程要用到的基本類,學生需要清楚這些類或接口的繼承關係、主要功能[5]。我們在授課時適當介紹JDK API文檔的使用和閱讀,提倡使用最新版本的英文API文檔;在教學中注意總結相關類的聯係和區別,如String和StringBuffer在使用上的區別,以及FileInputStream和RandomAccessFile在用於讀文件時的區別。
在實施Java教學時,應注意Java和C++的區別。Java和C++都是麵向對象的語言,而且Java衍生自C++,在基本語法及麵向對象特征方麵均有很多相同之處。比如,我們在講授Java的數據類型、常量、變量、表達式、語句、類和對象、繼承和多態等內容時,應著重指出它和C++的區別,簡略細節知識。這樣既能節約課時,也能使學生快速掌握Java的基本語法和麵向對象特征。
在學生掌握了Java的基本語法及麵向對象特征的基礎上,我們會考慮將重點放在圖形用戶界麵、多線程、網絡編程和數據庫編程上,以使學生能進行一般的Java應用編程。
如果課堂教學時數比較寬裕,則可介紹Java和UML、Java和設計模式相關的知識,強調軟件開發新技術,特別是對於軟件工程專業的學生,更應該這麼做。
4 教學實例
可將程序例子分為非算法型和算法型兩種類型。在介紹Java基本語法時,我們提倡用非算法型的例程,利於學生對例子程序的閱讀和理解。而在講授計算機典型問題,如排序、查找、遞歸時,則使用算法型的例程,以加強學生對一些典型問題的掌握。
在選擇例程時,以例程中是否含有JDK類作為篩選原則,目的在於能讓學生掌握更多的JDK類。
此外,在期中階段,可選擇一兩個遊戲項目作為綜合的例程,如用於Java學習的Robocode遊戲實驗項目。Robocode是IBM的一位工程師MatNelson用Java語言所創造的機器戰鬥仿真引擎,是一款專門為程序員設計的遊戲半成品。利用該引擎,隻要編寫幾行簡單的代碼,就可以創造出一個在屏幕上四處疾馳的機器人坦克,參加遊戲對戰[4]。這樣能增強例子的實用性和趣味性,調動學生學習Java的積極性。在此基礎上,再布置一個遊戲項目,作為學生在課餘時間的練兵題。
5 結束語
衍生於C++的Java語言,作為一種麵世較晚的語言,它集中體現和充分利用了若幹當代軟件技術新成果,如麵向對象、多線程、平台無關等[9],使其擁有眾多優秀的特性,從而成為麵向對象軟件開發的首選語言。
出於“Java程序設計”這門課的重要性和教學中存在的問題,本文提出了“Java程序設計”教學實施的諸多方麵,並在作者施教的班級進行了多次實踐,實踐表明,上述教學思路是可行的,能在一定程度上提高教學效果。
下一步我們將在“Java程序設計”實踐教學和後續課程改革方麵進行實踐探討。
作者多年從事Java教學和Java軟件開發工作,積累了一些教學經驗,本文將它提練總結,希望能給Java同仁一些啟示。
參考文獻:
[1] 秦學禮,汪迎,鄭淑紅.Java程序設計實用教程[M].清華大學出版社,2012.
[2] 劉正林等.Java技術基礎(第2版)[M].華中科技大學出版社,2004:30-40
[3] 印旻.Java語言與麵向對象程序設計(第二版)[M].清華大學出版社,2007.
[4] 葉恒舟.Java程序設計教學探討[J].科技信息,2007.1:23-25
[5] 李純玉,胡麗娜.Java語言程序設計教學中的幾點思考[J].科技信息,2007.2:10-13
[6] 張延軍,喬德軍,溫炎耿等.構建Java教學體係[J].邯鄲學院學報,2007.17(9):41-44
[7] 藍雯飛,鄭波盡.高級語言程序設計課程建設思路[J].計算機教育,2012.6:30-32
[8] 陸萍.淺議Java程序設計教學改革[J].電腦知識與技術,2007.27:32-35
[9] 石瑞峰,邊琦,馮小龍等.Java程序設計教程[M].清華大學出版社,2012.