摘 要: 在互聯網和大數據時代,Java語言是一種重要的編程工具。本文主要討論如何采用案例教學法開展《Java程序設計》課程教學,及今后教學應完善的環節。
關鍵詞: 案例教學法 《Java程序設計》 實施步驟
隨著互聯網的飛速發展及大數據時代的來臨,基于Web的服務應用開發及對大數據的存儲、挖掘等都需要大量的軟件工程師。Java語言由于其面向對象、跨平臺、分布式、安全等優良特性而成為眾多IT企業首選的開發工具。根據TIOBE2013年10月份發布的編程語言排名榜,Java語言從業人員占16.107%,排在第2位,僅次于C語言(占17.246%)。有人預測,2013年中國的軟件產值將突破8萬億元,這無疑為信息類專業的大學畢業生提供了廣闊的舞臺。然而,實際情況卻差強人意,一方面是IT企業急需Java程序員,另一方面信息專業的很多應屆畢業生卻為找不到工作而發愁。表面上看是學校培養的人才不符合企業的直接需求,其實直接原因是學校內的課程教學沒有達到好的教學效果。目前,很多高等院校都采取“課堂+實驗”的教學方式。在這種教學方式下,教師根據教材在課堂上利用課件講授理論知識,課后組織學生做少數幾次實驗。這種教學方式違背了Java語言的學習規律,導致的直接后果就是學生對面向對象的思想理解不深,動手能力差。近些年,有些學校就《Java程序設計》課程的教學大綱、教學方法、教學手段、實踐教學、雙語教學等諸多方面開展了教學改革,并取得了較好的效果。筆者所在學校也開展了該課程的教學改革實踐。接下來,筆者就介紹如何在《Java程序設計》課程教學中實施案例教學法的策略。
一、案例教學法的優勢
案例教學法,雖然在古代的教學中也有應用,但其正式出現可以追溯到1870年哈佛大學克里斯托弗·哥倫姆布斯·朗道爾(Christopher Columbus Langdell)教授的《合同法案例》一書。[1]所謂案例教學法是指在課堂教學中以真實的案例為載體來組織內容的一種教學方法。案例教學法符合人的認知規律由感性認識(案例)到理論認識,很受學生歡迎,因而,它被廣泛應用到諸如法學、MBA、醫學等多個學科的教學中。最著名的例子當屬哈佛大學商學院和法學院采用案例教學法取得的成功。例如,美國500強企業中三分之二的高層決策者畢業于哈佛大學商學院,1998年全美前500位律師事務所的創立者二分之一畢業于哈佛大學法學院。[2]這樣的成績得益于兩家學院均采用了案例教學法。
二、案例教學法在《Java程序設計》課程教學中的組織實施
案例教學法貫穿課前構建案例、課堂演示案例和課后加強編程練習三個階段。
1.課前構建案例
案例教學法實施的效果與教師所選案例密切相關。好的案例能起到良好的教學效果,反之,則會降低學生的學習興趣。那好、壞案例的評價標準又是什么呢?我認為好案例應符合三個標準:(1)案例具有簡單的結構。教師在選擇案例時,應考慮選擇直觀、簡單的,避免太過復雜的案例。(2)案例應接近學生的認知水平。應選擇那些學生日常能夠接觸到、便于理解的,而不要選擇那些遠離實際的、抽象的案例。根據教學經驗,學生對熟悉的事務有親切感,也更愿意順著教師的思路聽下去,也就是“深入淺出”。(3)案例包含教學大綱的所有知識點,允許案例之間具有連貫性,但案例之間不能包含過多的重復知識點。案例應該圍繞課程大綱來組織安排。與教學大綱無關的案例即使生動,也不能用做課堂案例。案例所蘊含的知識點應該覆蓋大綱的知識點,內容重復度過高的案例應該盡量減少。筆者在上課前根據上面3條標準,圍繞根據教學大綱,從教材、互聯網及參考書等多方面搜集素材,精心選擇教學案例。例如,在講授java多態性時,筆者會選擇一個簡單明了的案例來闡述多態性機制。首先,構建一個Geometry類,該類具有computeArea()方法。然后在這個類下派生出Triangle類,Rectangle類,Circle類,并在這些子類中重寫computeArea(),覆蓋父類的方法。最后,在main()方法,生成每個子類的對象,聲明父類的變量,讓父類變量引用子類對象。通過“父類變量名.computeArea()”來完成每個對象的面積計算。學生通過這個案例就會發現,即使都調用父類變量名.computeArea(),但調用的方法卻完全不一樣,這是由于父類變量名所引用的對象不同而導致的。程序在編譯時并不清楚調用哪個方法,只有在運行時才能捆綁具體的方法。一邊演示這個案例,一邊描述程序運行機制,則學生很快就會明白Java的多態機制,這比單純講解抽象理論要好得多。
2.課堂演示案例
隨著教育技術的發展,越來越多的課程使用多媒體。然而,大多數教師局限于課前把教學內容詳細地制成PPT幻燈片,課堂上邊講解邊放映給學生看。這種方式很難使學生在課堂上集中注意力,在課后也很難記憶內容。課堂演示案例要求除了核心的知識用PPT表現以外,所有案例的代碼必須在課堂上逐條輸入。這樣,一方面能讓學生熟悉Java的基本語句,另一方面可讓學生進入編程狀態。在課后與學生交流時發現,大多數學生表示感覺編寫代碼不像以前那樣高深了,而是一件非常有趣的事,尤其是課堂上觀看了老師編寫代碼的全過程后,有立即想寫代碼的沖動。
3.課后加強編程練習
按照教學大綱,《Java程序設計》課程只有12個課時。對于任何一門編程語言來說,這些實驗課時都是遠遠不夠的。因此,教師應該布置與課堂教學同步的適量的操作題給學生,讓學生在課后完成,以加深對知識內容的理解,鞏固課堂所學的知識。
實施了一個學期的《Java程序設計》案例教學后,筆者發現學生對Java的學習興趣明顯較往屆學生要高,動手編程能力也較強。但也存在不足,例如:包括課堂教學視頻、教學案例、在線學習等多種形式使網絡教學資源有所缺失。這也是在以后的教學中要不斷完善的地方。
參考文獻:
[1]張潤蓮,張向利,葉進.案例教學法及其運用[J].桂林電子工業學院學報,2004,24(4):102-105.
[2]李嵐.案例教學法探析[J].云南財貿學院學報,2004,20:347-349.
基金項目:邵陽學院教改項目Java程序設計課程教學改革研究與實踐(編號:2012JG14)和湖南省教改項目(編號:[2011]315號352)。