薛傳谷
摘 要 程序設計語言是中職學校計算機專業(yè)的重要課程,也是學生反映非??菰?、抽象、難學的一門課程。如何做好VB教學一直是廣大計算機教師不斷探索和追求的問題。本文結合教學實踐探討了如何做好VB教學,培養(yǎng)學生的編程能力。
關鍵詞 程序設計 教學 編程能力
中圖分類號:G71文獻標識碼:A
Exploration on Developing Vocational Students'
Programming capability in VB Teaching
XUE Chuangu
Fujian Pingnan Vocational School, Ningde, Fujian 352300)
Abstract Programming language is the key course of vocational school computer science, students also reflect it's very boring, abstract and difficult to learn. How to teach VB well has been the problems majority of computer teachers continue to explore and pursue. This paper explores how to teach VB and develop students' programming skills.
Key words programming design; teaching; programming capability
對中職學生來說,VB程序設計的概念抽象、規(guī)則繁多,枯燥難學。然而中職學校教學目標卻要求:通過學習,學生不僅要掌握高級程序設計語言的知識,更重要的是在實踐中逐步掌握程序設計的思想和方法,培養(yǎng)問題求解和程序語言的應用能力。這就要求教師在教學上下功夫,想方設法促進學生編程能力的發(fā)展。
1 開展趣味教學,培養(yǎng)學生學習編程的主動性和積極性
愛因斯坦說:“興趣是最好的老師?!痹诮虒W中,教師設計與日常生活緊密結合的問題,或者從學生感興趣的事例引入問題,激發(fā)學習熱情,使學生主動學習、樂于學習。這樣的教學,必將收到意想不到的良好效果。教師在教學中安排的趣味教學問題要恰當,既要保證生動有趣,又要難易適中,使學生只要“跳一跳就能夠得著”。
教師可以安排實際應用類問題,促使學生產(chǎn)生想試一試的強烈愿望。比如,在火車站把托運行李重量編程轉換為價格;設計加減法練習題并自動計分;用VB程序設計簡單的動畫“蝴蝶飛舞”等。
2 抓住教材資源,以變促學,促進學生編程能力的發(fā)展
教材是編者辛勤勞動的成果,是知識與經(jīng)驗的結晶,它為師生提供了知識的源泉。由于學生的學習習慣、思維習慣、知識水平的具體情況有很大的差異性,如果不加思考地完全直接采納教材,對學生的發(fā)展是不利的。作為教師,要杜絕“一味的拿來主義”,應該鉆研教材,積極做好“變化”教學。比如講授數(shù)據(jù)類型,可以將它們比作廚房中的油鹽醬醋罐,存放內(nèi)容的類型各不相同。把局部變量、模塊變量、全局變量的作用域比作學生、班主任、年段長的權限;在同一個過程中如果有同名的全局變量與局部變量的作用域,比作“縣官(全局變量被屏蔽)不如現(xiàn)管(局部變量有效)”等等。更重要的是,著重挖掘教材的例題習題,開展“求異思變”教學活動,促進學生發(fā)展。何謂求異思變?即變方法,變題目,拓展應用。
(1)變方法。在VB教學中,教師可經(jīng)常嘗試一題多解,拓展學生的編程思路,培養(yǎng)編程能力。比如在學完各個循環(huán)結構之后,教材上有道例題“編寫程序,判斷一個正整數(shù)(> =3)是否為素數(shù)”。首先讓學生理解“判斷素數(shù)”的算法,掌握課本上編寫的代碼。接著要求學生用其它像FOR-NEXT、DO-LOOP等6種循環(huán)結構來改寫該題代碼,實現(xiàn)同樣的功能。這樣安排,既讓學生進一步理解判斷素數(shù)的算法,又讓他們對這幾種循環(huán)結構進一步熟悉,還區(qū)別了各個循環(huán)結構的異同。再如“學生成績劃分等級”問題,可以用if結構、select結構、數(shù)組等多種方法;像這樣,積極開展一題多解教學,拓展學生的編程思路。既促進了知識的靈活運用,又培養(yǎng)了編程能力。
(2)變題目。教材提供的編程題不是很多,這時就要靠教師來研究教材資源,或增加或減少程序問題的一些元素,使派生出來的編程題的難度呈交叉梯狀發(fā)展。既有問題上的相互獨立,又有知識上的內(nèi)在聯(lián)系,還有難易程度的區(qū)分。這樣既能激勵優(yōu)生,促進中等生,又照顧到后進生,使得人人有所學,人人有進步。
下面就是改變課本例題“求N!”的一些元素派生出來的幾道編程題。
A.計算并輸出9 ! 的值 ;
B.計算 5*7*9*11*……*101;
C.計算N !
D.計算1! + 2! +3! + …+11!;
E.計算 1! + (1!+2!) + … +(1!+2!+ … +N!)
這樣設計的問題,既有簡單的又有較難的,各種層次的學生都得到了訓練,學生得到均衡發(fā)展。
(3)拓展應用。在日常教學與練習訓練中,教師要善于敏銳地抓住一些問題,對知識巧妙地加以聯(lián)想、遷移、拓展,生成新問題。通過對這些新問題的分析、解決,訓練了學生的思維,培養(yǎng)了創(chuàng)新精神,促進了學生編程能力的提高。如程序問題“運行后,文本框中只允許輸入英文字母。”分析得知要編寫文本框的鍵盤事件KeyPress,利用參數(shù)KeyAscii來控制英文字母的輸入。在此基礎上拓展問題:程序運行后,文本框中只允許輸入數(shù)字、小數(shù)點、正負號,并且要求如果有正負號,必須以正負號開頭。這個問題增大了難度——“必須以正負號開頭”,提高了復雜度——“控制字符輸入的多種類型”。
3 開展“錯誤”教學,以“錯”治錯,培養(yǎng)學生的糾錯能力
有位教育專家說過:糾正錯誤的過程也是一種學習過程。在教學過程中,遇到學生出現(xiàn)的錯誤,老師的一般做法是指出錯誤的地方以及如何糾正,學生只是被動地接受,同樣的錯誤很容易再次出現(xiàn),可見效果不佳。實踐證明,如果調動起學生的主觀能動性,糾錯的效果大大提高。有效做法是:教師在平時注意收集學生在課堂、作業(yè)、試卷中的錯誤,做好記錄,然后分析、分類、統(tǒng)計、總結,最后精心設計以“錯”治錯的方案。
方案一:可以開辟黑板報一角“懸賞糾錯”。“懸賞糾錯”的問題以“程序算法錯誤”為主并且要有典型性和代表性。問題可以是學生錯誤的原型,也可以是學生錯誤原型的變型,還可以是老師設計的錯誤。既然是“懸賞”一定要有獎勵,以此激勵學生主動解決問題。
方案二:開辦“糾錯”課堂。這種課以調動學生主動參與為主、教師的引導幫助為輔??梢栽谡n堂上把錯誤再次原樣呈現(xiàn),故意讓出錯學生來找出錯誤及錯誤原因,或者由其他學生糾正錯誤;也可以設計成改錯題,讓學生現(xiàn)場分析解決;還可以在糾錯的基礎上,挖掘“錯誤”的價值,設計出新問題讓學生來分析解決。
通過以“錯”治錯教學,既達到糾錯的目的,又培養(yǎng)了學生分析問題與解決問題的能力。
4 嚴抓實踐教學環(huán)節(jié),增強學生的編程能力
“實踐是檢驗真理的唯一標準”,任何源程序未經(jīng)上機檢驗均不能完全保證其正確性。通過上機實踐,才能發(fā)現(xiàn)問題,糾正部分學生的“想當然”心理,培養(yǎng)實事求是的精神,增強編程能力。
4.1 精心設計實踐操作學案,指導學生獨立研究并完成實踐任務
古語曰:無疑則無進。計算機編程操作性強,這給我們置疑與釋疑提供了很大的便利,使得相當多的疑問可以通過實踐操作得以解決。因此,教師要充分挖掘實踐操作課的效能。
學生是初學者,他們對重難點把握不準。教師有必要設計好《實踐操作學案》來指導學生開展實踐活動。學案一要目標明確,二要體現(xiàn)本章節(jié)重點知識并且設置由易到難的梯度,三要設置疑問,四要有綜合實踐題以便各章節(jié)融會貫通,五要由學生獨立完成并寫出完整程序代碼。在實踐課中以學生的實踐為主,老師的指導為輔。哪怕是學生遇到了困難,老師也只能是做些指導與提示,不可越趄代皰。在巡視過程中,老師著重發(fā)現(xiàn)并記錄編程的好方法、新方法、錯誤方法,作為或者表揚或者鼓勵或者剖析的材料。
4.2 擇機開設“特殊型”實踐操作課,提高學生的編程水平
通過日常教學,學生的編程能力達到一定的水平。但是如何讓學生的編程能力得到更高的提升?這時就要發(fā)揮教師的主導作用了——在電腦機房開設“特殊型” 實踐課,用事實來說話。這種課有如下幾類:
(1)“尋醫(yī)問藥”型。學生在編程實踐中總會存在這樣或那樣的疑難與困惑,這類課就是集中解惑的過程。老師把收集到的所有問題(包括程序代碼)找出典型, 分類提出。當然問題也可以是學生提出來的。課堂采用討論與提問的方式,主要由學生幫助解決,不能解決的再由老師解答。
(2)“經(jīng)驗交流”型。在編程過程中,每個人的思維方式不同、角度各異,各有高招?!叭诵斜赜形?guī)熝伞?,這類課就是通過交流,讓每個學生不斷吸收別人的長處,豐富編程實踐。這種交流不是泛泛而談,而是擺出具體案例,主要由學生編寫者講講具體的分析過程,算法實現(xiàn)的過程,還可以談談優(yōu)化程序代碼的過程。教師也可以談談自己的經(jīng)驗,堅決避免老師一言堂。要保證“分析、討論、比較”貫穿在整個交流過程中。
(3)“故意找茬”型。這種課堂要拿那些貌似“完善與優(yōu)秀的學生作業(yè)或作品”來開刀。方法一,不看程序,請5~8位同學分別運行這個程序,想盡辦法讓程序運行出錯,找出錯誤原因,最后修改完善程序。方法二,不準運行程序,邀請學生只看程序代碼,找出錯誤或糾正錯誤。這種方式既能完善程序功能,減少程序漏洞,又讓其他學生學到編程技巧,更能很好地培養(yǎng)學生的查錯糾錯能力。
4.3 開展第二課堂活動,培養(yǎng)學生自我學習、研究問題的能力
第二課堂以任務驅動法為主,教師不定期地布置編程任務,要求每個學生獨立完成。任務可以是“小小計算器”、“中英文打字軟件”、“電子畫板”、“音樂播放器”、“化學模擬反應實驗室”、“拍蚊子游戲”等等。教師要經(jīng)常關注學生編程進展,有時要給予適當指導,或提供參考書籍,或提供關于VB編程的參考網(wǎng)址……通過第二課堂活動,拓寬了學生的知識面,開闊了學生的視野。培養(yǎng)了學生獨立學習、研究問題的能力。
此外,組織學生參加各級各類編程競賽,爭取獲得榮譽,以此不斷激發(fā)學生的學習熱情,增強競爭意識。一旦形成生生競爭、師師競爭、師生競爭的濃厚氛圍,學生的能力必定得到長足發(fā)展。
總之,作為教師,要盡最大可能地研究教學教法,調動起學生的主觀能動性,嚴抓編程實踐,促進學生編程能力的發(fā)展,提高學生的編程能力。
參考文獻
[1] 教育部考試中心編著.二級教程——Visual Basic語言程序設計.北京:高等教育出版社,2010:1-435.
[2] 飛思科技研發(fā)中心編著.Visual Basic靈感編程.北京:電子工業(yè)出版社,2002:65-90.
[3] 吳目誠,吳秉柔編著.精彩Visual Basic 6.0程序設計.北京:科學出版社,2002:141-172.