(江蘇省徐州技師學院 江蘇徐州 221151)
【摘要】VB是一門面向對象的程序設計語言,本文就中職學校該門課程的教學方法以及如何提高學生的知識運用能力和程序開發(fā)能力進行了探討。
【關鍵詞】程序設計;探討;實踐
傳統(tǒng)程序設計一般采用模塊化結構的思想,是一種面向過程的程序設計方法,就是做什么、怎么做的過程。而VB是面向對象的程序設計方法,是以事件驅動為目的的。本文通過分析Visual Basic程序設計課程的特點,對該課程教學思想、教學方法與教學過程方面作了一些探索和實踐。
一、采用問題驅動法,激發(fā)學生的學習主動性和加深對一些概念的理解。
在VB程序設計課程中,有一些概念之間的差別和程序的設計步驟如果只通過教師講述,學生在字面上可以接受,但在理解深度上往往難以達到令人滿意的效果,如果能設計出一系列問題,讓學生在實踐和解決問題的過程中自己去探究和體驗,情況將完全是另一個樣子。比如,VB中的數(shù)據(jù)類型是一個學生比較抽象難懂的問題,為了讓學生切身感受整型變量、單精度變量、雙精度變量所能保存數(shù)據(jù)范圍的不同,我設計了如下的實驗過程:
首先讓學生在窗體的Click事件中編寫一段程序,求5!,通過調試,學生很快編寫好如下程序:Dim I As Integer:Dim X As Integer:X=1:for I=1 to 5:X=X*I:Next I:Print “X=”;X,按F5鍵運行,得出5!的正確結果。然后讓學生把程序稍微修改一下,求10!,這時很多學生迅速將程序修改為如下形式:Dim I As Integer:Dim X As Integer:X=1:For I=1 to 10:X=X*I:NextI:Print “X=”;X,按F5鍵運行,結果發(fā)現(xiàn)屏幕上并沒有如預期想象的那樣給出正確結果,而是顯示出一個“數(shù)據(jù)溢出”的錯誤提示對話框,這時學生紛紛提問,百思不得其解。這時教師適時地進行點撥,提示學生將數(shù)據(jù)類型進行修改,把變量X定義為單精度型,試試看運行情況如何。代碼如下:Dim I As Integer:Dim X As Single:X=1:For I=1 to 10:X=X*I:Next I:Print “X=”;X ,再按F5鍵運行,計算機給出正確結果。此時學生已基本明白了不同數(shù)據(jù)類型對數(shù)據(jù)取值范圍的影響,這時教師再繼續(xù)提出問題,要求學生修改程序,求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鍵運行,學生發(fā)現(xiàn)計算機又顯示“數(shù)據(jù)溢出”錯誤。這時大家都猜到問題可能是出在變量所定義的數(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鍵運行,計算機給出正確結果,問題解決。到此為止,教師的教學目標已基本達到。
二、采用是實踐教學法,增進學生的學習積極性和形成對新概念的認識。
程序設計是應用性很強的一門課程,它既有理論又有實踐,既講方法又講動手能力。教授程序設計,象任何其他語言的程序設計一樣,教材中前幾章多數(shù)都是先介紹對象、對象的屬性、方法和事件及語言基礎等等一系列的在程序設計中比較抽象難懂的概念,然后才介紹程序的建立和運行。從知識的邏輯結構體系考慮,這樣安排無可非議,但從學生的認知規(guī)律考慮,學生在毫無知識背景的前提下,要完全理解這些概念比較困難,同時也容易挫傷學生學習編程的積極性,教學效果可想而知了。因此在教學中,我打破課本原有以知識的邏輯結構體系為順序組織課堂教學的方式,改用從簡單的實例入手,通過讓學生觀看、模仿,在實際操作中去探究和領悟這些概念,并適時地加以歸納總結,讓學生在輕松愉快的氣氛中接受新知識。
三、采用條件遷移法,培養(yǎng)學生的創(chuàng)新思維和促進學生綜合編程能力的提高。
條件遷移法是指在教學過程中,注意通過在書本原有程序的基礎上逐漸改變和增加條件的方法來提高學生對程序的分析理解和舉一反三的綜合能力。
例如,學生在學習For……Next循環(huán)時,書本內給出了一段求1到100之間所有奇數(shù)和的程序。代碼如下:Dim S as Integer:Dim I as Integer:S=0:For I=1 to 100 Step 2:S=S+I:Next I:Print “S=”;S,這段程序在學生弄懂FOR……NEXT循環(huán)語句之后,理解起來是并不困難的,但為了提高學生的綜合編程能力,我要求學生對原程序條件做如下幾種變化:
⑴求1到100之間所有偶數(shù)的和,要求步長為2。
⑵求1到100之間所有偶數(shù)的和,要求步長為1。
這里第⑴小題和課本原程序相比難度不大,只要將循環(huán)控制變量的初始值改為2即可,學生通過模仿就可以完成。第⑵小題增加了難度,在編程過程中,需要做兩點變化:一要將循環(huán)控制變量的變化范圍改為從1到50,二要修改循環(huán)體,將循環(huán)體語句變?yōu)镾=S+2*I。要做到這些變化,需要學生對For……Next循環(huán)語句有比較深刻的理解并能創(chuàng)造性地予以運用。對剛剛學習編程的學生來說這還是有一定難度的,但通過練習,學生的創(chuàng)新思維和綜合編程能力可以得到訓練和明顯提高。
四、運用多媒體輔助教學法,培養(yǎng)學生的形象思維和促進學生學習效率的提高。
傳統(tǒng)的教學方法是“黑板+粉筆”,而多媒體輔助教學法是利用先進的計算機、互聯(lián)網(wǎng)等多媒體技術進行授課的一種新型的教學方式。與傳統(tǒng)的教學手段相比它的優(yōu)點是:節(jié)約了板書時間,加大信息量,開闊知識面。并能挖掘出課本文字達不到的直觀、動態(tài)效果,使難以理解的抽象理論形象化、生動化,將學生帶入模擬場景,達到提高教學效率、增強學生學習興趣的目的。
VB程序設計教學中涉及到大量的算法和結構流程的描述,為此,我充分發(fā)揮自身的專業(yè)優(yōu)勢,運用多媒體輔助教學手段,通過計算機圖形顯示、動畫模擬及文字說明等,營造一個全新的圖文并茂、生動直觀的教學環(huán)境,從而大大增加了教學信息量,提高了學習效率,有效地刺激和培養(yǎng)了學生的形象思維。對一些重要的結構流程和算法,如分支結構的執(zhí)行原理、循環(huán)結構執(zhí)行原理等,我制作了專門的FLASH交互動畫,通過實例動態(tài)演示和模擬程序的執(zhí)行過程,并讓學生在課堂上進行自主探究式的學習,從而加深了學生對抽象原理的理解及方法的運用。與此同時,讓學生在接受理論知識的過程中還能體會到現(xiàn)代化信息技術的魅力,達到了傳統(tǒng)教學無法實現(xiàn)的教學效果。