案例教學法是通過一個具體教育情景的描述,引導學生對這些特殊情景進行討論的一種教學方法。教師根據課程教學目標和教學內容的需要設計具體的教學案例,將需要解決的實際問題以案例的形式描述給學生,組織學生對案例進行分析、討論,讓學生在具體的問題情境中積極思考、主動探索,從而培養學生獨立分析問題的能力和獨立處理問題的能力,加深學生對基本原理和概念的理解,提高教與學的質量和效果的一種教學方法。
1 使用案例教學的必要性
在程序設計類課程的教學中,應把培養學生的實際應用能力作為首要目標。然而,傳統的教學模式多采用教師系統講授和學生上機操作相結合的方法,老師先講,學生后做。授課過程中,注重概念定義的講解,強調理論體系的完善,重視教學過程中的教師講授,學生多處于被動接受的狀態。上機操作的內容多是用來驗證課堂教學內容的程序,學生往往是照葫蘆畫瓢,知其然不知其所以然。久而久之便覺得程序設計枯燥難懂,漸漸失去學習興趣。案例教學法不同于傳統的灌輸式教學,在教學過程中它將抽象的理論化為直觀,容易為學生接受和學習,“做中學”的教學形式使學生變被動為主動,最快地完成從理論到實踐的過渡。隨著完成案例的積累,學生的理論知識水平和操作能力也逐漸提高,學生創造能力以及實際解決問題的能力也得到很好的發展。因此,要培養應用型人才,加強實踐教學環節,突出學生能力培養,案例教學是一種主要的、必不可少的教學方法。
2 案例教學在程序設計課程中的運用
2.1 教學案例合理設計或選擇
案例是把實際經驗引入課堂的一種有效工具。[1]案例教學所面臨的首要問題是如何合理地設計或選擇案例,也是案例教學的關鍵。因此,案例教學的設計應用要圍繞教學目的和教學內容進行,案例也相應地分為教學案例、實訓案例和綜合案例,用于不同的教學階段。同時,教學案例并不是簡單的舉例,而是要求案例所涉及的知識點要能涵蓋該課程的絕大部分知識。[2]案例設計時要從學生主體出發,設計或選擇利于學生理解、吸收的案例,而不一定要嚴格依照教材中知識的邏輯順序結構。因此,在案例教學的設計中應注意幾個方面的問題:
(1)系統性。
在教學案例的選擇上首先要注重系統性,教師應從整個課程的內容和知識體系出發,對課程各部分內容案例進行系統的籌劃。案例集要能覆蓋整個課程的各主要知識點,且能夠體現知識點之間的聯系,滿足教學目的和要求。各案例要重點突出、主次分明,不能喧賓奪主,盡可能的包括所需要掌握的知識點。同時,案例選擇要注意延續性,不能簡單的把教學內容轉換為一個個問題提出,選擇一個案例時要具有承前啟后的作用,在介紹新知識的同時,不僅要不斷復習鞏固舊知識點,還要能夠對之后要學習的內容有一定的擴展性。[3]
(2)實用性。
在案例的選擇和設計上應重視激發學生的興趣,要盡量接近生活實際,最好選擇一些有趣的、有實際意義的程序,學生對這些案例本身充滿了濃厚的興趣,有很高的積極性,不但鞏固了所學知識,而且讓學生在案例中體會程序設計的知識點和技巧,提高了其解決問題的能力。例如我們在講解《C++程序設計》課程中“面向對象程序設計方法”部分內容時,在圍繞著面向對象程序設計方法的特點,以“電話薄管理程序”為例,將具體問題抽象成通信錄和通信簿兩大塊,展開“類和對象、菜單管理、string類、查找和排序”各知識的學習。
(3)難易適中。
在案例教學中,把握案例的難易程度,有助于教師把握教學進度,提高教學效果。案例在教學中具有引導作用,設計、選擇案例時既要考慮學生的知識背景和能力,是否易于接受,同時也要考慮學生盡可能地學有所得。如果案例太難,學生將無從下手,給學生討論帶來分析上的混亂和實踐上的困難,只好消極地等待課堂的灌輸,就會失去參與的興趣;相反,案例過于簡單,則將降低了教學要求,由于沒有挑戰性,學生參與的積極性降低。因此,過于復雜或過于簡單的案例,都會導致學生學習興趣的下降;難度適中的案例更利于調動學生學習的積極性和主動性及知識的深入學習。隨著教學進度的推進,學生逐漸對知識積累,案例的難度要由淺入深、循序漸進。例如在計數型循環語句時,首先由案例“1+2+3+…+100=?”引入課程內容,講述計數型循環語句語法結構,再通過案例“2+4+6+…+100=?”和“1+3+5+…+99=?”歸納計數型循環語句中的各變量的設定使用。
2.2 組織實施案例教學
案例教學的一般流程是教師介紹案例背景給出任務目標,學生開展現場討論提出初步意見,之后就是在教師的指導下不斷的討論與實踐直至最終完成任務目標。[4]因此,案例的實施階段可分為閱讀階段、分析討論階段和小結階段三個過程。
案例的閱讀階段首先是讓學生清楚今天的學習任務,然后用少量課時簡要介紹概念性知識點或回顧與本課學習內容相關的舊知識,接著可通過閱讀、觀看、傾聽等案例展示方式,根據教師的要求從視頻或文檔等案例材料獲得有關案例背景,進入案例情境,了解、掌握案例中揭示的有關事實情況。
分析討論階段是學生根據教師的要求閱讀這些材料,分析案例的具體內容,考慮和計劃解決問題的方法。在這一環節,教師既是案例討論的組織者,又是引導者、講授者,注意突出重點、透析難點,讓學生嘗試通過已有的知識、推斷和意愿,在有或沒有實驗驗證的前提下,提出自己有關案例所提出或隱含的見解。討論可以是小組討論,也可以是全班討論。通過案例討論環節,讓學生計劃解決問題的方法,動手練習、解決案例中的問題,做到講練一體化,讓學生在不斷嘗試中得到新知。
小結階段是在學生案例分析、討論的基礎上,總結歸納出新知識點的特點和使用,還可以指出案例中需要進一步擴展、完善的功能或其他相類似的問題,留給學生課后探討實現的方法和思路空間,促使學生對所學知識得以鞏固和升華。
3 案例教學應注意的幾點
3.1 注意控制課堂討論的進度和氛圍
案例教學的實施過程中教師是引導者,要有較高的組織能力和駕馭課堂的能力,方能更好地實施案例教學。授課過程中,教師需處理好學生的接受能力不同、實際使用時間與預期案例實施時間不等的矛盾,以免影響教學進度;要善于掌握案例教學展示的主流方向,避免偏離主題,保證教學的進行始終在預定的軌道上;分析討論環節中,要以學生為主體,積極引導學生充分闡述自己的觀點和見解,供大家討論、切磋、補充,不隨意批駁學生的觀點,等等。
3.2 案例資源的積累和完善
實施案例教學將需要大量的教學案例來幫助學生理解知識點在案例中的實際應用。在程序設計課程的教學過程中,既要有貫穿于整門課程教學的項目案例,又要有適合于講解某個或某幾個知識點的知識點案例;且根據課程的需要,循序漸進,前后呼應。如果案例積累少、沒有系統性、針對性,將不能完全滿足教師和學生的需要。因此,教學中一定要做好案例的更新、改進、整理和積累,對案例資源庫進行及時的維護、更新、完善、補充。例如在案例實施過程中學生容易犯的各種錯誤、解決案問題的方法多樣化、需課堂和課后的提供擴展材料,教師應當及時整理和總結,不斷豐富完善課程的教學案例庫。經過教學實踐不斷檢驗的案例,將更利于今后的案例教學。
3.3 與其他教學方法相結合
案例教學與實際應用相結合的教學,使學生達到學以致用的效果,非常適用于程序設計語言的教學。但任何一種教學方法都有其局限性,案例教學法也不例外。在引導學生由具體向抽象的過程中,案例教學法涉及到所選案例的典型性和個別性特點,要求學生掌握那些抽象的概念、原理、規則等概括化知識時,容易產生思維上的障礙,因此,運用案例教學時,可采用傳統的講授法進行復習、小結,促進知識的概括與遷移。又如,為能夠將所需要掌握的知識串連起來,在階段教學結束后,采用項目驅動法圍繞案例的開發來講授和運用知識點,注意保持知識結構的完整性。總之,案例教學畢竟不是簡單地把設計好的案例逐個進行講解就可以達到教學目的的。只有靈活運用案例教學方法配合一些適當的教學方法,又如啟發式教學方法、討論式教學方法等,并結合學生實踐活動,以及現代化的多媒體技術和網絡通信技術來提供必要的技術保障,教學效果才會更加顯著。
4 結語
近年來,我校在計算機程序設計教學中不斷改革教學方法,試圖從提高學生動手能力、激發學生學習興趣方面著手,積極改革與不斷探索新的教學方法。我們在《VF程序設計》、《VB.NET程序設計》、《C++程序設計》和《Java程序設計》課程教學中陸續采用了案例教學法。學生們普遍覺得這種教學形式讓枯燥難懂的計算機語言難度大大降低,創新精神和實踐能力在“做中學”得到培養,程序設計課程的課堂教學效果得到了提高。今后還需我們在教學過程中,根據程序設計課程的特點,不斷地探討如何更好地實施案例教學。
參考文獻
[1] 萬德年,周小仨.計算機基礎教學案例的設計與創新[J].計算機教育,2009(4): 68~69.
[2] 苗冬霞.淺析“C語言程序設計”課程的案例教學[J].武漢工程職業技術學院學報,2006,18(2):90~92.
[3] 楊麗.案例教學在VB程序設計課程中的應用[J].科技信息(學術研究),2007(36):183.
[4] 鄭金洲.案例教學:教師專業發展的新途徑[J].教育理論與實踐,2002(7):37~42.