《《VB程序設(shè)計(jì)》教學(xué)實(shí)踐與探索》由會(huì)員分享,可在線閱讀,更多相關(guān)《《VB程序設(shè)計(jì)》教學(xué)實(shí)踐與探索(5頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、《VB程序設(shè)計(jì)》教學(xué)實(shí)踐與探索
計(jì)算機(jī)專業(yè)部:馬冬艷
忙碌的一學(xué)期又要過去了,本學(xué)期我繼續(xù)擔(dān)任計(jì)算機(jī)專業(yè)中關(guān)村軟件專業(yè)的VB教學(xué)工作??梢哉f程序教學(xué)是枯燥難懂的,如何找到一個(gè)新穎的、行之有效的教學(xué)方法是一直我努力思考并實(shí)踐中探索的問題。下面結(jié)合我這階段的教學(xué)實(shí)踐闡述一下關(guān)于VB程序設(shè)計(jì)教學(xué)方法改革的幾點(diǎn)看法。
一、采用實(shí)例教學(xué)法,增進(jìn)學(xué)生的學(xué)習(xí)積極性和形成對(duì)新概念的認(rèn)識(shí)。
VB程序設(shè)計(jì)是應(yīng)用性很強(qiáng)的一門課程,它既有理論又有實(shí)踐,既講方法又講動(dòng)手能力。教授VB程序設(shè)計(jì),象任何其他語言的程序設(shè)計(jì)一樣,教材中前幾章多數(shù)都是先介紹對(duì)象、 對(duì)象的屬性、方法和事件及VB語言基礎(chǔ)等等一系列的在程序設(shè)
2、計(jì)中比較抽象難懂的概念,然后才介紹程序的建立和運(yùn)行。從知識(shí)的邏輯結(jié)構(gòu)體系考慮,這樣安排無可非議,但從學(xué)生的認(rèn)知規(guī)律考慮,學(xué)生在毫無知識(shí)背景的前提下,要完全理解這些概念比較困難,同時(shí)也容易挫傷學(xué)生學(xué)習(xí)編程的積極性,教學(xué)效果可想而知了。因此在教學(xué)中,我打破課本原有以知識(shí)的邏輯結(jié)構(gòu)體系為順序組織課堂教學(xué)的方式,改用從簡單的實(shí)例入手,通過讓學(xué)生觀看、模仿,在實(shí)際操作中去探究和領(lǐng)悟這些概念,并適時(shí)地加以歸納總結(jié),讓學(xué)生在輕松愉快的氣氛中接受新知識(shí)。
例如,在一開始學(xué)習(xí)VB對(duì)象及對(duì)象的屬性、方法和事件的有關(guān)概念時(shí),我設(shè)計(jì)了一個(gè)求任意兩個(gè)數(shù)相加的程序?qū)嵗?,讓學(xué)生和我一起做。在操作的過程當(dāng)中,我不講解每件事
3、的含義,通過完成任務(wù)后,我通過設(shè)問,讓學(xué)生思考:什么是對(duì)象及對(duì)象的屬性、方法和事件?并讓學(xué)生找出本例中各對(duì)象的名稱、不同對(duì)象的屬性、方法和事件過程名稱,我再適當(dāng)加以歸納和小結(jié),在此基礎(chǔ)上,再適當(dāng)引導(dǎo)學(xué)生歸納總結(jié)出創(chuàng)建VB應(yīng)用程序的基本步驟,及如何在界面內(nèi)添加對(duì)象、設(shè)置事件等等,一切問題都迎刃而解。
實(shí)例教學(xué)法打破了以教材為中心的傳統(tǒng)教學(xué)模式,不按教材的順序授課,而是以精選出的程序?qū)嵗秊橹行?,把學(xué)習(xí)的重點(diǎn)放在具體實(shí)例的講述上,把要學(xué)習(xí)的語法和概念融入到具體實(shí)例中來講解。整個(gè)教學(xué)過程中強(qiáng)調(diào)學(xué)以致用,在應(yīng)用中學(xué)習(xí),從而避免了枯燥、繁雜的理論說教,不僅能增進(jìn)學(xué)生的學(xué)習(xí)積極性,而且對(duì)提高學(xué)生綜合分析和
4、解決實(shí)際問題的能力也大有幫助?!?
二、采用問題驅(qū)動(dòng)法,激發(fā)學(xué)生的學(xué)習(xí)主動(dòng)性和加深對(duì)一些概念的理解。
在VB程序設(shè)計(jì)課程中,有一些概念之間的差別和程序的設(shè)計(jì)步驟如果只通過教師講述,學(xué)生在字面上可以接受,但在理解深度上往往難以達(dá)到令人滿意的效果,如果能設(shè)計(jì)出一系列問題,讓學(xué)生在實(shí)踐和解決問題的過程中自己去探究和體驗(yàn),情況將完全是另一個(gè)樣子。比如,VB中的數(shù)據(jù)類型是一個(gè)學(xué)生比較抽象難懂的問題,為了讓學(xué)生切身感受整型變量、單精度變量、雙精度變量所能保存數(shù)據(jù)范圍的不同,我設(shè)計(jì)了如下的實(shí)驗(yàn)過程:
首先讓學(xué)生在窗體的Click事件中編寫一段程序,求5!,通過調(diào)試,學(xué)生很快編寫好如下程序:Dim I
5、As Integer:Dim X As Integer: X=1:for I=1 to 5 :X=X*I:Next I:Print “X=”;X,按F5鍵運(yùn)行,得出5!的正確結(jié)果。然后讓學(xué)生把程序稍微修改一下,求10!,這時(shí)很多學(xué)生迅速將程序修改為如下形式:Dim I As Integer:Dim X As Integer:X=1:For I=1 to 10: X=X*I: NextI:Print “X=”;X,按F5鍵運(yùn)行,結(jié)果發(fā)現(xiàn)屏幕上并沒有如預(yù)期想象的那樣給出正確結(jié)果,而是顯示出一個(gè)“數(shù)據(jù)溢出”的錯(cuò)誤提示對(duì)話框,這時(shí)學(xué)生紛紛提問,百思不得其解。這時(shí)教師適時(shí)地進(jìn)行點(diǎn)撥,提示學(xué)生將數(shù)據(jù)類型進(jìn)
6、行修改,把變量X定義為單精度型,試試看運(yùn)行情況如何。代碼如下:Dim I As Integer:Dim X As Single:X=1:For I=1 to 10 :X=X*I:Next I:Print “X=”;X ,再按F5鍵運(yùn)行,計(jì)算機(jī)給出正確結(jié)果。此時(shí)學(xué)生已基本明白了不同數(shù)據(jù)類型對(duì)數(shù)據(jù)取值范圍的影響,這時(shí)教師再繼續(xù)提出問題,要求學(xué)生修改程序,求100!,代碼如下:Dim I As Integer:Dim X As Single:X=1:For I=1 to 100 :X=X*I:Next I:Print “X=”;X ,按F5鍵運(yùn)行,學(xué)生發(fā)現(xiàn)計(jì)算機(jī)又顯示“數(shù)據(jù)溢出”錯(cuò)誤。這時(shí)大家都猜到
7、問題可能是出在變量所定義的數(shù)據(jù)類型上,紛紛修改數(shù)據(jù)類型,將程序中變量X定義為雙精度類型:Dim I As Integer:Dim X As Double:X=1:For I=1 to 100:X=X*I:Next I:Print “X=”;X ,再按F5鍵運(yùn)行,計(jì)算機(jī)給出正確結(jié)果,問題解決。到此為止,教師的教學(xué)目標(biāo)已基本達(dá)到。
在本例中,程序整體變化不大,占用時(shí)間也不多,但通過如此一個(gè)操作過程,學(xué)生對(duì)整型數(shù)據(jù)、單精度型數(shù)據(jù)和雙精度型數(shù)據(jù)之間的區(qū)別一目了然。另外,由于一切都要求學(xué)生自己動(dòng)手動(dòng)腦設(shè)計(jì),他們?cè)诓僮鬟^程中探究和解決問題的積極性和主動(dòng)性得到了調(diào)動(dòng)。
三、采用條件遷移法,培養(yǎng)學(xué)生的創(chuàng)
8、新思維和促進(jìn)學(xué)生綜合編程能力的提高。
條件遷移法是指在教學(xué)過程中,注意通過在書本原有程序的基礎(chǔ)上逐漸改變和增加條件的方法來提高學(xué)生對(duì)程序的分析理解和舉一反三的綜合能力。
例如,學(xué)生在學(xué)習(xí)For……Next循環(huán)時(shí),書本內(nèi)給出了一段求1到100之間所有奇數(shù)和的程序。這段程序在學(xué)生弄懂FOR……NEXT循環(huán)語句之后,理解起來是并不困難的,但為了提高學(xué)生的綜合編程能力,我要求學(xué)生對(duì)原程序條件做如下幾種變化:
⑴求1到100之間所有偶數(shù)的和,要求步長為2。
⑵求1到100之間所有偶數(shù)的和,要求步長為1。
⑶在程序運(yùn)行過程中任意輸入一個(gè)自然數(shù)N,求1到N之間所有偶數(shù)的和。
這里第⑴小題和課本原
9、程序相比難度不大,只要將循環(huán)控制變量的初始值改為2即可,學(xué)生通過模仿就可以完成。第⑵小題增加了難度,在編程過程中,需要做兩點(diǎn)變化:一要將循環(huán)控制變量的變化范圍改為從1到50,二要修改循環(huán)體,將循環(huán)體語句變?yōu)镾=S+2*I。要做到這些變化,需要學(xué)生對(duì)For……Next循環(huán)語句有比較深刻的理解并能創(chuàng)造性地予以運(yùn)用。第⑶小題在第⑵小題的基礎(chǔ)上又增加了個(gè)條件,即循環(huán)變量的終止值需用變量N來表示,因此需要在程序的前面增加一條定義變量N的語句,還需要使用InputBox語句在程序運(yùn)行的過程中將終止值輸入給變量N,這就要求學(xué)生能夠把前面所學(xué)的知識(shí)綜合起來運(yùn)用,對(duì)剛剛學(xué)習(xí)編程的學(xué)生來說這還是有一定難度的,但通
10、過練習(xí),學(xué)生的創(chuàng)新思維和綜合編程能力可以得到訓(xùn)練和明顯提高。
總之,教學(xué)有法,教無定法,只要教學(xué)得法。實(shí)踐證明,在教學(xué)過程中,學(xué)生知識(shí)的獲得、能力的培養(yǎng)、智力的發(fā)展,不可能只依靠一種教學(xué)方法,必須把多種教學(xué)方法合理地結(jié)合起來,并根據(jù)教學(xué)過程的實(shí)際情況,靈活地、創(chuàng)造性地掌握教學(xué)過程,以爭取獲得最大的教學(xué)效果。VB程序設(shè)計(jì)課程教學(xué)的主要目標(biāo)是為了使學(xué)生了解現(xiàn)代程序設(shè)計(jì)理論中的面向?qū)ο缶幊毯徒Y(jié)構(gòu)化程序設(shè)計(jì)等基本思想,培養(yǎng)現(xiàn)代程序設(shè)計(jì)過程中所需要的一些基本能力,如邏輯推理能力和抽象思維能力等,養(yǎng)成盡可能嚴(yán)密、合理和邏輯地思考和解決問題的習(xí)慣。圍繞著這個(gè)目標(biāo),在充分發(fā)揮學(xué)生學(xué)習(xí)積極性的前提下,按照學(xué)生的認(rèn)知規(guī)律組織教學(xué),一切可行的教學(xué)方法都可以在我們的教學(xué)過程中加以運(yùn)用。
2007年7月2日