王 琦
摘要:本文針對(duì)高校計(jì)算機(jī)程序設(shè)計(jì)語言Visual Basic初級(jí)編程教學(xué)中存在的問題,結(jié)合自己多年的教學(xué)實(shí)踐,提出了解決的對(duì)策,對(duì)教學(xué)效果的改進(jìn)大有幫助。
關(guān)鍵詞:程序設(shè)計(jì);代碼編寫;教學(xué)效果
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1引言
隨著社會(huì)信息化高速進(jìn)展,各行各業(yè)的信息化進(jìn)程不斷加速,計(jì)算機(jī)應(yīng)用技術(shù)與其他專業(yè)的教學(xué)、科研工作的結(jié)合更加緊密,各學(xué)科與以計(jì)算機(jī)技術(shù)為核心的信息技術(shù)的融合,促進(jìn)了計(jì)算機(jī)學(xué)科的發(fā)展,各專業(yè)對(duì)學(xué)生的計(jì)算機(jī)應(yīng)用能力也有更高和更加具體的要求,選修計(jì)算機(jī)課程成為必然。
計(jì)算機(jī)程序設(shè)計(jì)語言Visual Basic(簡(jiǎn)稱VB),是Windows環(huán)境下最親切的程序設(shè)計(jì)語言,它不僅簡(jiǎn)單易學(xué)、操作方便,而且引入了面向?qū)ο蟮氖录?qū)動(dòng)機(jī)制和可視化的程序設(shè)計(jì)方法,效率高,功能強(qiáng)且使用簡(jiǎn)單,是目前廣泛使用的計(jì)算機(jī)軟件開發(fā)平臺(tái),因此成為目前許多高等院校學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)語言的首選,是非計(jì)算機(jī)專業(yè)學(xué)生必修的重要基礎(chǔ)課程之一,也是國(guó)家二級(jí)考試的基礎(chǔ)課程。其目的是培養(yǎng)學(xué)生程序設(shè)計(jì)和簡(jiǎn)單的系統(tǒng)開發(fā)及應(yīng)用能力。
由于計(jì)算機(jī)編程語言相對(duì)其它課程較為抽象難懂,編程思路不易被學(xué)生接受和掌握,又加上選修這門課的同學(xué)缺少計(jì)算機(jī)相關(guān)的基礎(chǔ)知識(shí),因此使得VB這門課的教學(xué)普遍存在著抽象、枯燥、學(xué)生難學(xué)、教師難教等諸多問題,嚴(yán)重影響著本課程的教學(xué)質(zhì)量。為此,探討如何解決上述問題,改進(jìn)VB的教學(xué)現(xiàn)狀,成為VB任課教師的共同課題。結(jié)合多年的VB教學(xué)實(shí)踐經(jīng)驗(yàn),筆者認(rèn)為VB教學(xué)的諸多難題,集中出現(xiàn)在以下幾個(gè)重要的教學(xué)環(huán)節(jié)當(dāng)中,如果任課教師能夠把握時(shí)機(jī),抓好這些教學(xué)環(huán)節(jié),將能夠有效地改進(jìn)VB的教學(xué)效果,提高教學(xué)質(zhì)量。
2做好VB課程的引入教學(xué),充分調(diào)動(dòng)學(xué)生學(xué)習(xí)VB的積極性
實(shí)踐證明,學(xué)習(xí)VB,興趣是最好的老師,模仿是入門的捷徑。對(duì)于任何一項(xiàng)工作,只要有了興趣,就有了一半的成功機(jī)會(huì),學(xué)生學(xué)習(xí)VB更是這樣。實(shí)際上豐富有趣的諸多VB實(shí)例編程對(duì)于本科階段的學(xué)生來說,有著強(qiáng)大的吸引力。例如,教師可在引入課上向?qū)W生演示用VB所設(shè)計(jì)的系列程序,如關(guān)機(jī)程序,定時(shí)程序,放大鏡程序,掃雷游戲程序,清空回收站程序等各個(gè)方面的Windows應(yīng)用小程序,大的應(yīng)用方面還可以向?qū)W生介紹,用VB可以設(shè)計(jì)網(wǎng)絡(luò)傳輸程序,數(shù)據(jù)庫應(yīng)用程序等,這些實(shí)例只演示運(yùn)行的效果,先不要展示編程的設(shè)計(jì)代碼,目的在于讓學(xué)生開闊視野,了解學(xué)習(xí)VB的應(yīng)用前景,激發(fā)學(xué)習(xí)的興趣。學(xué)生雖然缺少這方面的編程基礎(chǔ)知識(shí),但對(duì)于計(jì)算機(jī)的編程,充滿著好奇與探索的欲望,眾多的學(xué)生希望通過學(xué)習(xí)VB后能夠在計(jì)算機(jī)編程方面一試身手,而且VB又是計(jì)算機(jī)等級(jí)考試科目之一,有很多的學(xué)生選擇簡(jiǎn)單易學(xué)、功能強(qiáng)大的VB。所以在VB教學(xué)的引入課當(dāng)中,教師要充分利用這些有利的因素,恰當(dāng)?shù)匕才畔嚓P(guān)的教學(xué)內(nèi)容,及時(shí)有效地調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,變“要我學(xué)”為“我要學(xué)”,并且避免后續(xù)的教學(xué)變成迫于考試的壓力不得不學(xué)的不良狀況。
3做好VB課程的入門教學(xué),確保學(xué)生理解掌握VB的基本概念
學(xué)習(xí)VB入門難,這是VB教學(xué)中普遍存在的問題。學(xué)生缺乏課程的相關(guān)知識(shí)基礎(chǔ),是問題存在的一個(gè)方面的原因,更主要的原因在于,學(xué)生對(duì)于VB當(dāng)中貫穿始終的幾個(gè)基本概念,很難理解和運(yùn)用,所以在VB課程的入門教學(xué)階段,基本概念的教學(xué)尤為重要,要確保學(xué)生理解掌握VB的幾個(gè)重要的基本概念,并且能夠靈活地運(yùn)用于實(shí)際。
針對(duì)概念的抽象難懂這一難點(diǎn),教師要充分地結(jié)合實(shí)例來講解,并針對(duì)以往在學(xué)生的實(shí)際編程應(yīng)用中容易出現(xiàn)的概念性錯(cuò)誤,在課堂教學(xué)中舉例強(qiáng)調(diào),避免重復(fù)發(fā)生,能夠較好地幫助學(xué)生理解掌握概念。例如:
錯(cuò)誤1:form_load()…print "歡迎使用VB"…endsub;
錯(cuò)誤2:text1_gotfocus() …text1.setfocus…endsub;
錯(cuò)誤3:label3="y=";
錯(cuò)誤4:print y=sin(a)+sin(b);
從以上所列錯(cuò)誤進(jìn)行類型分析可知,屬于學(xué)生對(duì)于事件、方法、屬性等概念理解使用不當(dāng)所造成,對(duì)于類似的問題,教學(xué)中只有通過耐心、細(xì)致地分清錯(cuò)誤的原因,多舉實(shí)例來強(qiáng)調(diào)有關(guān)事件、方法的使用等來避免。概念的混淆不清,直接影響到后續(xù)教學(xué)中的代碼編寫,而代碼編寫難下手,又是學(xué)生學(xué)習(xí)VB的一大難題,其原因也較多地在于概念的理解使用不當(dāng),實(shí)際編代碼時(shí)不會(huì)靈活運(yùn)用。
4做好VB中事件選取與代碼添加部分的教學(xué)
VB實(shí)際編程時(shí),對(duì)于事件的選取與代碼的添加這一部分,是最為關(guān)鍵的,也是最為困難的,它既要求編程者有靈活的思維能力,又要求有充分的編程經(jīng)驗(yàn),當(dāng)然最基本的還是要準(zhǔn)確地把握VB中的基本概念與基本語句的使用。所以搞好這一環(huán)節(jié)的教學(xué),前提是做好第二環(huán)節(jié)的教學(xué),比如事件的選取,要求學(xué)生了解各種事件的觸發(fā)時(shí)間與觸發(fā)條件,否則,學(xué)生不可能準(zhǔn)確地選取事件,例如前面所列錯(cuò)誤1,說明學(xué)生對(duì)于窗體的加載事件發(fā)生的時(shí)間不夠明確,使用print方法在窗體上輸出,只能在窗體加載完成后才能實(shí)現(xiàn),同樣的,如果在load()事件中使用end語句,將會(huì)導(dǎo)致看不到程序運(yùn)行效果,學(xué)生往往對(duì)此迷惑不解。另一種情況是選取事件時(shí)搞不清對(duì)象,造成事件不能觸發(fā),代碼無效,學(xué)生則為之莫名其妙等。如此之類的錯(cuò)誤,均屬于對(duì)事件概念的理解把握不夠,因此不能正確使用。
另外,在代碼的添加部分,由于缺少編程經(jīng)驗(yàn),面對(duì)問題時(shí),學(xué)生往往不知從何下手,頭腦中一片空白,如果是一個(gè)模仿性的問題,學(xué)生則較容易接受。當(dāng)然,學(xué)習(xí)VB,興趣是最好的老師,模仿則是入門的捷徑,依靠模仿,學(xué)生可以較快地掌握一些基本的編程經(jīng)驗(yàn)和編程技巧,所以,模仿在入門階段是非常必要的,但在遇到具體的一個(gè)實(shí)際問題時(shí),模仿的習(xí)慣反而會(huì)制約學(xué)生的思維開拓,造成無路可尋的不良現(xiàn)象,這就要求教師在教學(xué)中教給學(xué)生一種有效的打開思路的方法,而不能完全靠模仿。針對(duì)這一問題,通過教學(xué)實(shí)踐總結(jié)出的一個(gè)最簡(jiǎn)單有效的方法,就是編程公式的總結(jié)使用,對(duì)于諸多的編程問題,往往都離不開輸入、計(jì)算、輸出這三大塊內(nèi)容,這里稱之為編程公式,依照它,教師就可以讓學(xué)生在面對(duì)問題時(shí),像填空那樣,分別解決這三塊內(nèi)容,這樣,代碼的入手問題便輕松解決,之后,再根據(jù)實(shí)際問題選用三種基本結(jié)構(gòu)及相應(yīng)的語句來完成代碼,就比較容易了,而基本語句的正確理解與使用在代碼的編寫中又非常重要。
5做好VB基本語句的使用部分的教學(xué)
VB基本語句不多,單獨(dú)來講,結(jié)合實(shí)例,學(xué)生不難理解與掌握,難點(diǎn)在于語句的結(jié)構(gòu)在使用中靈活多變,學(xué)生感到不知如何選擇。比如選擇結(jié)構(gòu)對(duì)應(yīng)的條件選擇語句,從單分支到雙分支,再到多分支以及嵌套分支,語句各不相同,造成學(xué)生在使用中易于混淆不清,語句書寫的格式往往出錯(cuò)。為此,教學(xué)中教師應(yīng)結(jié)合實(shí)例,重點(diǎn)強(qiáng)調(diào)各語句的格式及執(zhí)行過程的不同,強(qiáng)化對(duì)比各種結(jié)構(gòu),并通過多練達(dá)到讓學(xué)生熟練掌握每種語句的格式及適用范圍。
在語句的教學(xué)中,語句的執(zhí)行流程是學(xué)生必須理解的內(nèi)容。如順序結(jié)構(gòu)的賦值語句,由于忽略了其執(zhí)行流程,往往造成輸出部分先于計(jì)算部分出現(xiàn)這樣的錯(cuò)誤。而選擇結(jié)構(gòu)由于語句書寫格式多樣,最易造成其執(zhí)行過程混亂不清,其結(jié)果往往導(dǎo)致程序多次調(diào)試不能通過,嚴(yán)重挫傷學(xué)生的學(xué)習(xí)積極性。至于循環(huán)結(jié)構(gòu),同樣強(qiáng)調(diào)弄清楚其執(zhí)行的流程,否則學(xué)生往往搞不清循環(huán)次數(shù)與循環(huán)結(jié)束的條件等,這些都最終造成學(xué)生以為語句看似簡(jiǎn)單,但卻不能準(zhǔn)確使用的后果。
6做好代碼調(diào)試部分的教學(xué)
代碼調(diào)試要求細(xì)致耐心,如果代碼能夠順利通過,學(xué)生看到程序運(yùn)行結(jié)果出現(xiàn),會(huì)因成功而感到喜悅,從而興趣倍增,更增加對(duì)編程的探索欲望。反之,如果不能順利通過,又不能很快發(fā)現(xiàn)錯(cuò)誤所在,反復(fù)調(diào)試卻總不見運(yùn)行結(jié)果,學(xué)生往往失去耐心,長(zhǎng)此下去,將嚴(yán)重挫傷學(xué)生的學(xué)習(xí)積極性,有的甚至畏難而退,出現(xiàn)厭學(xué)情緒。因此,不可小看程序的調(diào)試部分。
首先應(yīng)該向?qū)W生明確,代碼不能一次性通過是正?,F(xiàn)象,編程需要耐心對(duì)待;其次,養(yǎng)成認(rèn)細(xì)心的習(xí)慣可有效減少錯(cuò)誤的發(fā)生,如text與test、label與lable、date與data書寫混淆,缺少endif語句、next語句等錯(cuò)誤均屬于不細(xì)心造成的;再者,嚴(yán)格按語句的書寫格式及語言規(guī)范書寫語句,可避免大多數(shù)的錯(cuò)誤發(fā)生,如a=b=c, num%+text1,print y=sina+sinb等錯(cuò)誤則屬于學(xué)生對(duì)語言規(guī)范不夠明確造成的。至于邏輯性錯(cuò)誤,學(xué)生自己則很難發(fā)現(xiàn),需要教師幫助解決。
總結(jié)經(jīng)驗(yàn),代碼的調(diào)試部分,學(xué)生和教師都要求有足夠的耐心和細(xì)心,而且,教師要善于總結(jié)學(xué)生中易于出現(xiàn)的類同錯(cuò)誤,在課堂上及時(shí)糾正,或根據(jù)以往的教學(xué)經(jīng)驗(yàn)在教學(xué)進(jìn)度中及時(shí)提醒,進(jìn)行預(yù)防,較有效減少重復(fù)性錯(cuò)誤的發(fā)生。
7總結(jié)
以上五個(gè)基本而又重要的教學(xué)環(huán)節(jié),各有偏重,又相互聯(lián)系,相互影響,搞好這些環(huán)節(jié)的教學(xué),就等于抓住了VB教學(xué)的重心;同時(shí)還要求教師和學(xué)生都要有足夠的耐心和毅力,共同努力實(shí)現(xiàn)VB教學(xué)質(zhì)量的提高。
參考文獻(xiàn):
[1] 蔣加伏.Visual Basic程序設(shè)計(jì)教程[M]. 北京:北京郵電大學(xué)出版社,2008.
[2] 湯彬. “VB 程序設(shè)計(jì)基礎(chǔ)”教學(xué)方法的探索與實(shí)踐[J]. 計(jì)算機(jī)教育,2008(16):112-113.