摘要:針對當前非計算機專業Java語言教學中的不足,研究Java教學方法和教學模式的改進措施。引進案例教學方法,探討案例教學在教學實施過程中的問題,包括確定教學目標、選擇教學案例、實施教學案例。通過將傳統教學和案例教學想結合,同時加強實踐教學環節,可提高Java課程的教學質量和教學效果,激發學習興趣,促進學生主動學習,增強他們的綜合實踐應用能力。
關鍵詞:Java程序設計;非計算機專業;案例教學;實踐
作者簡介:夏紅科(1979-),女,湖北隨州人,北京信息科技大學計算機學院,講師。(北京 100101)
中圖分類號:G642 文獻標識碼:A 文章編號:1007-0079(2013)35-0123-02
Java語言是目前流行的面向對象編程語言,在開發網絡應用程序和大型桌面應用程序方面均有很強的優勢。Java程序設計這門課程是國內外許多大學計算機專業的骨干課程,也是非計算機專業的一門熱門選修課程,其實踐性和應用型非常強。但是非計算專業的Java語言教學卻不盡如人意。傳統的Java授課方式依然是課堂講授知識點為主,通過驗證性實驗加以理解和鞏固。學生對單個知識點能理解,但缺乏綜合應用知識和解決實際問題的能力,不能熟練地用Java語言來編寫程序,因此教學效果不理想。
究其原因,應該是從學生的興趣和教師教學方法兩個方面來分析。如果學生沒有興趣,缺乏主動學習的熱情,自然不能在學習過程中發揮主觀能動性,也達不到很好的教學效果。而教師如果沒有采取適當的教學方法來引導、激勵學生主動學習,一味采用單一的講授知識方法,不僅完不成教學任務,也會讓學生隨課程的進展興趣越來越淡。這兩個方面的因素是互相影響的,因此在以教師為主導的課堂教學中,應采取不同的教學方法,并根據不同的教學內容以及學生狀態進行教學以激發學生的學習興趣和參與積極性,這樣有利于學生掌握理論知識并培養實際應用能力。
在Java語言課堂教學可實施的教學方法[1]中,案例教學是一種啟發式、互動式的教學方法,以案例操作為中心,把學生帶入到特定的教學情境中思考,圍繞著案例的討論、分析而展開,最終找到解決問題的方案,從而達到學習知識、培養能力的目的。這種探究式的教學方法以學生為主體,教師為主導,圍繞著案例展開,讓學生的思維在課堂是自始至終都處于活躍狀態。案例教學法能開發學生主動學習和創新的能力,在Java語言教學中應用這種方法能激發學生的學習興趣和積極性。下文將就案例教學法的開展過程分別進行介紹。
一、確定教學目標
在上課前通過面談或其它方式來了解學生的基本情況,包括學生所在專業、學習過的計算機類課程、選修Java課程的目的、期望學到的知識等等。由于學生的專業以及其他原因,在學習本課程之前存在著能力及水平差異,而他們對學習Java語言也有著不同的要求。
只有了解了學生的情況,教學才更具有針對性。通過這些方式,能夠明確教學對象的層次和水平,再結合教學大綱的相關要求,從而確定教學目標。
在選修Java課程的學生中,既有像自動化、通信這樣與計算機結合比較緊密的專業學生,學生的計算機基礎較強,學習了C語言、面向對象等知識,而且了解程序開發的基本過程以及不同的編程思想,同時具備一定的實踐動手能力;也有像工商管理、工業設計這樣和計算機專業關系不大的學生,除了自己個人的使用體驗外,學生沒有接觸過任何系統的專業知識,不僅是面向對象的基礎知識不了解,連C語言大都沒有掌握。這些不同的授課對象在學習Java語言之前的起點不一樣,而且今后學習的進度、掌握程度都會存在巨大的差異,因此在授課前,需要對學生的水平及能力了然于心,并采取有針對性的教學。
二、選擇教學案例
在案例教學法中,案例是基礎。[2]教學目標確定后,需要根據本單元的教學目的和要求來確定合適的案例。一個完整的案例應該包括已經學過的內容,以及未學過的新內容。選擇的案例應該是典型有代表性的,最好還具有實際意義、難度適中,在學生的能力范圍內能解決,能讓他們利用已學過的知識和新增知識能夠實現。這樣不但能激發學生的興趣,在所熟悉的領域內接觸到的實例可以讓他們更有熟悉感和共鳴感;而且充分鍛煉了他們對案例材料的組織分析能力、對問題的歸納能力、對知識綜合應用的能力。整門課程的所有案例設計應該從易到難,循序漸漸,逐步體現全部知識點。
例如,在講解Java的基本語法部分時,由于所有編程語言的語法部分都類似,講解過程也大致相同,對學生來講沒有什么難度,如果繼續按照和原來同樣的方式講解每一個細節知識的話,不但浪費時間,而且簡單乏味;而且如果選擇和案例還是與C、C++中的案例一樣的話就容易讓學生失去興趣,而且會忽視Java語言在語法上與這些編程語言不一樣的地方。因此選擇了一個計算銷售提成的案例,該案例與現實生活中的計算過程類似,員工收入由基本工資和提成組成,在不同銷售范圍內有不同的提成率。學生見到此案例,自然就有了興趣。
三、實施教學案例
在應用案例教學法的課堂教學中,基本過程[3]是:
(1)以案例激發興趣。在學習新內容前,先給學生演示實際的Java案例,讓他們了解案例功能,從而激起學生的興趣。興趣是最好的老師,學生根據實際體驗,對案例有了部分的熟悉,同時也樂于繼續思索,這樣激發了他們進一步學習的的欲望。
(2)依據案例講解知識點。并以此任務為主線,將具體的案例分解成若干簡單的任務,結合要學習的知識點,將這些簡單任務貫穿到課堂教學中,通過實際案例來學習Java相關知識。其中針對已學過的內容只需稍加提示,一帶而過,讓學生自己回憶具體用法并加以應用;而對于新的較難內容,則需要詳細講解。隨著案例中每一個知識點的掌握,每一個任務的完成,直到最終案例的實現,逐漸讓學生有成就感和自豪感,不僅可以消除學生學習過程中的畏難心理,又能增強學生的自信心。
在分析銷售提成計算案例時,不同的銷售額范圍對應著不一樣的提成率。可以利用條件判斷語句來實現這種分階段計算問題,具體實現是利用if或switch語句完成。但是需要強調的是,當某一個銷售額是較高數額時,計算出的提成實際上是有幾部分所組成,該銷售額中較低的部分是按照低提成率來計算,除去這部分后剩余的銷售額才需要按照較高提成率來計算出提成,所有提成額的總和是最終的提成數。這個例子乍一看很容易實現,但是經過分析后卻不盡如此。從筆者幾年上課的案例講解情況來看,有相當一部分同學直接是按照一個提成率來計算,無法得到正確結果,只有少數同學考慮此案例時能得到正確的方案。
(3)案例引申。隨著案例講解的結束,可以讓學生自己練習編程實現案例中難度大的部分,增強實踐動手能力。另外還可以將此案例引申到其他類似的問題,這類具有實際意義的問題與案例很類似,但有著特殊性,可以讓學生自己嘗試獨立分析、解決問題,鍛煉他們處理具體問題的能力。
例如,在銷售提成案例的基礎上,讓學生考慮解決一下個人所得稅的計算問題,根據不同的收入范圍及稅率來計算個人應該繳納的所得稅。像這類問題和實際聯系緊密,而且以后可能會和每個人都有關系,因此學生都是非常熱切地想解決問題,有很高的積極性。
在案例教學法的實施過程中,還有幾個問題需要注意:
(1)把握理論知識的講解。雖然案例教學中以案例講解為主,但不能忽視理論知識的講解,不能只介紹案例但是不講授知識點。案例分析前學生應該掌握必要的理論知識,否則無從談起。例如上述的銷售提成計算問題中,學生應該提前了解程序結構中的選擇結構,因此需要提前進行知識講解和說明。在每次案例的教學中,需要控制理論知識的講解時間,十來分鐘即可。過短的話學生尚未理解,過長則會占用案例的分析時間。
(2)處理講授與練習的關系。在對案例進行充分的分析、講解與討論后,需要留出一定的時間給學生進行編程,來實現具體的程序。實踐這一步必不可少,它是學生動手能力的一個具體體現。如果只是分析但是不會實現程序,依然是紙上談兵。而且在這個過程中,可以觀察學生在編程過程中常見的典型問題,并能加以解決,從而強化并鞏固學習結果。
(3)注意后繼知識的引導。案例講解后的擴展知識也非常關鍵。就計算機而言,課堂教學的知識有限,需要在課后自己嘗試學習更多的知識。如果教師在此過程中能充當學生的“學習引路人”,引導他們繼續學習后繼相關理論,并重點突出學習方法的培養,那么對于學生完整知識體系的建立以及綜合能力的培養必將大有裨益。
在上述銷售提成計算案例結束的時候,將此案例換一種角度來分析。如果涉及提成金額的話,應該怎樣計算銷售額。這個問題有多種解決思路,有的同學直接找到公式來計算銷售額,通過不同提成金額來使用不同的銷售額計算公式,這種方法較為直接簡單。另一種思路是利用插值逼近的思路求解,它利用了插值逼近算法的思想,雖然說算法的理解較復雜,但在實現上比較簡單,而且與機器的工作方式很一致,因此很值得向學生推薦。課堂上擴充了該算法的基本思想,讓學生課后自己編程實現,會讓他們對算法由理論到實現的整個過程都有了系統的認識,同時消除了算法的神秘性,為他們今后繼續學習高一級的課程打下堅實的基礎。
四、結束語
經過筆者幾年的實踐和探索證明,在Java語言教學中實施案例教學法是一種創新性教學實踐的方式。它不僅提高了學生的學習興趣,完善了知識體系結構,而且鍛煉了學生的實踐動手能力,在培養學生發現、分析、解決問題方面具有較好的作用,最終提高了教學質量,取得較好的教學效果。
參考文獻:
[1]夏紅科,徐莉.非計算機專業“Java程序設計”教學與實踐[J].中國電力教育,2012,(34):59-60.
[2]劉洋.計算機語言案例教學中的教學策略[J].中國科技信息,2006,(18):280-281.
[3]黃艷峰.在Java語言中實施“案例教學”的研究與探索[J].計算機教學與教育信息化,2010,(6):1148-1149.
(責任編輯:王意琴)