摘要:在多數(shù)高校中,“VB程序設(shè)計(jì)”是一門(mén)公共基礎(chǔ)課。針對(duì)教學(xué)中存在的問(wèn)題,作者結(jié)合多年的實(shí)踐經(jīng)驗(yàn),從課程的特點(diǎn)入手,在教學(xué)內(nèi)容、教學(xué)實(shí)踐、教學(xué)方法上提出了改革建議。
關(guān)鍵詞:VB;教學(xué)改革;任務(wù)驅(qū)動(dòng);案例教學(xué)
中圖分類(lèi)號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-5039(2013)01-0113-03
Visual Basic(簡(jiǎn)稱(chēng)VB)程序設(shè)計(jì)語(yǔ)言是目前最流行的程序設(shè)計(jì)語(yǔ)言之一,它簡(jiǎn)單易學(xué)且功能強(qiáng)大,是一門(mén)實(shí)踐性很強(qiáng)的課程。開(kāi)設(shè)本課程的目的是為了培養(yǎng)學(xué)生程序設(shè)計(jì)思想和計(jì)算機(jī)實(shí)際應(yīng)用的能力,越來(lái)越多的高校將VB作為編程語(yǔ)言的首選課程。然而,在實(shí)際的教學(xué)中,學(xué)生卻認(rèn)為VB枯燥難學(xué),教學(xué)效果并不理想。改革教學(xué)方法,激發(fā)學(xué)生興趣是提高教學(xué)質(zhì)量的根本辦法。
VB具有可視化、面向?qū)ο蟆⒉捎檬录?qū)動(dòng)編程機(jī)制等特點(diǎn),概念多,內(nèi)容豐富。在程序設(shè)計(jì)方面,要介紹基本語(yǔ)法、函數(shù)、結(jié)構(gòu)化程序設(shè)計(jì)方法和常用算法;在面向?qū)ο蟮某绦蛟O(shè)計(jì)方面,要介紹對(duì)象和類(lèi),對(duì)象的事件、屬性和方法,以及封裝、繼承、多態(tài)等概念。在數(shù)據(jù)庫(kù)模塊,要介紹數(shù)據(jù)庫(kù)的建立和訪(fǎng)問(wèn)技術(shù)[1]。知識(shí)點(diǎn)多,理論性強(qiáng),使得同學(xué)們掌握起來(lái)非常困難,給教學(xué)工作帶來(lái)很大的難度。
1 VB教學(xué)中存在的問(wèn)題
1.1 學(xué)習(xí)目標(biāo)不明確,學(xué)習(xí)興趣不濃厚
目前,VB理論課的教學(xué)多是在多媒體教室進(jìn)行,往往是2、3個(gè)班在一起的合堂課,教學(xué)內(nèi)容是按照教學(xué)大綱設(shè)計(jì)的,課堂上主要以老師講授為主。這種以教師為主的教學(xué)方式,不能很好地調(diào)動(dòng)學(xué)習(xí)的積極性,分析、解決問(wèn)題的能力得不到培養(yǎng),學(xué)生學(xué)習(xí)的目的性不強(qiáng)。很多非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生不了解VB對(duì)所學(xué)專(zhuān)業(yè)的作用,因此不重視該課程的學(xué)習(xí),學(xué)習(xí)興趣不濃。
再者,學(xué)生初學(xué)編程,基本功相對(duì)較差,對(duì)VB中的概念以及程序設(shè)計(jì)的基本知識(shí)并未完全掌握,使得遇到問(wèn)題無(wú)從下手,即便寫(xiě)出了程序,也經(jīng)常是錯(cuò)誤百出,無(wú)法運(yùn)行,這嚴(yán)重挫傷了同學(xué)們的自信心。
另外,學(xué)生學(xué)習(xí)方法單一,自學(xué)能力較弱,未能充分利用網(wǎng)絡(luò)資源進(jìn)行自主學(xué)習(xí),因而遇到問(wèn)題就只能放棄。
1.2 教學(xué)內(nèi)容繁雜,教學(xué)方式單一[2]
VB課程的教學(xué)內(nèi)容主要有程序設(shè)計(jì)基礎(chǔ)、面向?qū)ο缶幊獭?shù)據(jù)庫(kù)訪(fǎng)問(wèn)三部分組成,傳統(tǒng)教學(xué)也是按照這個(gè)順序進(jìn)行的。在學(xué)習(xí)完變量、表達(dá)式、語(yǔ)句等基本知識(shí)后,才進(jìn)入編程階段,這時(shí)候?qū)W生對(duì)VB的學(xué)習(xí)興趣早已消失殆盡,接下來(lái)是機(jī)械地完成作業(yè),跟本談不上什么學(xué)習(xí)熱情了。
多班合堂上課,也決定了教學(xué)方式還是以老師一個(gè)人講授為主,與同學(xué)的互動(dòng)很少,更談不上讓學(xué)生思考、討論了。這種被動(dòng)的學(xué)習(xí)方式學(xué)生很快就會(huì)失去興趣,跟本無(wú)法培養(yǎng)他們的編程思維方式。
1.3 實(shí)踐教學(xué)組織不利,實(shí)驗(yàn)課收效甚微
實(shí)踐教學(xué)是課程的一個(gè)重要環(huán)節(jié)。在理論課中講解的原理、概念、案例等,只有通過(guò)上機(jī)實(shí)踐才能真正被學(xué)生掌握。每節(jié)課的實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)要求、實(shí)驗(yàn)步驟以及要達(dá)到的實(shí)驗(yàn)?zāi)康?,都需要精心組織。而在實(shí)際的教學(xué)中,有些老師不重視實(shí)踐課,或者組織、引導(dǎo)不夠,任由學(xué)生自由上機(jī)。學(xué)生實(shí)驗(yàn)?zāi)康牟幻鞔_,遇到問(wèn)題不能及時(shí)解決,上機(jī)只能是敷衍了事。這樣的實(shí)驗(yàn)課對(duì)培養(yǎng)學(xué)生的獨(dú)立思考和創(chuàng)新能力沒(méi)有任何效果。
2 教學(xué)改革
2.1 明確學(xué)習(xí)目標(biāo),激發(fā)學(xué)習(xí)興趣
《Visual Basic程序設(shè)計(jì)》是高校本科學(xué)生的必修課,通過(guò)本課程的學(xué)習(xí),使學(xué)生掌握面向?qū)ο蟮木幊趟枷?,掌握高?jí)語(yǔ)言程序設(shè)計(jì)的基本方法,培養(yǎng)學(xué)生邏輯思維和計(jì)算機(jī)實(shí)際應(yīng)用的能力。在教學(xué)過(guò)程中,老師要運(yùn)用各種教育技術(shù)將學(xué)生引入到教學(xué)中來(lái)。增加師生之間的交流,將學(xué)生不理解的知識(shí)在課堂上細(xì)講。將程序設(shè)計(jì)語(yǔ)言與學(xué)生所學(xué)專(zhuān)業(yè)緊密結(jié)合起來(lái),舉一些與學(xué)生所學(xué)專(zhuān)業(yè)有關(guān)的例題,調(diào)動(dòng)學(xué)生的興趣,使學(xué)生充分地參與到教學(xué)過(guò)程中來(lái)。
2.2 重組教學(xué)內(nèi)容,靈活運(yùn)用多種教學(xué)方法
本門(mén)課的教學(xué)出發(fā)點(diǎn)是培養(yǎng)學(xué)生的程序設(shè)計(jì)開(kāi)發(fā)能力。從面向應(yīng)用、提高能力這個(gè)基本點(diǎn)出發(fā),可以把教學(xué)內(nèi)容劃分為以下幾個(gè)模塊:程序設(shè)計(jì)基礎(chǔ)模塊、面向?qū)ο缶幊棠K、可視化程序設(shè)計(jì)模塊、數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)模塊[1]。教材中,某一模塊所涉及的知識(shí)可能分布在不同的章節(jié),在教學(xué)中,可以把這些內(nèi)容放在一起講解,這樣就保證了知識(shí)的完整性和教學(xué)內(nèi)容的連貫性,也有助于學(xué)生的理解和掌握。
針對(duì)不同的教學(xué)內(nèi)容,要靈活運(yùn)用不同的教學(xué)方法。在實(shí)際的教學(xué)中,我們運(yùn)用的最多的是“任務(wù)驅(qū)動(dòng)+案例教學(xué)”的模式。所謂任務(wù)驅(qū)動(dòng)就是將教學(xué)內(nèi)容作為一個(gè)任務(wù),組織學(xué)生對(duì)任務(wù)進(jìn)行分析、討論,把一個(gè)大的任務(wù)細(xì)化為若干個(gè)小的任務(wù)。以任務(wù)作為出發(fā)點(diǎn),啟發(fā)、引導(dǎo)學(xué)生運(yùn)用知識(shí),由淺入深一步步完成所有的任務(wù),從而達(dá)到掌握所學(xué)知識(shí)的目的。任務(wù)驅(qū)動(dòng)是以“學(xué)生為主體,教師為主導(dǎo)”的教學(xué)模式,學(xué)生參與到整個(gè)的教學(xué)過(guò)程中來(lái),大大激發(fā)了學(xué)習(xí)熱情。任務(wù)驅(qū)動(dòng)法不僅提高了學(xué)生獨(dú)立地分析、解決問(wèn)題的能力,也培養(yǎng)了團(tuán)隊(duì)協(xié)作的精神[3]。
案例教學(xué)是以案例來(lái)劃分教學(xué)內(nèi)容,把知識(shí)點(diǎn)融入到一個(gè)個(gè)典型的案例中去,引導(dǎo)學(xué)生分析、解決問(wèn)題,提高學(xué)習(xí)興趣,培養(yǎng)解決實(shí)際問(wèn)題的能力。
案例教學(xué)法的基本思路是:提出問(wèn)題、分析問(wèn)題、解決問(wèn)題、歸納總結(jié)[4]。案例要精心準(zhǔn)備,選取典型的、有代表性的例子,不要舉過(guò)于復(fù)雜、知識(shí)點(diǎn)不突出的例子。在教學(xué)過(guò)程中,教師帶領(lǐng)學(xué)生共同分析、解決案例,最后將知識(shí)點(diǎn)總結(jié)歸納出來(lái)。例如,應(yīng)用案例介紹動(dòng)態(tài)變量與靜態(tài)變量的使用可以經(jīng)過(guò)如下的步驟:
提出問(wèn)題:動(dòng)態(tài)變量與靜態(tài)變量在使用中有何區(qū)別。
分析問(wèn)題:引領(lǐng)學(xué)生通過(guò)教材的描述來(lái)尋找答案,動(dòng)態(tài)變量在程序運(yùn)行進(jìn)入其所在的過(guò)程時(shí),才為該變量分配內(nèi)存單元,退出過(guò)程時(shí),該變量占用的內(nèi)存單元自動(dòng)釋放,其值不被保留。靜態(tài)變量在應(yīng)用程序中只被初始化一次。程序運(yùn)行進(jìn)入過(guò)程后,靜態(tài)變量參與過(guò)程內(nèi)部的各種操作,退出過(guò)程后,其中靜態(tài)變量的值仍被保留,當(dāng)再次進(jìn)入該過(guò)程時(shí),變量原來(lái)的值可以繼續(xù)使用。這樣的講解,學(xué)生只能有一個(gè)概念性的了解,要想真正掌握必須通過(guò)案例來(lái)說(shuō)明。
解決問(wèn)題:通過(guò)下面的例子來(lái)說(shuō)明靜態(tài)變量與動(dòng)態(tài)變量的區(qū)別。
歸納總結(jié):程序運(yùn)行結(jié)果如圖1所示。使用Dim關(guān)鍵詞在過(guò)程中聲明的局部變量屬于動(dòng)態(tài)變量,a是一個(gè)動(dòng)態(tài)變量,每次進(jìn)入過(guò)程都被重新初始化,其值始終等于1。使用Static關(guān)鍵詞在過(guò)程中聲明的局部變量屬于靜態(tài)變量。b是一個(gè)靜態(tài)變量,每次調(diào)用過(guò)程時(shí)保持上一次的值。
通過(guò)具體的案例,引導(dǎo)學(xué)生思考問(wèn)題、解決問(wèn)題,這樣學(xué)到的知識(shí)更扎實(shí),同時(shí)也提高了同學(xué)們的學(xué)習(xí)興趣。
2.3 改革實(shí)踐教學(xué),增加實(shí)訓(xùn)項(xiàng)目
在實(shí)踐教學(xué)過(guò)程中,“任務(wù)驅(qū)動(dòng)+案例”的教學(xué)方法應(yīng)該得到更好的應(yīng)用,在教師的指導(dǎo)下,充分調(diào)動(dòng)學(xué)生的積極性,在完成任務(wù)的過(guò)程中發(fā)現(xiàn)問(wèn)題、解決問(wèn)題,這樣既能更好的掌握學(xué)習(xí)內(nèi)容,又可以培養(yǎng)自身程序開(kāi)發(fā)的能力。從而增強(qiáng)學(xué)生的學(xué)習(xí)信心,提高學(xué)習(xí)興趣。
在實(shí)踐教學(xué)中除了要學(xué)生掌握正確的解題方法,還要注重培養(yǎng)程序設(shè)計(jì)的風(fēng)格,規(guī)范的設(shè)計(jì)風(fēng)格可以使程序結(jié)構(gòu)清晰,一旦有錯(cuò)容易發(fā)現(xiàn),便于維護(hù)。
程序中的錯(cuò)誤主要有三類(lèi):語(yǔ)法錯(cuò)誤、運(yùn)行時(shí)錯(cuò)誤和邏輯錯(cuò)誤。語(yǔ)法錯(cuò)誤是違反了語(yǔ)法規(guī)則而產(chǎn)生的;運(yùn)行時(shí)錯(cuò)誤是在運(yùn)行代碼時(shí)發(fā)生的,往往是由于執(zhí)行了非法操作產(chǎn)生的;邏輯錯(cuò)誤是指運(yùn)行程序后,得不到所期望的結(jié)果[5]。要讓學(xué)生掌握利用VB提供的調(diào)試工具,自己去發(fā)現(xiàn)和改正錯(cuò)誤的方法,對(duì)程序執(zhí)行過(guò)程進(jìn)行跟蹤監(jiān)視,使編程能力得到真正的提高。
學(xué)期末要組織學(xué)生進(jìn)行實(shí)訓(xùn)項(xiàng)目的練習(xí)。在理論教學(xué)中,有關(guān)數(shù)據(jù)庫(kù)開(kāi)發(fā)模塊的內(nèi)容往往介紹比較少,而這部分內(nèi)容在實(shí)際工作中又非常實(shí)用。針對(duì)這種情況,可以讓學(xué)生開(kāi)發(fā)一個(gè)有關(guān)學(xué)生管理的實(shí)訓(xùn)項(xiàng)目。在老師的指導(dǎo)下,將學(xué)生分為若干小組進(jìn)行開(kāi)發(fā)。這樣既彌補(bǔ)了理論教學(xué)的不足,也使學(xué)生的編程能力得到真正鍛煉,同時(shí)也培養(yǎng)了同學(xué)們相互合作的精神。
2.4 改革考核辦法
程序設(shè)計(jì)語(yǔ)言的考試要客觀地反映學(xué)生實(shí)際的開(kāi)發(fā)能力,所以要在計(jì)算機(jī)上進(jìn)行考試。考試的內(nèi)容要以編程題為主,同時(shí)兼顧基礎(chǔ)知識(shí)。期末總成績(jī)由平時(shí)成績(jī)、實(shí)踐成績(jī)、機(jī)試成績(jī)?nèi)糠纸M成,其中平時(shí)成績(jī)占20%,主要考核平時(shí)上課情況、作業(yè)完成情況等;實(shí)踐成績(jī)占20%,主要考核的是上機(jī)實(shí)踐和實(shí)訓(xùn)項(xiàng)目完成的情況;機(jī)試成績(jī)占60%。成績(jī)基本上能反映學(xué)生對(duì)本課程的掌握情況。通過(guò)考核也能發(fā)現(xiàn)平時(shí)教學(xué)過(guò)程中存在的不足,以便在今后的工作中加以改進(jìn)。
3 結(jié)束語(yǔ)
計(jì)算機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,使得社會(huì)對(duì)學(xué)生的計(jì)算機(jī)水平提出了更高的要求。這就要求我們?cè)趯?shí)施教學(xué)的過(guò)程中,必須不斷地創(chuàng)新、改進(jìn)教學(xué)方法和手段。從激發(fā)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的興趣、實(shí)施“任務(wù)驅(qū)動(dòng)+案例”教學(xué)法、加強(qiáng)實(shí)踐教學(xué)等環(huán)節(jié)入手,探討教學(xué)改革的方法。有效地提高學(xué)生使用程序設(shè)計(jì)語(yǔ)言解決實(shí)際問(wèn)題的能力,培養(yǎng)學(xué)生的計(jì)算思維,全面提升程序設(shè)計(jì)語(yǔ)言課程的教學(xué)質(zhì)量。
參考文獻(xiàn):
[1] 劉洪波,石磊.Visual Basic程序設(shè)計(jì)課程教學(xué)改革的探索與實(shí)踐[J].廣州番禺職業(yè)技術(shù)學(xué)院學(xué)報(bào),2010(3):32-35.
[2] 卞愛(ài)蓮.淺談中職VB程序設(shè)計(jì)課程教學(xué)改革的探索[J].科技信息,2010(23):300-322.
[3] 王曉剛.任務(wù)驅(qū)動(dòng)法在“Visual Basic程序設(shè)計(jì)”教學(xué)中的應(yīng)用淺析[J].科教文匯,2010(3):167-168.
[4] 周永新.在VB程序設(shè)計(jì)課中實(shí)施案例教學(xué)法的探索與實(shí)踐[J].福建電腦,2010(6):200.
[5] 龔沛曾,楊志強(qiáng),陸慰民.Visual Basic程序設(shè)計(jì)教程[M].3版.北京:高等教育出版社,2007:91-93.