李志輝
摘要:本文針對案例教學(xué)法在VB課程中的應(yīng)用問題,提出了選取和設(shè)計(jì)高質(zhì)量VB教學(xué)案例的總體思路,并通過實(shí)例進(jìn)行了說明。
關(guān)鍵詞:案例設(shè)計(jì);總體思路;VB程序設(shè)計(jì);案例教學(xué)法
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
1引言
在當(dāng)前教學(xué)改革的背景下,案例教學(xué)是一種應(yīng)用廣泛的新型課堂教學(xué)方式。與傳統(tǒng)的教學(xué)方式(以教師為中心,重理論輕實(shí)踐,進(jìn)行“填鴨式”知識灌輸,學(xué)生被動接受)相比,案例教學(xué)側(cè)重強(qiáng)調(diào)教學(xué)過程中學(xué)生的充分參與和主體地位的實(shí)現(xiàn),教師引導(dǎo)學(xué)生運(yùn)用科學(xué)的理論知識,去分析、歸納、演繹、推理、總結(jié)、反思典型案例,提高學(xué)生分析問題和解決實(shí)際問題的能力,促使學(xué)生自主學(xué)習(xí)、主動學(xué)習(xí)、合作學(xué)習(xí)。VB作為計(jì)算機(jī)程序設(shè)計(jì)語言類課程,因其操作性、實(shí)踐性、應(yīng)用性、直觀性強(qiáng)(編程時(shí)采用圖形用戶界面開發(fā)環(huán)境),更適宜采用案例教學(xué)法。案例教學(xué)法以案例為中心來組織教學(xué),案例是對課程中某一單元或環(huán)節(jié)知識的情境再現(xiàn),在教學(xué)中占據(jù)中心地位。知識的運(yùn)用和拓展、能力的培養(yǎng)與提高,都是借助典型案例來實(shí)現(xiàn)的,因此案例選取和設(shè)計(jì)的質(zhì)量將對教學(xué)效果產(chǎn)生直接的影響。
2VB教學(xué)案例設(shè)計(jì)的總體思路
案例教學(xué)的關(guān)鍵是選取和設(shè)計(jì)教學(xué)案例。案例的選取和設(shè)計(jì)應(yīng)以激發(fā)學(xué)生求知欲望,促進(jìn)學(xué)生理解應(yīng)用知識,提高學(xué)生分析解決問題的能力為根本出發(fā)點(diǎn)。為了使教學(xué)案例充分發(fā)揮其功能,取得良好的教學(xué)效果,案例的選取和設(shè)計(jì)應(yīng)注意把握如下幾個(gè)總體要求:(1)教師應(yīng)根據(jù)特定的教學(xué)內(nèi)容設(shè)計(jì)教學(xué)案例,針對知識點(diǎn)選擇案例時(shí)要重點(diǎn)突出,主次分明,不能避難趨易或喧賓奪主;(2)選取和設(shè)計(jì)教學(xué)案例要有明確的目標(biāo),要兼顧知識本身的系統(tǒng)性,控制好分解的數(shù)量并留有伸縮余地,不能分解得過細(xì);(3)選取和設(shè)計(jì)的教學(xué)案例要有延展性,不能是簡單地把教學(xué)內(nèi)容轉(zhuǎn)換為一個(gè)個(gè)問題提出。案例應(yīng)具有承前啟后的作用,在介紹當(dāng)前知識的同時(shí),既有已往知識的復(fù)習(xí)鞏固,又能對今后學(xué)習(xí)的內(nèi)容有所涉及。當(dāng)然,如果能兼顧學(xué)生的生活經(jīng)驗(yàn)和學(xué)科知識,并能顧及學(xué)生的趣味,那么教學(xué)案例必然能產(chǎn)生事半功倍的效果。正是基于以上幾點(diǎn)的考慮,筆者在VB課程的案例教學(xué)實(shí)踐中做了一些有益的嘗試,從而形成了VB教學(xué)案例選取和設(shè)計(jì)的總體思路。
2.1案例選取貼近生活,與學(xué)生專業(yè)相關(guān)
教學(xué)案例的設(shè)計(jì)和選取應(yīng)與學(xué)生的生活、專業(yè)相關(guān)聯(lián),只有這樣才能讓學(xué)生體會到程序設(shè)計(jì)的實(shí)用性,從而充分激發(fā)學(xué)生的學(xué)習(xí)熱情。
例如,本校學(xué)生都配有一張中國農(nóng)業(yè)銀行卡,平時(shí)有很多學(xué)生會登錄中國農(nóng)業(yè)銀行的個(gè)人網(wǎng)上銀行,使用“卡號登錄”的方式進(jìn)入系統(tǒng),查詢自己銀行卡的余額和交易情況。對圖1所示的登錄界面,本校學(xué)生是非常熟悉的,
而且學(xué)生發(fā)現(xiàn)每次重新登錄或刷新該界面時(shí),密碼輸入鍵盤中的數(shù)字鍵順序都是隨機(jī)變化的。由于這個(gè)登錄界面跟學(xué)生的日常生活密切相關(guān),而且用我們要講授的VB知識也比較容易實(shí)現(xiàn),因此筆者在對其進(jìn)行必要改造的基礎(chǔ)上,制作成了一個(gè)VB案例。在講授VB的多個(gè)知識點(diǎn)時(shí),都借用了這個(gè)案例:(1)VB界面的設(shè)計(jì)以及控件的布局;(2)字符串函數(shù)的應(yīng)用(如何實(shí)現(xiàn)“退格”命令按鈕的功能);(3)控件數(shù)組的應(yīng)用(如何實(shí)現(xiàn)密碼輸入鍵盤中的數(shù)字鍵順序隨機(jī)變化)等,實(shí)踐證明學(xué)生的參與熱情很高,取得了不錯(cuò)的教學(xué)效果。
由于VB課程可能針對不同年級的學(xué)生開設(shè),因此關(guān)于教學(xué)案例與學(xué)生的專業(yè)相結(jié)合的問題,對于低年級學(xué)生和高年級學(xué)生應(yīng)區(qū)別對待:(1)如果是為大一的新生開設(shè)的,學(xué)生對專業(yè)知識基本一無所知,這時(shí)候VB教學(xué)與專業(yè)結(jié)合較困難,但可以與學(xué)生高中所學(xué)的數(shù)學(xué)、物理和化學(xué)知識結(jié)合,教師在教學(xué)時(shí)可以選擇一些用來解決數(shù)學(xué)、物理和化學(xué)計(jì)算問題的案例進(jìn)行講解,還可以結(jié)合學(xué)生常用軟件某些功能的實(shí)現(xiàn)來設(shè)計(jì)案例,例如Windows計(jì)算器的實(shí)現(xiàn)、Word軟件中查找/替換功能的實(shí)現(xiàn)等;(2)如果是為大二或大三的學(xué)生開設(shè),這時(shí)候?qū)W生已有一定的專業(yè)知識,可以考慮課程教學(xué)與專業(yè)應(yīng)用的結(jié)合??紤]到任課教師未必熟悉學(xué)生的專業(yè)知識,可以采用如下方法具體實(shí)施——VB任課教師與學(xué)生的專業(yè)課教師溝通,由專業(yè)課教師提出需求,給出相應(yīng)問題的手工處理方法,然后由VB教師將其設(shè)計(jì)成案例。
2.2注重案例的趣味性,激發(fā)學(xué)生內(nèi)在學(xué)習(xí)動力
興趣是誘發(fā)學(xué)習(xí)積極性和自覺性的內(nèi)部動因,設(shè)計(jì)的案例如果能引起學(xué)生的興趣,將會大大激發(fā)學(xué)生的求知欲望,使學(xué)生在極大的興趣和迫切需要下,產(chǎn)生積極探究的動力,VB案例程序要在第一時(shí)間吸引學(xué)生的注意力,激發(fā)學(xué)生的學(xué)習(xí)興趣,應(yīng)當(dāng)具有趣味性和生動性。
例如,在講解VB中的Do…Loop循環(huán)語句時(shí),筆者引入了一個(gè)關(guān)于折紙問題的案例:紙厚0.5毫米,進(jìn)行對折,問對折多少次后,其高度會超過珠穆朗瑪峰(8848米)?
這個(gè)案例一呈現(xiàn)立即引起了學(xué)生極大的興趣,大家積極進(jìn)行討論,連平時(shí)上課不怎么聽講的學(xué)生都參與了進(jìn)來,有的學(xué)生簡單地憑借感性認(rèn)識,認(rèn)為這不可能,需要無數(shù)次,有的學(xué)生認(rèn)為需要幾千次、幾萬次……,在學(xué)生熱烈的討論和好奇心的驅(qū)使下,教師很輕松地就引入了今天所要講授的知識點(diǎn),學(xué)生也懷著極大的熱情參與教師的課堂教學(xué),等待教師給出最終的答案來驗(yàn)證自己的判斷。學(xué)生的興趣調(diào)動了,非??释麑W(xué)習(xí),教學(xué)效果可想而知。
要讓學(xué)生對案例產(chǎn)生興趣,應(yīng)注重兩方面的問題:(1)設(shè)計(jì)的案例難度相對于學(xué)生的認(rèn)知水平應(yīng)當(dāng)適中,只有這樣才能激發(fā)他們的學(xué)習(xí)動機(jī)。因?yàn)榘凑瞻⑻亟鹕某删蛣訖C(jī)理論,學(xué)生只有在學(xué)習(xí)那些“半生不熟”、“是懂非懂”、“似會非會”的東西時(shí),才感興趣而迫切希望掌握它,因此設(shè)計(jì)案例前應(yīng)了解學(xué)生的心理特點(diǎn)和認(rèn)知水平。(2)設(shè)計(jì)的案例應(yīng)貼近生活。日常生活現(xiàn)象是產(chǎn)生興趣的主要源頭,通過程序案例來模擬日常生活現(xiàn)象,必然讓學(xué)生覺得有無窮的樂趣。例如常用軟件功能VB實(shí)現(xiàn)的案例、典型小游戲VB實(shí)現(xiàn)的案例(“猜數(shù)”游戲、Windows中的“掃雷”等)、對現(xiàn)實(shí)生活中某些產(chǎn)品工作原理模擬的VB案例(模擬交通紅綠燈、秒表、溫度計(jì)等)等都會得到學(xué)生的共鳴。
2.3設(shè)計(jì)階梯性案例組,循序漸進(jìn)引導(dǎo)學(xué)生
設(shè)計(jì)階梯性案例組是指按照教學(xué)內(nèi)容內(nèi)在的聯(lián)系設(shè)計(jì)一組逐步推進(jìn)的案例,這組案例的典型特點(diǎn)是前一案例的學(xué)習(xí)為后一案例的學(xué)習(xí)作鋪墊,后一案例的學(xué)習(xí)在前一案例學(xué)習(xí)的基礎(chǔ)上進(jìn)行,案例的難度逐步加大,但相鄰兩個(gè)案例之間的難度和跨度不大。使用這組案例教學(xué)采用的是一種循序漸進(jìn)的方法,符合學(xué)生學(xué)習(xí)知識的一般規(guī)律。學(xué)生對學(xué)習(xí)的內(nèi)容比較容易接受,有利于發(fā)揮學(xué)生在學(xué)習(xí)中的主體地位,從而促使學(xué)生主動、積極地學(xué)習(xí)。
例如,在進(jìn)行VB循環(huán)結(jié)構(gòu)的教學(xué)時(shí)可以設(shè)計(jì)下面一組階梯性案例,通過由易到難地呈現(xiàn)案例,引導(dǎo)學(xué)生逐步思考,達(dá)到理解循環(huán)結(jié)構(gòu)知識的目的。
階梯組案例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:利用公式 求圓周率 。
教師在講解循環(huán)結(jié)構(gòu)的實(shí)例時(shí),如果直接給出階梯組案例5,沒有前面的4個(gè)階梯組案例作為鋪墊,學(xué)生會覺得有難度,一下子無從下手,也不太容易理解教師所講解的內(nèi)容。
設(shè)計(jì)階梯性案例組要注意以下問題。
(1) 案例組中的最后一個(gè)案例是我們教學(xué)的目標(biāo)案例,其余的案例是為方便目標(biāo)案例的教學(xué)所作的鋪墊,是為輔助目標(biāo)案例的教學(xué)而設(shè)計(jì)的。
(2) 案例組中第一個(gè)案例的起點(diǎn)要低,足夠簡單,比如簡單的求累加和問題、連乘問題等。
(3) 案例組中各個(gè)案例的難度逐步加大,但相鄰的兩個(gè)案例難度跨度較小,應(yīng)盡量符合美國著名的教學(xué)心理學(xué)家斯金納提出的編制程序教學(xué)流程的“小步子原則”。
2.4恰當(dāng)遷移案例,提高學(xué)生舉一反三能力
對案例進(jìn)行遷移,是指在教學(xué)過程中,在原有案例的基礎(chǔ)上逐步改變或增加一些條件,就可以過渡到新的案例,從而把應(yīng)用進(jìn)一步引申到其他問題上,以此提高學(xué)生舉一反三的能力,同時(shí)也提高學(xué)生主動發(fā)現(xiàn)問題、解決問題的能力。
例如,筆者在講述VB中的計(jì)時(shí)器控件前,首先由圖2這個(gè)簡單案例引出了計(jì)時(shí)器控件,方法是先向?qū)W生展示這個(gè)案例程序的功能,就是“單擊一次命令按鈕,文字就從左往右水平移動一段距離”。學(xué)生根據(jù)已有知識,很快就知道如何實(shí)現(xiàn)這一案例程序;然后提出一個(gè)新的問題:“這樣操作太機(jī)械化,能不能不需要人的干預(yù)而讓文字自行移動呢?”,在這一問題的引導(dǎo)下,向?qū)W生講授了計(jì)時(shí)器控件的相關(guān)屬性和事件等新知識后,學(xué)生很快就解決了新問題,寫出了如下程序代碼:
Private Sub Timer1_Timer()
Label1.Left = Label1.Left + 200
End Sub
針對上述案例代碼可以不斷改變條件,提出新的問題,引導(dǎo)學(xué)生進(jìn)一步思考:
(1) 當(dāng)文字移動到窗體右邊界后就會消失,如何讓它從窗體的左邊界重新出現(xiàn)?
(2) 如果要讓文字從右向左水平移動,應(yīng)如何修改程序?
(3) 如果要讓文字從上往下沿垂直方向移動,應(yīng)如何修改程序?
(4) 如果要讓文字沿指定的路線移動,應(yīng)如何修改程序?
(5) 如果要手動控制文字是否繼續(xù)移動,應(yīng)如何修改程序(展示計(jì)時(shí)器的Enabled屬性作用)?
(6) 如果要控制文字移動的速度,應(yīng)如何修改程序(引入滾動條控件的知識)?
通過案例的恰當(dāng)遷移,可以產(chǎn)生一個(gè)接一個(gè)的新問題,用這些新問題牽引著學(xué)生的思維,讓他們不停地跟著教學(xué)內(nèi)容思考,而不是一味被動地接受教師知識的灌輸;案例的恰當(dāng)遷移,使得新案例產(chǎn)生于舊案例,舊案例引出新案例,舊案例和新案例之間平穩(wěn)過渡,可以讓學(xué)生對知識點(diǎn)理解得更加透徹,在教師一步一步地引導(dǎo)下做到融會貫通。
要使案例具有良好的遷移性,教師必須抓住VB各個(gè)知識點(diǎn)之間的聯(lián)系,整體地系統(tǒng)地研究教學(xué)內(nèi)容,將各個(gè)知識點(diǎn)的關(guān)聯(lián)變成各種問題,根據(jù)問題的難度來巧妙地設(shè)計(jì)案例。
2.5制造錯(cuò)誤案例陷阱,強(qiáng)化學(xué)生對模糊知識的理解
“吃一塹,長一智?!比藗冊谡J(rèn)識事物獲得認(rèn)知時(shí),往往出錯(cuò)、碰壁比不犯錯(cuò)誤、一帆風(fēng)順更能增強(qiáng)印象,加深記憶?;谶@一點(diǎn),在設(shè)計(jì)案例時(shí),我們可以專門針對學(xué)生容易出錯(cuò)和可能模糊的知識點(diǎn)來設(shè)計(jì)錯(cuò)誤案例。在課堂上講授相關(guān)知識點(diǎn)時(shí),通過演示錯(cuò)誤案例,學(xué)生會容易發(fā)現(xiàn)程序調(diào)試不能得到正確的結(jié)果,這必然引起學(xué)生的困惑與思考,進(jìn)而達(dá)到吸引學(xué)生注意力的目的;然后學(xué)生在教師的啟發(fā)引導(dǎo)下找出錯(cuò)誤、改正錯(cuò)誤,得到正確的程序代碼。這樣的處理方法可以明顯加強(qiáng)學(xué)生對模糊知識點(diǎn)的印象。
例如,在講授VB的多分支選擇結(jié)構(gòu)的執(zhí)行流程時(shí),筆者談到“不管有幾個(gè)分支,程序執(zhí)行了一個(gè)分支后,其余分支不再執(zhí)行”,總結(jié)以前的教學(xué)經(jīng)驗(yàn),發(fā)現(xiàn)學(xué)生對這句話的含義理解比較模糊,在編寫多分支選擇結(jié)構(gòu)的程序時(shí)經(jīng)常弄錯(cuò)各個(gè)分支出現(xiàn)的先后順序。針對這一問題,筆者設(shè)計(jì)了一個(gè)錯(cuò)誤案例,如下所示。
編寫程序,將學(xué)生的百分制成績轉(zhuǎn)換成對應(yīng)的五級制成績。
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 = "優(yōu)秀"
Case Else: Dj = "不及格"
End Select
Label3.Caption = Dj
End Sub
上述案例在演示時(shí),學(xué)生很快發(fā)現(xiàn)在文本框中輸入90分、80分后,單擊命令按鈕,程序顯示的成績等級都是“及格”,覺得比較困惑,很想知道原因,這時(shí)候再給學(xué)生具體闡明VB中多分支選擇結(jié)構(gòu)的程序執(zhí)行流程問題,學(xué)生印象就非常深刻了,以后就很少犯類似的錯(cuò)誤了。
2.6用綜合性案例貫穿教學(xué),讓學(xué)生把握知識的有機(jī)聯(lián)系
如果在VB的教學(xué)過程中,我們選用的案例過多,過于零碎,就會導(dǎo)致學(xué)生在學(xué)完這門課程后僅會孤立地做一些簡單的小程序,不能綜合運(yùn)用所學(xué)的VB知識來開發(fā)一個(gè)功能相對完整的應(yīng)用系統(tǒng)。所以在設(shè)計(jì)VB教學(xué)案例時(shí),最好能精選3~5個(gè)綜合性案例,或僅選用1個(gè)規(guī)模較大的綜合性案例(可簡稱為大案例)來覆蓋或貫穿全部的課程教學(xué)內(nèi)容。
具體教學(xué)時(shí)以貫穿整個(gè)學(xué)期的綜合性案例為中心,以此案例引導(dǎo)學(xué)生進(jìn)入要學(xué)習(xí)的知識點(diǎn),在舊知識的基礎(chǔ)上運(yùn)用新知識,逐步將案例完善。隨著案例的完善,學(xué)習(xí)的新知識點(diǎn)也融入案例,這樣逐步擴(kuò)張地完成一個(gè)綜合性案例項(xiàng)目的教學(xué)與開發(fā)。由于這些綜合性案例將VB知識點(diǎn)有機(jī)地結(jié)合在一起,便于學(xué)生對VB知識結(jié)構(gòu)的整體認(rèn)識,同時(shí)學(xué)生對軟件的開發(fā)也能初步形成一個(gè)整體性概念。
采用綜合性案例進(jìn)行教學(xué),可以選擇從第一堂課開始,也可選擇在一個(gè)學(xué)期的最后一個(gè)月進(jìn)行,筆者采用的是后一種。在講授完VB的基本知識后,筆者會引入一個(gè)綜合性案例“客房管理系統(tǒng)”,這個(gè)案例基本上覆蓋了VB課程教學(xué)要求學(xué)生掌握的主要知識點(diǎn)。對這個(gè)綜合性案例的講授遵循了軟件項(xiàng)目開發(fā)的一般步驟,從需求分析開始,過渡到功能分析,逐步引導(dǎo)學(xué)生完成系統(tǒng)模塊的設(shè)計(jì)、數(shù)據(jù)存儲的設(shè)計(jì)、輸入輸出界面的設(shè)計(jì),到最后完成代碼的編制、調(diào)試、運(yùn)行等一系列過程。為了讓學(xué)生充分體會到用文件和數(shù)據(jù)庫管理數(shù)據(jù)的區(qū)別,我們分別用這兩種數(shù)據(jù)管理方式實(shí)現(xiàn)了系統(tǒng),通過這種處理更讓學(xué)生有機(jī)會深刻地感受到用數(shù)據(jù)庫管理數(shù)據(jù)的優(yōu)勢。
3結(jié)束語
當(dāng)然,高質(zhì)量的教學(xué)案例,對保證案例教學(xué)取得令人滿意的教學(xué)效果有著至關(guān)重要的作用,但案例教學(xué)畢竟不是簡單地把設(shè)計(jì)好的案例逐個(gè)進(jìn)行講解就可以達(dá)到教學(xué)目的的。它還需要配合使用一些適當(dāng)?shù)慕虒W(xué)方法,比如啟發(fā)式教學(xué)方法、討論式教學(xué)方法等,并要結(jié)合一些實(shí)踐活動,同時(shí)也需要現(xiàn)代化的多媒體技術(shù)和網(wǎng)絡(luò)通信技術(shù)來提供必要的技術(shù)保障。
參考文獻(xiàn):
[1] 唐小燕,吳斌,魯大林. 傳統(tǒng)教學(xué)與案例教學(xué)在《VB程序設(shè)計(jì)》教學(xué)中的實(shí)施效果分析[J]. 教育信息化,2006(10):63-65.
[2] 吳海珍,蔣加伏. 關(guān)聯(lián)案例教學(xué)法在“VB程序設(shè)計(jì)”教學(xué)中的應(yīng)用[J]. 計(jì)算機(jī)教育,2009(12):52-54.
[3] 李明,宣善立,冷金麟. 斯金納教學(xué)理論在程序設(shè)計(jì)課程中的應(yīng)用[J]. 計(jì)算機(jī)教育,2008(14):75-76.
[4] 孫振坤,孫斌. 條件遷移法在VB教學(xué)中的探索與實(shí)踐[J]. 計(jì)算機(jī)教育,2008(11):47-48.
[5] 張廣群,汪杭軍,王保平. 問題驅(qū)動模式在VB教學(xué)中的應(yīng)用研究[J]. 計(jì)算機(jī)教育,2008(22):139-140.
[6] 王冰. C語言程序設(shè)計(jì)課程教學(xué)方法的探討[J]. 計(jì)算機(jī)教育,2009(2):142-144.
[7] 葉品菊. 案例貫穿式教學(xué)法在VB程序設(shè)計(jì)教學(xué)中的應(yīng)用[J]. 安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007,6(5):53-54.
[8] 陳龍猛,王保桂,李吉忠,等. 大案例教學(xué)法在Visual Basic程序設(shè)計(jì)教學(xué)中的探究[J]. 計(jì)算機(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