摘 要: 本文針對計算機軟件專業學生在《Java面向對象編程》課程中遇到的問題,提出了編程課程教學的新模式,以期可以讓學生更好地掌握編程技巧,在教學中將實踐能力的提高最大化,從而最終緩解計算機軟件專業畢業生的就業壓力。
關鍵詞: 《Java面向對象編程》 教學方法 教材改革 實驗教學
1.引言
在就業壓力越來越大的今天,計算機軟件專業的學生能夠熟練地使用一門編程語言在就業中的優勢是非常明顯的。Java語言由Sun公司于1994年推出,然后其開源、豐富的類庫、平臺無關性等優點吸引了無數的編程愛好者,隨著Java語言的不斷發展和互聯網應用的日益廣泛,Java從2001年開始就一直是應用最廣泛的編程語言,而且遙遙領先于第二名——C語言。美國《信息周刊》刊文評出有史以來最偉大的12款軟件,其中Java語言作為唯一入選的編程語言,被排在第五位。綜上所述,計算機軟件專業的大學生學習好《Java面向對象編程》課程是很有意義的,而實際上學生對于這門課程的掌握情況并不十分理想,這其中有教材選用、教授方式、實踐安排等各方面的原因。下面我就這些原因的形成提出解決方案,希望對于本課程的教育教學和學生后來的就業有所幫助。
2.問題解析
2.1教材選用
在繁雜的Java編程教材中選取一個適合本科教學和實踐的并不是一件容易的事情。有些教材側重于理論,基本是知識點的羅列和簡單驗證,這種教材類似于中學時代的數理化課本,學生對此類教材并不喜歡,感覺與實踐相去甚遠,不能將教材上的知識點與自己未來的工作和實踐應用聯系起來,因此提不起學習興趣;有些教材雖然實例很多,也比較注重實踐,但是由于講授內容過淺,學生學過之后感覺教材上的內容已經掌握,但是對于一個簡單的應用需求仍然無從下手,從而使學生對自己能力產生疑問;有些教材技術沒有及時更新,講授的內容已經不再適用,從而導致教授過程不理想;還有些教材雖然沒有上述的問題,但是提供的基于實踐的練習卻很少,練習少導致學生書上的例題都可以做出來,但是卻不知道如何舉一反三加以運用。
2.2教授方式
本課程的教學效果很大程度上依賴于教師的教授方式和教授方法。區別于其他專業課程,這門課的實踐意義要遠大于理論意義,所以使用何種教學方式就顯得尤為重要。經了解,目前大多數教師采用的教授方式有兩種:第一種教授方式是驗證式,即教師提出一個知識點,然后用一段程序加以驗證該知識點,然后繼續提出下一個知識點。這種方式給學生的感覺不是在教授一門實踐課程,而是在驗證一些理論知識,導致知識點與日后的應用嚴重脫節。第二種教授方式是總結式,其實就是第一種教授方式的倒序,即先寫一段程序,然后總結該段程序中出現的知識點。這種方式要比第一種效果稍好,但是一部分接受能力稍差的學生在這種方式下會感到特別吃力,因為一個知識點還沒有被提出,它就要先被應用到一段程序中,有些不知所以。
2.3實踐安排
對于編程類的課程,如何安排實踐是重中之重。大部分教材上的習題都過于側重知識點的考核,而不是如何將知識點加以運用,除了選取合適的教材之外,教師還可以自行安排一些旨在提高學生積極性和動手能力的編程練習,而不是嚴格地按照教材上的練習安排實踐或者隨意找些類似考級之類的題目來讓學生做。
2.4其他問題
除了上述三個問題之外,還有一些因素會稱為本門課程教學的關鍵點,比如多媒體教學的使用,IDE工具的選擇,知識的及時更新,安排模擬課程設計,等等。
3.解決方案
針對第2部分提出的本課程教學過程中存在的種種問題,我經過實踐和研究,總結出以下解決方案以供參考。
3.1選用編程從業人員中認知度較高的半工具書
棄用目前廣泛使用的本科教材,而改用編程從業人員中認知度較高的半工具書。目前的本科教材存在著嚴重的問題,比如大部分是知識點羅列,選用例題無新意,練習沒有針對性,知識結構老化,等等。另外,由于很多本科教材的編者自身并沒有在企業中有過實踐經驗,因此對一些行業規則和公共規范了解不多,導致采用了很多與行業規則和規范相悖的習慣誤導學生。而從業人員中認知度較高的半教程半工具書則不然,直接針對實踐,知識點更新速度更快,采用了規范的編程習慣,例題緊貼實踐,這些原因使得這一類工具書能夠很好地起到教學和實踐相結合的作用,我經研究和使用,效果很好。
3.2采用探索式教授方法
由于目前廣泛采用的驗證式和總結式教學方法都有其缺陷,因此我提出探索式教授方法。具體方法是,先提出一個現實生活中可能遇到的問題,然后思考現實生活中的解決途徑,將此途徑用代碼模擬實現,經過精心安排,在上述代碼中埋下下一個問題的伏筆,然后提出下一個問題,如此反復。探索式教學方法建立在實踐問題的基礎上,先探索在實踐中的解決方案,然后將該方案付諸于代碼實現模擬,再總結該代碼中出現的新的知識點和涉及的下一個問題,一節課結束之前在討論該節課涉及的知識點在其他方面的應用。
3.3合理安排實踐和習題
針對實踐環節中存在的問題,我提出如下方案。首先,將驗證式教學中的教師角色應用到學生身上,在探索式教學的基礎上,讓學生自行編寫例題驗證所有的知識點,并將程序保存為自己的類庫供以后參考學習。其次,針對知識結構適時安排恰當的練習,比如可以一些經常見到的小應用軟件、小游戲,作為實踐內容,既生動有趣,又可以鍛煉學生解決問題的能力,提高學生的編程技巧。我在實踐中就曾經將五子棋、掃雷游戲、貨存管理系統、梭哈游戲等作為學生設計實踐的練習,效果很好。
3.4其他
備課尤為重要,教師要不斷地更新自己的知識結構,掌握最前沿的技術動向。另外,在IDE工具的選擇上,我建議在學習初期最好使用純文本的編輯工具,以讓學生最大限度地了解Java語言的內涵和使用規則,熟悉各個關鍵字的拼寫和使用。而在提高階段為了提高效率可以適當使用IDE工具,并適當傳授一些工具使用的技巧。
4.結語
對于計算機軟件專業的學生而言,《Java面向對象編程》課程的重要性不言而喻,教師應該在教材選擇、教授方式、實踐安排等各個環節求新求變,爭取找到效果最好,最適合自己和學生的教學安排,在提高學生自身能力的同時,為國家的就業問題作出自己的貢獻。
參考文獻:
[1]Kathy Sierra,Bert Bates.Head First Java.中國電力出版社,2007.
[2]李相國等.Java實例精通.機械工業出版社,2009.
[3]李興華.Java開發實戰經典.北京.清華大學出版社,2009.