丁海燕
摘要:Visual Basic程序設計是高校面向非計算機專業(yè)開設的一門公共基礎課,旨在培養(yǎng)理科生的Windows應用程序開發(fā)能力,以解決專業(yè)上的實際問題。文章分析Visual Basic的情感教學、案例教學和教學內(nèi)容的結(jié)構性,注重從學生學習情感、教學方法和教學內(nèi)容體系等方面進行探討。
關鍵詞:VB;程序設計;案例教學;情感教學;結(jié)構性教學
0.引言
隨著計算機技術在各個領域的推廣、普及,掌握計算機技術、學會利用信息資源是對21世紀人才素質(zhì)的基本要求。國家教育部根據(jù)高等院校非計算機專業(yè)的計算機培養(yǎng)目標,提出了計算機文化基礎、計算機技術基礎和計算機應用基礎3個層次的課程體系。
Visual Basic(VB)程序設計作為高校公共計算機程序設計基礎課,屬于非計算機專業(yè)3個課程體系層次中的第2個層次課程。無論是開發(fā)功能強大、性能可靠的軟件,還是編寫處理實際問題的實用小程序,Visual Basic都是一種高效率的編程語言。Visual Basic程序設計的教學任務是培養(yǎng)學生高級語言程序設計的能力,使學生掌握面向?qū)ο蟮某绦蛟O計思想和方法,掌握使用Visual Basic開發(fā)Windows應用程序的一般方法,能夠運用所學的知識開發(fā)圖形用戶界面的應用軟件,從而達到學生能夠結(jié)合自身專業(yè)進行軟件開發(fā)的目的。
VB程序設計課程特點是概念繁多、算法抽象、邏輯性強,在實際教學過程中學生容易感到程序設計枯燥、難懂,學習興趣缺失,教學效果并不理想。如何在計算機程序設計教學中提高學生學習興趣,培養(yǎng)編程與創(chuàng)新能力,是廣大計算機教師需要不斷探索的課題。
1.VB教學中存在的問題及思考
VB程序設計包括界面設計和代碼設計兩部分??梢暬慕缑嬖O計實現(xiàn)不難掌握,但代碼編寫較難。教學中學生普遍存在的主要問題有:①由于學生第一次接觸編程,普遍缺乏相應的邏輯思維和算法思想,加之VB涉及的概念比較繁雜,控件的屬性、事件、方法較多,學生掌握不熟練,學習存在一定困難;②學生對解決問題的思路和方法即算法掌握得不太好;③學習興趣不足,有畏難情緒,進入編程狀態(tài)比較慢;④學生重課本、輕實踐,課外自學以及分析、解決問題的能力較為薄弱。
從教師角度而言,講授該課程應注重使學生掌握程序設計的基本方法、思路和技術內(nèi)涵,有兩方面的問題值得思考:①為解決程序設計枯燥難懂的問題,在教學過程中如何將抽象的概念和理論轉(zhuǎn)化為形象生動的知識講解給學生,即如何提高學生的學習興趣,從而引導學生自主學習;②教材內(nèi)容較多,VB語法規(guī)則繁多、使用靈活,如何才能避免教學陷入語法細節(jié),體現(xiàn)知識點的關聯(lián)性和教學的整體結(jié)構性。
2.VB的情感教學
VB程序設計作為一種高級程序設計語言是人與計算機溝通的方式,解決問題的思維方式與我們?nèi)粘2煌2簧賹W生在較短的學習周期內(nèi)無法逾越這個障礙,造成挫折感一步步加強,導致學習興趣進一步下降。
目前VB程序設計普遍采用的是“多媒體教學+上機實習”的教學方式,教師課堂上忙于講解各種控件的屬性、事件和方法以及函數(shù)、表達式、結(jié)構化程序設計語句、VB命令和語法等。這樣的方式以教師講授為主導,偏重學習者理性思維的訓練,卻嚴重忽視了學習者情感智能的發(fā)展?,F(xiàn)代腦科學研究表明,情感與注意、記憶、推理和決策過程緊密關聯(lián),情緒是推理過程的組成要素,它可以協(xié)助推理,甚至在某些情況下可以代替推理,即如果學生在VB學習過程中的某些問題得不到解決,在心理上存在困惑而得不到幫助,長時間面對VB枯燥抽象的概念和命令而感受不到交互的樂趣和情感的激勵時,就會產(chǎn)生反感情緒。
計算機教學的特點是概念抽象,技術性和實踐性較強,教師往往專注于知識和技術本身的傳遞,局限于言語溝通的知識交流中,而缺失目光的接觸、肢體語言、面部表情和其他非語言的交流信息,這樣很容易導致情感溝通的缺乏。情感缺失所帶來的不良后果是認知與情感的失衡,導致無效或低效學習。因此,在VB課堂上,教師要十分注重學生的反應和與學生之間的互動,充分利用案例教學和項目教學法,做到生動教學。
3.VB的案例教學
課堂教學是傳授知識和培養(yǎng)學生能力的主要渠道,是提高教學質(zhì)量的中心環(huán)節(jié)。VB程序設計教材的主要內(nèi)容包括VB集成開發(fā)環(huán)境VisualBasic6.0介紹,數(shù)據(jù)類型、運算符與表達式,3種結(jié)構化程序設計語句(順序、分支和循環(huán)),一維和二維數(shù)組,函數(shù)、多媒體、文件以及數(shù)據(jù)庫編程。教材內(nèi)容的組織雖然按照知識點進行了歸類,但知識點分散、跨度大,概念多、分析少,語言不夠形象,較難理解。
如果按照課本原有順序組織教學,一開始介紹面向?qū)ο蟪绦蛟O計的概念,諸如對象,對象的屬性、方法、事件,事件驅(qū)動等一系列比較抽象難懂的概念,學生就會覺得非常枯燥、單調(diào),甚至喪失學習興趣。因此,在教學過程中,應該按照學生的認知規(guī)律,從淺入深、從簡單到復雜,抓住圖形用戶界面和事件驅(qū)動這一教學主線。例如,在第一堂課上,先不講對象3要素(屬性、方法和事件)的定義,而是演示一個實例,輸入兩個數(shù),實現(xiàn)求和并輸出結(jié)果,讓學生在實際操作過程中從直觀上感悟這些概念,然后再和學生一起歸納總結(jié)。這樣,學生獲得的知識和概念不是照本宣科的定義,而是運用歸納法產(chǎn)生的內(nèi)化新知識。操作步驟如下:
(1)新建工程,新建兩個窗體fonnl和form2:
(2)在forml窗體上添加3個標簽、3個文本框和3個命令按鈕;
(3)分別設置各對象的屬性(如標簽文本、按鈕文本、字體、顏色等);
(4)分別雙擊forml窗體上的3個命令按鈕,進入代碼窗口并輸入下列程序:
Private Sub Commandl_Click()
Dimx!,y!
x=Textl,Text
y=Text2,Text
Text3.Text=x+y
Forml.print“hello world!”
End Sub
Private Sub Command3_Click0
Form2.Show
Form2.BackColor=RGB(255,255,255)
Form2.Print“hello world!”
Form2.Print“hello world!”
End Sub
學生在操作過程中很自然地就能理解什么是對象,什么是對象的屬性、方法和事件,什么是事件驅(qū)動機制,如何在窗體上添加對象、編寫事件代碼等。教師適當引導學生得出新概念,如標簽、文本框、按鈕是不同的對象;每個對象的外觀可以通過各自的屬性來控制;屬性設置可以有兩種方法,一種是在窗體上選中對象,在屬性窗口設置相應屬性,另一種是在代碼窗口通過編程設置,如Form2,BackColor=RGB(255,255,255)。對象的方法是對象本身具有的、實現(xiàn)對象功能的特殊過程或函數(shù)(如print,show)。print方法實現(xiàn)在窗體上的輸出,show方法實現(xiàn)顯示窗體,引用對象的屬性和方法的格式為:對象名,屬性名,對象名,方法名。事件是對象所得到的動作(單擊Click事件),按鈕最常用的事件是單擊事件。運行程序時,用戶單擊哪個按鈕就執(zhí)行對應的事件處理程序,完成相應功能,這就稱為事件驅(qū)動的編程機制。
通過這一教學實例,對象的三要素(屬性、事件、方法)這一抽象難懂的概念就變得生動具體,并且學生還領會到了對象三要素之間的聯(lián)系和引用方法。在此基礎上,最后歸納總結(jié)編寫VB程序的5個基本步驟,即設計應用程序界面、設置對象的屬性、編寫相應的事件過程代碼、保存和運行程序、生成EXE可執(zhí)行文件。在學生體驗到編程的樂趣后,接下來的實驗課可以讓學生嘗試獨立編程。
案例教學法即以任務為主導,把每堂課的教學內(nèi)容設計成一個個具體的實例。教師每次上課首先展示一個程序?qū)嵗?,該實例包括當天所要講的新控件、新語句;然后講解實現(xiàn)這一程序的基本思路,提出算法,由淺入深,引導學生主動思考。案例教學在講解過程中重新對內(nèi)容進行了歸納總結(jié),將難點分散,達到了循序漸進的效果,也極大地激發(fā)了學生的學習興趣。
4.注重理論聯(lián)系實際
為了增強學生對VB程序設計的學習興趣,教師應避免第一次課就開始講授基本理論、基本概念,可以為學生展示一些由VB開發(fā)的一些難度適中的小軟件、小游戲,如九九乘法表、龜兔賽跑、歌手評分、計算器、通訊錄、時鐘計時、小學生整數(shù)的加減運算、用戶登錄等。此外,為了開闊學生的視野,還要注重理論聯(lián)系實際,可以演示用VB編程實現(xiàn)各種分形圖形的生成,介紹VB在Office中的使用等。例如,在利用Powerpoint制作課件時,用VB編程實現(xiàn)當用戶單擊某一選擇題的選項時,會即時出現(xiàn)該選項是否正確的提示。通過這個案例,學生不僅提高了PPT的制作技巧,還學會了VB編程,可謂一舉兩得。用VB控件制作選擇題的PPT界面如圖1所示。
選項A和B的VB程序代碼如下所示,選項C和D的代碼與選項A相同。
Private Sub A_Click0
IfA.Value=True Then ex=MsgBox("正確答案是B。”,vbOKOnly)
End Sub
Private Sub B_Click()
If B.Value=True Then ex=MsgBox(“Very Good!”,vbOKOnly)
End Sub
5.VB教學內(nèi)容的結(jié)構性
教育學家布魯納指出:不論我們教的內(nèi)容是什么,首先都應該使學習者理解(掌握)該學習內(nèi)容的基本結(jié)構。他還指出結(jié)構是知識構成的基本架構,具有結(jié)構性的教學內(nèi)容更易于學生理解,并且學后不容易遺忘,而學生從結(jié)構中所學到的原理、原則有助于在以后類似情境中產(chǎn)生正向?qū)W習遷移。因此,在VB的教學過程中也要注意教學內(nèi)容的結(jié)構性。云南大學制定了相適應的教學內(nèi)容體系,包括三大版塊:①基礎版塊,包括VB開發(fā)環(huán)境、基本語法,3種程序控制結(jié)構、數(shù)組、過程,常用控件的使用等,要求學生掌握面向?qū)ο蟪绦蛟O計的基本思想和方法,教師強化基礎重點知識教學,弱化全局變量、多文檔界面、二進制文件等章節(jié)。②綜合應用版塊,涉及圖形用戶界面設計,包括菜單、工具欄和文件操作等內(nèi)容;③提高版塊,包括數(shù)據(jù)庫編程技術、圖形生成、多媒體編程技術、應用程序的開發(fā)過程等,是整個教學內(nèi)容體系中的提高部分,這部分內(nèi)容可布置一些綜合性的項目作業(yè)使學生對VB應用系統(tǒng)開發(fā)技術有更深入的了解。
6.結(jié)語
總之,在教學過程中,精心設計教學案例,注重與學生的情感交流,創(chuàng)建活躍的課堂氣氛,采取符合學生認知規(guī)律的教學方法,注重教學由淺人深,采用結(jié)構性的教學體系,改革考試方式,加強上機實踐的管理,才能獲得最佳的教學效果。
(編輯:宋文婷)