摘 要:對于非計算機專業(yè)的學(xué)生來說,Visual Basic高級語言程序設(shè)計課程的學(xué)習(xí),為用計算機解決自身專業(yè)相關(guān)的實際問題提供一種重要途徑。作為非計算機專業(yè)公共基礎(chǔ)課,其理論性、實踐性強,教學(xué)難度相對加大。文章就如何提高VB程序設(shè)計課程的教學(xué)質(zhì)量,進行了多層面的探索,強調(diào)了教師在教學(xué)活動中的靈活性和主動性,注重多種教學(xué)手段和方式的結(jié)合。目的是通過程序語言的學(xué)培養(yǎng)學(xué)生的基本計算機素養(yǎng),為學(xué)生今后的發(fā)展打下良好的基礎(chǔ)。
關(guān)鍵詞:VB;程序設(shè)計;實例;多層次
一、教學(xué)中遵循理論與上機循序漸進,基本實例與綜合實例有機結(jié)合
(一) 對書本知識進行精心編排,注重背景知識和基本概念的結(jié)合
我們注意到,在VB程序設(shè)計語言的教材布局上,往往是先從基本的語法現(xiàn)象入手,比如先介紹數(shù)據(jù)類型常量變量等,實際上,教學(xué)過程中演示這些基本數(shù)據(jù)類型的例子本身就會涉及對象、屬性、事件、方法。VB課程的教學(xué)是面對非計算機專業(yè)學(xué)生,缺乏對windows程序運行機制的相關(guān)背景知識。因此,VB教學(xué)中,講解基本概念和VB的事件驅(qū)動機制、可視化程序設(shè)計必須結(jié)合在一起。如果教師在講解基本概念的時候照本宣科,演示數(shù)據(jù)類型的程序?qū)嵗臅r候,由于對VB的運行機制和可視化程序設(shè)計的方式不了解,學(xué)生的注意力并不關(guān)注也不理解教師講解的內(nèi)容,而是去思考這個程序的實現(xiàn)過程是什么,可是由于沒有關(guān)于對象的基本概念,立刻造成了理解障礙,不但對應(yīng)該掌握的知識點一頭霧水,對程序設(shè)計也產(chǎn)生了一種恐懼心理,這個是我在VB教學(xué)中的深刻體會。
因此,在VB教學(xué)中教師應(yīng)當(dāng)時刻關(guān)心學(xué)生的知識結(jié)構(gòu),從學(xué)生的思維角度去考慮問題,必要的整合教材的相關(guān)知識點,特別要注意相關(guān)知識點的穿插講解,打破學(xué)生的思維障礙。比如在講解VB循環(huán)結(jié)構(gòu)的時候,可以和后面的數(shù)組知識聯(lián)系起來,使學(xué)生明白為什么在有了變量這個概念以后還需要引入數(shù)組,而且通過循環(huán)結(jié)構(gòu)對數(shù)組元素的打印,深化對循環(huán)結(jié)構(gòu)的認識。有機地改變課本知識的邏輯結(jié)構(gòu),以相關(guān)的知識點靈活組織課堂教學(xué),通過讓學(xué)生觀看,在實際操作中主動模仿,領(lǐng)悟這些概念,最終引導(dǎo)學(xué)生明白抽象的理論知識并不神秘,讓學(xué)生在輕松愉快的氣氛中接受新知識。
(二)VB程序設(shè)計是面向應(yīng)用的科學(xué),注重理論和動手的結(jié)合
1.注重基本問題的上機操作。對VB有恐懼心理的同學(xué)往往是在學(xué)習(xí)的初期沒有能夠理解VB的上機環(huán)境,數(shù)據(jù)類型,變量等最基本的概念,而這些概念通過上機的直接觀察是很容易理解的。教師在教學(xué)中一定要把握住學(xué)生的思維和背景知識,一個簡單的概念經(jīng)常成為學(xué)生學(xué)習(xí)程序設(shè)計語言的重大障礙,對學(xué)生的自信心和學(xué)習(xí)熱情都會產(chǎn)生影響。因此,在VB教學(xué)的初期,要把基本的上機操作和基本的語法知識結(jié)合介紹相關(guān)的背景知識講透,為學(xué)生的上機操作和后續(xù)學(xué)習(xí)掃清不必要的障礙。
2.演示實例,引導(dǎo)學(xué)生模仿。教師可以通過對實例系統(tǒng)的調(diào)試、改進,開拓學(xué)生編程思路,融合相關(guān)的知識點,必要時候允許學(xué)生通過模仿、達到熟練掌握的目的。模仿是學(xué)習(xí)程序設(shè)計重要的一環(huán),即使對熟練的程序設(shè)計人員而言,也常常需要參考,或者說模仿別人成熟的代碼,整個是程序開發(fā)的基本特點。因此,教師應(yīng)鼓勵學(xué)生采用模仿的方式去實現(xiàn)不同的應(yīng)用需求,達到靈活應(yīng)用,舉一反三。
3.深化實踐教學(xué),以理論課教學(xué)為基礎(chǔ),通過案例的整合,形成不同層次的上機項目,供學(xué)生選擇。對于理解能力強的學(xué)生而言,可以通過有一定難度的實踐課,達到培養(yǎng)學(xué)生分析問題和解決問題的能力,為今后的深入自學(xué)打下良好的基礎(chǔ)。對掌握綜合案例有困難的學(xué)生,老師更應(yīng)以基本案例為基礎(chǔ),強化基本知識點,逐步提高這類學(xué)生對VB的學(xué)習(xí)能力。教師應(yīng)親自指導(dǎo),與學(xué)生一起上機實驗,隨時監(jiān)控學(xué)生實驗過程。對學(xué)生提出的問題及時予以指導(dǎo),發(fā)現(xiàn)學(xué)生常犯的共性錯誤,可在理論課上進行點評。
(三)教學(xué)手段多樣化
根據(jù)程序設(shè)計課程的特點,除了采用傳統(tǒng)的教學(xué)方法如:引入問題、問題討論、概念解析外,可以采用教學(xué)手段結(jié)合進行:
1.獨立實例和綜合實例結(jié)合進行
獨立實例教學(xué)法可以加強對每個知識點的運用和理解,但對前后知識往往沒有連貫性,對學(xué)生的實際應(yīng)用能力提高不大。因此在教學(xué)實踐中體會到,除經(jīng)典的獨立實例外,將一個有實用價值的、典型的、規(guī)模較大的、綜合實例的實踐應(yīng)用于教學(xué)全過程,不但可以對整個VB應(yīng)用程序的開發(fā)有觀念上的認識,也可以全面提高學(xué)生的編程能力。如提出問題:設(shè)計一個“學(xué)生管理系統(tǒng)”。首先,用最基本的概念和最簡單的界面,給出該系統(tǒng)的第一個框架版本,以后的每一次課,都對該系統(tǒng)提出新的功能和結(jié)構(gòu)上的要求,并用本次課介紹的新概念和新方法對它進行功能上的擴充和結(jié)構(gòu)上的改進。每次得到該系統(tǒng)的一個增強的新版本。學(xué)生隨著教學(xué)的深入,會更有興趣地積極投入到對實例系統(tǒng)的調(diào)試、改進中,不但掌握了所學(xué)的基本知識,同時也提高了編程能力。
2.通過分析上機錯誤,引導(dǎo)學(xué)生理解課本上的概念,學(xué)習(xí)調(diào)試方法。
學(xué)生對數(shù)據(jù)類型、變量、運算符、表達式等語言規(guī)則的掌握需要一個過程,對結(jié)構(gòu)化程序設(shè)計的知識需要不斷積累。經(jīng)常聽到學(xué)生反映能聽懂老師授課的內(nèi)容,但自己編制的程序往往在機器上難以運行。課堂上,可以將容易出錯的概念以反例形式展示給學(xué)生,讓學(xué)生主動找錯誤,通過上機運行去發(fā)現(xiàn),比如下面錯誤使用邏輯運算符的例子。
用if語句編程計算下列分段函數(shù)值:
|x2+x-3 x<0且x≠-3
f(x)= |x2-5x+60≤x<10且x≠2及x≠3
|x2-x-1其他
學(xué)生往往編寫為:
Private Sub Command1_Click()
Dim x!, y!
x = Val(InputBox(“x=”))
y = x * x - x– 1
If x < 0 And x <> -3 Then
y = x * x + x– 6
ElseIf 0 <= x < 10 And x <> 2 And x <> 3 Then
y = x * x - 5 * x + 6
End If
Print “x=”; x, “y=”; y
End Sub
ElseIf 0 <= x And x < 10 And x <> 2 And x <> 3 Then
乍看起來,似乎程序沒有什么錯誤,實際上學(xué)生把數(shù)學(xué)符號的用法和VB中符號的用法混淆了。在VB中0<=x<10的表示方法雖然能夠使程序運行下去,但含義發(fā)生了變化。比如輸入x=10的時候,程序得到錯誤的結(jié)果為56,這是因為,VB首先計算0<=10為True,然后計算出True<10的結(jié)果仍然為真,因此有10*10-5*10+6=56這個錯誤結(jié)論。正確結(jié)果應(yīng)該把0<=x<10改寫為0 <= x And x < 10,這樣當(dāng)輸入x=10時,0<=10為True,x < 10為False,整個表達式的結(jié)果為False,程序的分支應(yīng)該走的是y = x * x– x–1=10*10–10–1=89這條語句的結(jié)果。通過諸如此類的反例教學(xué),使學(xué)生對分支語句以及VB邏輯運算符的理解達到一個新水平。
(四)用直觀的方式培養(yǎng)學(xué)生利用程序設(shè)計語言理解和實現(xiàn)算法的能力
算法(Algorithm):計算機解題的基本思想方法和步驟。學(xué)生算法思維的形成是程序設(shè)計語言教學(xué)中的難點,也是學(xué)好程序設(shè)計語言最重要因素。程序本質(zhì)上就是用一定的語法去實現(xiàn)算法思想,教學(xué)中,我往往采用直觀教學(xué)法來讓學(xué)生去理解算法,因為算法本身就是一種解題方法和步驟,可以讓學(xué)生代表不同的數(shù)字排列起來,通過表演的方式模擬冒泡排序,課堂不但活躍,而且學(xué)生也非常輕松地理解了。
二、結(jié)束語
通過VB程序設(shè)計語言的教學(xué),使我逐步認識到程序設(shè)計語言教學(xué)是一項復(fù)雜的系統(tǒng)工程,隨著計算機科學(xué)的發(fā)展,對教師的教學(xué)水平的要求也越來越高,盡管在教學(xué)實踐中總結(jié)的一些經(jīng)驗,獲得了一些效果,但與因材施教的教學(xué)模式仍有差距。教學(xué)上的改革和探索一定要與實際相結(jié)合,遵循因時、因地、因人而異的原則,采用靈活多樣的教學(xué)手段、教學(xué)方法,充分調(diào)動學(xué)生的積極性,培養(yǎng)學(xué)生自主學(xué)習(xí)的能力,為學(xué)生今后各個領(lǐng)域的學(xué)習(xí)和研究打下堅實的基礎(chǔ)。
參考文獻:
[1]吳長海,陳達.Visual basic程序設(shè)計教程[M].湖北科學(xué)技術(shù)出版社,2007,(1).
[2]王棟.Visual Basic程序設(shè)計實用教程(第3版)[M].北京:清華大學(xué)出版社,2007.