李志輝
摘要:本文針對案例教學法在VB課程中的應用問題,提出了選取和設計高質量VB教學案例的總體思路,并通過實例進行了說明。
關鍵詞:案例設計;總體思路;VB程序設計;案例教學法
中圖分類號:G642 文獻標識碼:B
1引言
在當前教學改革的背景下,案例教學是一種應用廣泛的新型課堂教學方式。與傳統的教學方式(以教師為中心,重理論輕實踐,進行“填鴨式”知識灌輸,學生被動接受)相比,案例教學側重強調教學過程中學生的充分參與和主體地位的實現,教師引導學生運用科學的理論知識,去分析、歸納、演繹、推理、總結、反思典型案例,提高學生分析問題和解決實際問題的能力,促使學生自主學習、主動學習、合作學習。VB作為計算機程序設計語言類課程,因其操作性、實踐性、應用性、直觀性強(編程時采用圖形用戶界面開發環境),更適宜采用案例教學法。案例教學法以案例為中心來組織教學,案例是對課程中某一單元或環節知識的情境再現,在教學中占據中心地位。知識的運用和拓展、能力的培養與提高,都是借助典型案例來實現的,因此案例選取和設計的質量將對教學效果產生直接的影響。
2VB教學案例設計的總體思路
案例教學的關鍵是選取和設計教學案例。案例的選取和設計應以激發學生求知欲望,促進學生理解應用知識,提高學生分析解決問題的能力為根本出發點。為了使教學案例充分發揮其功能,取得良好的教學效果,案例的選取和設計應注意把握如下幾個總體要求:(1)教師應根據特定的教學內容設計教學案例,針對知識點選擇案例時要重點突出,主次分明,不能避難趨易或喧賓奪主;(2)選取和設計教學案例要有明確的目標,要兼顧知識本身的系統性,控制好分解的數量并留有伸縮余地,不能分解得過細;(3)選取和設計的教學案例要有延展性,不能是簡單地把教學內容轉換為一個個問題提出。案例應具有承前啟后的作用,在介紹當前知識的同時,既有已往知識的復習鞏固,又能對今后學習的內容有所涉及。當然,如果能兼顧學生的生活經驗和學科知識,并能顧及學生的趣味,那么教學案例必然能產生事半功倍的效果。正是基于以上幾點的考慮,筆者在VB課程的案例教學實踐中做了一些有益的嘗試,從而形成了VB教學案例選取和設計的總體思路。
2.1案例選取貼近生活,與學生專業相關
教學案例的設計和選取應與學生的生活、專業相關聯,只有這樣才能讓學生體會到程序設計的實用性,從而充分激發學生的學習熱情。
例如,本校學生都配有一張中國農業銀行卡,平時有很多學生會登錄中國農業銀行的個人網上銀行,使用“卡號登錄”的方式進入系統,查詢自己銀行卡的余額和交易情況。對圖1所示的登錄界面,本校學生是非常熟悉的,

而且學生發現每次重新登錄或刷新該界面時,密碼輸入鍵盤中的數字鍵順序都是隨機變化的。由于這個登錄界面跟學生的日常生活密切相關,而且用我們要講授的VB知識也比較容易實現,因此筆者在對其進行必要改造的基礎上,制作成了一個VB案例。在講授VB的多個知識點時,都借用了這個案例:(1)VB界面的設計以及控件的布局;(2)字符串函數的應用(如何實現“退格”命令按鈕的功能);(3)控件數組的應用(如何實現密碼輸入鍵盤中的數字鍵順序隨機變化)等,實踐證明學生的參與熱情很高,取得了不錯的教學效果。
由于VB課程可能針對不同年級的學生開設,因此關于教學案例與學生的專業相結合的問題,對于低年級學生和高年級學生應區別對待:(1)如果是為大一的新生開設的,學生對專業知識基本一無所知,這時候VB教學與專業結合較困難,但可以與學生高中所學的數學、物理和化學知識結合,教師在教學時可以選擇一些用來解決數學、物理和化學計算問題的案例進行講解,還可以結合學生常用軟件某些功能的實現來設計案例,例如Windows計算器的實現、Word軟件中查找/替換功能的實現等;(2)如果是為大二或大三的學生開設,這時候學生已有一定的專業知識,可以考慮課程教學與專業應用的結合。考慮到任課教師未必熟悉學生的專業知識,可以采用如下方法具體實施——VB任課教師與學生的專業課教師溝通,由專業課教師提出需求,給出相應問題的手工處理方法,然后由VB教師將其設計成案例。
2.2注重案例的趣味性,激發學生內在學習動力
興趣是誘發學習積極性和自覺性的內部動因,設計的案例如果能引起學生的興趣,將會大大激發學生的求知欲望,使學生在極大的興趣和迫切需要下,產生積極探究的動力,VB案例程序要在第一時間吸引學生的注意力,激發學生的學習興趣,應當具有趣味性和生動性。
例如,在講解VB中的Do…Loop循環語句時,筆者引入了一個關于折紙問題的案例:紙厚0.5毫米,進行對折,問對折多少次后,其高度會超過珠穆朗瑪峰(8848米)?
這個案例一呈現立即引起了學生極大的興趣,大家積極進行討論,連平時上課不怎么聽講的學生都參與了進來,有的學生簡單地憑借感性認識,認為這不可能,需要無數次,有的學生認為需要幾千次、幾萬次……,在學生熱烈的討論和好奇心的驅使下,教師很輕松地就引入了今天所要講授的知識點,學生也懷著極大的熱情參與教師的課堂教學,等待教師給出最終的答案來驗證自己的判斷。學生的興趣調動了,非常渴望學習,教學效果可想而知。
要讓學生對案例產生興趣,應注重兩方面的問題:(1)設計的案例難度相對于學生的認知水平應當適中,只有這樣才能激發他們的學習動機。因為按照阿特金森的成就動機理論,學生只有在學習那些“半生不熟”、“是懂非懂”、“似會非會”的東西時,才感興趣而迫切希望掌握它,因此設計案例前應了解學生的心理特點和認知水平。(2)設計的案例應貼近生活。日常生活現象是產生興趣的主要源頭,通過程序案例來模擬日常生活現象,必然讓學生覺得有無窮的樂趣。例如常用軟件功能VB實現的案例、典型小游戲VB實現的案例(“猜數”游戲、Windows中的“掃雷”等)、對現實生活中某些產品工作原理模擬的VB案例(模擬交通紅綠燈、秒表、溫度計等)等都會得到學生的共鳴。
2.3設計階梯性案例組,循序漸進引導學生
設計階梯性案例組是指按照教學內容內在的聯系設計一組逐步推進的案例,這組案例的典型特點是前一案例的學習為后一案例的學習作鋪墊,后一案例的學習在前一案例學習的基礎上進行,案例的難度逐步加大,但相鄰兩個案例之間的難度和跨度不大。使用這組案例教學采用的是一種循序漸進的方法,符合學生學習知識的一般規律。學生對學習的內容比較容易接受,有利于發揮學生在學習中的主體地位,從而促使學生主動、積極地學習。
例如,在進行VB循環結構的教學時可以設計下面一組階梯性案例,通過由易到難地呈現案例,引導學生逐步思考,達到理解循環結構知識的目的。
階梯組案例1:求和1 + 2 + 3 + 4 + … + n。
階梯組案例2:求和1 + 1 / 2 + 1 / 3 + 1 / 4 + … + 1 / n。
階梯組案例3:求和1 + 1 /3 + 1 / 5 + 1 / 7 + … + 1 / n。
階梯組案例4:求和1 - 1 /3 + 1 / 5 - 1 / 7 + … 1 / n。
階梯組案例5:利用公式 求圓周率 。
教師在講解循環結構的實例時,如果直接給出階梯組案例5,沒有前面的4個階梯組案例作為鋪墊,學生會覺得有難度,一下子無從下手,也不太容易理解教師所講解的內容。
設計階梯性案例組要注意以下問題。
(1) 案例組中的最后一個案例是我們教學的目標案例,其余的案例是為方便目標案例的教學所作的鋪墊,是為輔助目標案例的教學而設計的。
(2) 案例組中第一個案例的起點要低,足夠簡單,比如簡單的求累加和問題、連乘問題等。
(3) 案例組中各個案例的難度逐步加大,但相鄰的兩個案例難度跨度較小,應盡量符合美國著名的教學心理學家斯金納提出的編制程序教學流程的“小步子原則”。
2.4恰當遷移案例,提高學生舉一反三能力
對案例進行遷移,是指在教學過程中,在原有案例的基礎上逐步改變或增加一些條件,就可以過渡到新的案例,從而把應用進一步引申到其他問題上,以此提高學生舉一反三的能力,同時也提高學生主動發現問題、解決問題的能力。
例如,筆者在講述VB中的計時器控件前,首先由圖2這個簡單案例引出了計時器控件,方法是先向學生展示這個案例程序的功能,就是“單擊一次命令按鈕,文字就從左往右水平移動一段距離”。學生根據已有知識,很快就知道如何實現這一案例程序;然后提出一個新的問題:“這樣操作太機械化,能不能不需要人的干預而讓文字自行移動呢?”,在這一問題的引導下,向學生講授了計時器控件的相關屬性和事件等新知識后,學生很快就解決了新問題,寫出了如下程序代碼:
Private Sub Timer1_Timer()
Label1.Left = Label1.Left + 200
End Sub
針對上述案例代碼可以不斷改變條件,提出新的問題,引導學生進一步思考:
(1) 當文字移動到窗體右邊界后就會消失,如何讓它從窗體的左邊界重新出現?
(2) 如果要讓文字從右向左水平移動,應如何修改程序?
(3) 如果要讓文字從上往下沿垂直方向移動,應如何修改程序?
(4) 如果要讓文字沿指定的路線移動,應如何修改程序?
(5) 如果要手動控制文字是否繼續移動,應如何修改程序(展示計時器的Enabled屬性作用)?
(6) 如果要控制文字移動的速度,應如何修改程序(引入滾動條控件的知識)?
通過案例的恰當遷移,可以產生一個接一個的新問題,用這些新問題牽引著學生的思維,讓他們不停地跟著教學內容思考,而不是一味被動地接受教師知識的灌輸;案例的恰當遷移,使得新案例產生于舊案例,舊案例引出新案例,舊案例和新案例之間平穩過渡,可以讓學生對知識點理解得更加透徹,在教師一步一步地引導下做到融會貫通。
要使案例具有良好的遷移性,教師必須抓住VB各個知識點之間的聯系,整體地系統地研究教學內容,將各個知識點的關聯變成各種問題,根據問題的難度來巧妙地設計案例。

2.5制造錯誤案例陷阱,強化學生對模糊知識的理解
“吃一塹,長一智。”人們在認識事物獲得認知時,往往出錯、碰壁比不犯錯誤、一帆風順更能增強印象,加深記憶。基于這一點,在設計案例時,我們可以專門針對學生容易出錯和可能模糊的知識點來設計錯誤案例。在課堂上講授相關知識點時,通過演示錯誤案例,學生會容易發現程序調試不能得到正確的結果,這必然引起學生的困惑與思考,進而達到吸引學生注意力的目的;然后學生在教師的啟發引導下找出錯誤、改正錯誤,得到正確的程序代碼。這樣的處理方法可以明顯加強學生對模糊知識點的印象。
例如,在講授VB的多分支選擇結構的執行流程時,筆者談到“不管有幾個分支,程序執行了一個分支后,其余分支不再執行”,總結以前的教學經驗,發現學生對這句話的含義理解比較模糊,在編寫多分支選擇結構的程序時經常弄錯各個分支出現的先后順序。針對這一問題,筆者設計了一個錯誤案例,如下所示。
編寫程序,將學生的百分制成績轉換成對應的五級制成績。
Private Sub Command1_Click()
Dim Cj As Single
Dim Dj As String
Cj = Val(Text1.Text)
Select Case Cj
Case Is >= 60: Dj = "及格"
Case Is >= 70: Dj = "中等"
Case Is >= 80: Dj = "良好"
Case Is >= 90: Dj = "優秀"
Case Else: Dj = "不及格"
End Select
Label3.Caption = Dj
End Sub
上述案例在演示時,學生很快發現在文本框中輸入90分、80分后,單擊命令按鈕,程序顯示的成績等級都是“及格”,覺得比較困惑,很想知道原因,這時候再給學生具體闡明VB中多分支選擇結構的程序執行流程問題,學生印象就非常深刻了,以后就很少犯類似的錯誤了。
2.6用綜合性案例貫穿教學,讓學生把握知識的有機聯系
如果在VB的教學過程中,我們選用的案例過多,過于零碎,就會導致學生在學完這門課程后僅會孤立地做一些簡單的小程序,不能綜合運用所學的VB知識來開發一個功能相對完整的應用系統。所以在設計VB教學案例時,最好能精選3~5個綜合性案例,或僅選用1個規模較大的綜合性案例(可簡稱為大案例)來覆蓋或貫穿全部的課程教學內容。
具體教學時以貫穿整個學期的綜合性案例為中心,以此案例引導學生進入要學習的知識點,在舊知識的基礎上運用新知識,逐步將案例完善。隨著案例的完善,學習的新知識點也融入案例,這樣逐步擴張地完成一個綜合性案例項目的教學與開發。由于這些綜合性案例將VB知識點有機地結合在一起,便于學生對VB知識結構的整體認識,同時學生對軟件的開發也能初步形成一個整體性概念。
采用綜合性案例進行教學,可以選擇從第一堂課開始,也可選擇在一個學期的最后一個月進行,筆者采用的是后一種。在講授完VB的基本知識后,筆者會引入一個綜合性案例“客房管理系統”,這個案例基本上覆蓋了VB課程教學要求學生掌握的主要知識點。對這個綜合性案例的講授遵循了軟件項目開發的一般步驟,從需求分析開始,過渡到功能分析,逐步引導學生完成系統模塊的設計、數據存儲的設計、輸入輸出界面的設計,到最后完成代碼的編制、調試、運行等一系列過程。為了讓學生充分體會到用文件和數據庫管理數據的區別,我們分別用這兩種數據管理方式實現了系統,通過這種處理更讓學生有機會深刻地感受到用數據庫管理數據的優勢。
3結束語
當然,高質量的教學案例,對保證案例教學取得令人滿意的教學效果有著至關重要的作用,但案例教學畢竟不是簡單地把設計好的案例逐個進行講解就可以達到教學目的的。它還需要配合使用一些適當的教學方法,比如啟發式教學方法、討論式教學方法等,并要結合一些實踐活動,同時也需要現代化的多媒體技術和網絡通信技術來提供必要的技術保障。
參考文獻:
[1] 唐小燕,吳斌,魯大林. 傳統教學與案例教學在《VB程序設計》教學中的實施效果分析[J]. 教育信息化,2006(10):63-65.
[2] 吳海珍,蔣加伏. 關聯案例教學法在“VB程序設計”教學中的應用[J]. 計算機教育,2009(12):52-54.
[3] 李明,宣善立,冷金麟. 斯金納教學理論在程序設計課程中的應用[J]. 計算機教育,2008(14):75-76.
[4] 孫振坤,孫斌. 條件遷移法在VB教學中的探索與實踐[J]. 計算機教育,2008(11):47-48.
[5] 張廣群,汪杭軍,王保平. 問題驅動模式在VB教學中的應用研究[J]. 計算機教育,2008(22):139-140.
[6] 王冰. C語言程序設計課程教學方法的探討[J]. 計算機教育,2009(2):142-144.
[7] 葉品菊. 案例貫穿式教學法在VB程序設計教學中的應用[J]. 安徽電子信息職業技術學院學報,2007,6(5):53-54.
[8] 陳龍猛,王保桂,李吉忠,等. 大案例教學法在Visual Basic程序設計教學中的探究[J]. 計算機教育,2008(5):59-62.
General Approach to Design of VB Teaching Case and Its Explanations with Examples
LI Zhi-hui
(School of Computing, Hubei University of Economics, Wuhan 430205, China)
Abstract: This paper presents the general approach to design of the high-quality VB teaching case, and gives the explanations by means of the examples in allusion to the problem about application of case teaching method in VB course.
Key words: case design; general approach; Visual Basic programming; case teaching method