摘 要:本文介紹了在VB程序設計教學中,提高教學效果,解決程序設計本身枯燥、難懂的問題和培養學生求解問題能力的方法。
關鍵詞:VB程序設計 教學過程 能力
VB程序設計是大多高校必開的計算機基礎課程,在我校,VB也針對絕大多數院系開課。但由于課程比較枯燥難學,學生對程序設計畏懼、對程序設計思想不理解等諸多原因,導致VB課程教學效果達不到預期效果。通過幾年的VB基礎教學,我總結了一些教學經驗,在此與大家分享。
一、好的開始是成功的一半,基礎必須打好
VB是一門面向對象、事件驅動機制的程序設計課程,為了以后能更好、更深入地學習,必須在開始時就讓學生理解和掌握面向對象和事件驅動兩大特點,這樣在后續學習中,學生才能合理地使用合適的對象和事件。
在具體教學過程中,我通過一個淺顯易懂的例子進行詳細講解。比如“一行內容在窗體左、右移動;移動兩種方法:手動和自動,當自動時,文字閃爍顯示”,程序運行界面如圖1所示:

講解過程中,首先讓學生看清楚題意,看清題目的目的和要求,提示學生找出這個題目中要進行操作的對象是什么,該對象該如何在窗口中體現,對對象的操作是什么。得出的結論是要操作的對象是“一行內容”,可以用一個能夠顯示文本的控件實現,操作是“左、右移動”。然后運行程序,通過演示程序運行,讓學生們找出驅動結果顯示的事件是什么。結論是單擊“手動”和“自動”按鈕,才能得到相應的結果。通過多個簡單例題的引導,通過對學生提問,激發學生思考,讓學生真正掌握對象的含義和事件驅動的含義,并能在給出的題目中說出需要添加什么對象,用什么事件來驅動。掌握好了這些,就為以后的學習奠定了堅實的基礎。
二、實例教學和任務驅動機制貫穿始終
VB語言內容繁多,層次性較差,采用“案例引入,上機實踐,質疑解惑”的方式,學生即學即練,上手快,興趣濃,有成就感。以VB的基礎內容控件、控件屬性、事件和方法為例。單個講解的話很容易枯燥乏味,學生也難以真正體會其用途。教師應設計一個綜合實例,實例應注重知識的系統性、完整性和連貫性。我以學生最經常接觸的“登錄界面”為例進行了講解。程序運行界面如圖1-4所示:
本實例包含兩個窗體,主要涉及窗體、標簽、文本框、命令按鈕、圖片等控件,通過本例可以詳細講解每個控件適合用在什么情況,以及相應屬性、事件和方法的使用。由于此例學生經常遇到,所以可以很好地理解,便于掌握。控件外觀屬性如圖1-4設置。
窗體一的代碼如下:
Private Sub Command1_Click()‘按鈕單擊事件
Form1.Hide‘窗體一隱藏,hide方法的使用
Form2.Show ‘窗體二顯示,shoe方法的使用
End Sub
窗體二的代碼如下:
Private Sub Form_Load()
Command1.Enabled = False ‘按鈕可編輯屬性設置,
窗體剛
Command2.Enabled = False 加載時是不可編輯的
Picture1.Picture = LoadPicture(″e:\素材\002.bmp″)
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer) ‘文本框 接收輸入事件
Command1.Enabled = True ‘此時按鈕變為可編輯
End Sub
Private Sub Command1_Click()
Picture1.Print ″用戶″; Spc(2); Text1.Text; Spc(2); ″登錄成功″
Command1.Enabled = False
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
Picture1.Cls
Text1.Text = ″″
Text2.Text = ″″
Text1.SetFocus ‘文本框獲得焦點
End Sub
三、問題求解能力的培養
Gagné說過:“教育的中心目標就是教會人們思考,運用他們的理性,成為更好的問題解決者。”VB的學習重點是程序設計,是用它來編程實現生活中的問題,所以單純地靠講解一些實例是遠遠不夠的,關鍵是要培養學生發現問題、分析問題和解決問題的能力。我采取的方法是給出初始創意,讓學生給出擴展功能及相關功能的解決思路,最終能夠轉換為程序。仍以上例為例,讓學生盡可能補充添加功能,并描述該用何方法,什么結構等等來實現,并以作業的形式交上來,然后課堂上給予總結,上機讓學生實現,并給予指導。上例可以添加的功能很多,如輸入不能為空,如果為空給出錯誤提示(分支語句和Msgbox的應用);密碼校驗功能(分支語句實現);設置輸入次數不能超過3次(循環語句實現)等等。這樣的方式使得學生能夠積極地思考,并能夠把理論知識同現實結合起來,從而促進了學生更多問題的處理解決能力,形成了程序設計思維。
對一個題目要求用幾種方法來實現,以此提高學生對程序的分析理解和舉一反三的綜合能力。例如,求1到100之間所有奇數的和。比較容易想到的是用For……Next循環語句實現。要求學生用Do While……Loop和Do……Loop While……來分別實現,學生就必須考慮這三者之間的聯系和區別,以及各自的語句執行特點、循環次數的控制和退出循環的方法等。這樣既使學生從多個角度考慮了問題,也對這三種循環結構有了更深的理解。更進一步,要求學生求1到N之間所有奇數的和。循環變量的終止值需用變量N來表示,因此需要在程序的前面增加一條定義變量N的語句,還需要使用InputBox語句在程序運行的過程中將終止值輸入給變量N,這就要求學生能夠把前面所學的知識綜合起來運用,學生的創新思維和綜合編程能力可以得到訓練和明顯提高。
四、抓好上機實踐環節
上機是提高學生實踐和動手能力的關鍵,所以要嚴格要求。做法是嚴格上機制度,上機表現直接跟成績掛鉤。學生自主意識較差,如果不明確布置任務,他們就會渾水摸魚,上機無事可做,所以每次必須要詳細分配任務,并且任務要具備趣味性、應用性和綜合性,由易到難、由簡到繁,充分調動他們的上機主動性和自我發揮能力。并且要鼓勵學生積極提問、互相幫助,耐心給學生指導,充分利用好每一次上機課。
五、結語
教學效果的好壞,關鍵在于教學過程設計的好壞,如果能夠充分調動學生的積極性和自主意識,那么我們的教學就已經成功了一半。因此作為教師要不吝于花心思研究教學過程和教學方法,不拘于形式地用各種方法來設計教學過程,以爭取獲得最大的教學效果。