梁德賽
摘 要 VB程序設(shè)計(jì)不容易掌握,要使學(xué)生理解和掌握,在教學(xué)中應(yīng)設(shè)法上好入門課,通過顯示程序設(shè)計(jì)的奇妙性和實(shí)用性來激發(fā)學(xué)生學(xué)習(xí)興趣;設(shè)置適當(dāng)?shù)膶W(xué)習(xí)階梯,誘導(dǎo)學(xué)生深入學(xué)習(xí);抓住重點(diǎn),逐步擴(kuò)展,培養(yǎng)學(xué)生自主學(xué)習(xí)能力;引導(dǎo)學(xué)生歸納、梳理和總結(jié),提高程序設(shè)計(jì)能力;建立興趣小組,引導(dǎo)學(xué)生把所學(xué)的程序設(shè)計(jì)知識和技能應(yīng)用于實(shí)際開發(fā)實(shí)踐中。
關(guān)鍵詞 VB程序設(shè)計(jì) 課程教學(xué) 實(shí)踐
中圖分類號:G424 文獻(xiàn)標(biāo)識碼:A
Discussion on VB Program Design Course Teaching
LIANG Desai
(College of Mathematics and Computer Science, Qinzhou University, Qinzhou, Guangxi 535000)
Abstract VB program design is not easy to master, in order to make students understand and master, in the process of teaching, shold try to make first good lesson, by displaying the programming wonderfulity and practicality to stimulate students interest in learning; Set the appropriate learning ladder, induces the students to study; Hold the key, and gradually extended, cultivation of students' autonomous learning ability; Lead them to conclude, to sum up and, improve the ability of programming; Establishment of the interest group, guides the student to learn programming knowledge and skills applied in the actual development practice.
Key words VB program design; course teaching; practice
0 引言
《VB程序設(shè)計(jì)》是一門理論性、實(shí)踐性、靈活性和創(chuàng)造性較強(qiáng)的基礎(chǔ)課程。VB課程中的概念、編程思維比較抽象難懂,VB語言枯燥,內(nèi)容繁多,對僅具有Windows初步知識的初學(xué)者來說,要學(xué)好這門課程,具有一定的難度。在程序設(shè)計(jì)教學(xué)中,如何激發(fā)學(xué)生學(xué)習(xí)興趣、培養(yǎng)學(xué)生自學(xué)能力,使學(xué)生能夠比較好地掌握課程的基本概念、基本理論知識和程序設(shè)計(jì)技巧,是值得關(guān)注和認(rèn)真探討的問題。沈國珍從《VB程序設(shè)計(jì)》課堂教學(xué)進(jìn)行了探索和實(shí)踐,①朱勇從培養(yǎng)學(xué)生綜合編程能力的角度提出了教學(xué)措施,②包健對課程中的抽象概念和難理解問題,提出了具操作性的教學(xué)方法,③楊錦偉對課程教學(xué)改革進(jìn)行了嘗試。④下面根據(jù)大學(xué)低年級學(xué)生的實(shí)際和特點(diǎn),談?wù)剬Α禫B程序設(shè)計(jì)》課程教學(xué)的探索和嘗試。
1 通過奇妙性和實(shí)用性來激發(fā)和引導(dǎo)學(xué)生的學(xué)習(xí)興趣
努力上好第一節(jié)課。在上第一節(jié)課時(shí),應(yīng)避免“從概念到概念”的這一教學(xué)模式。在簡單介紹了Visual Basic的窗口構(gòu)成后,應(yīng)通過一些簡單實(shí)例來顯示程序設(shè)計(jì)的奇妙性和實(shí)用性,引導(dǎo)學(xué)生學(xué)習(xí)、思考。結(jié)合學(xué)生的特點(diǎn)和學(xué)習(xí)的需要,利用最基本的方法開發(fā)簡單的應(yīng)用程序,使學(xué)生對程序設(shè)計(jì)、窗體、屬性、事件和方法獲得直觀的體驗(yàn)和認(rèn)識。例如,教師可引導(dǎo)學(xué)生利用Form、Label、Command和Text等控件來顯示“Hello World! ”、“歡迎您!”設(shè)計(jì)實(shí)現(xiàn)一個(gè)簡單的計(jì)算器等。利用picture控件顯示精美的圖片,安排一些簡單有趣的動畫程序使學(xué)生了解如何用Visual Basic開發(fā)應(yīng)用程序,讓學(xué)生從優(yōu)美的畫面顯示過程中感受到用Visual Basic編寫程序的樂趣,用具體有效的簡單實(shí)例開發(fā)引導(dǎo)學(xué)生體會到用Visual Basic進(jìn)行程序開發(fā)的實(shí)用性和有效性,顯示Visual Basic的實(shí)用價(jià)值。教師在現(xiàn)場操作,往窗體中添加各種控件,設(shè)置各控件的屬性,編寫代碼,講述并引導(dǎo)學(xué)生理解代碼的意義,達(dá)到最直觀、最鮮活、最直接的教學(xué)效果,教師不失時(shí)機(jī)地加以繪聲繪色的講解和點(diǎn)評,安排實(shí)驗(yàn)課,讓他們在教師的指導(dǎo)下一步一步地做出來,契合學(xué)生渴望成功的心理,這樣能喚起學(xué)生強(qiáng)烈的好奇心和進(jìn)一步深入學(xué)習(xí)的興趣,這樣想方設(shè)法上好入門課,使學(xué)生在不知不覺中便對窗體、對象、事件、方法、控件及其屬性等概念有初步的認(rèn)識和理解,在隨后運(yùn)用這些概念時(shí),水到渠成,順理成章,學(xué)生便容易理解和接受。
2 通過設(shè)置適當(dāng)?shù)膶W(xué)習(xí)階梯來引導(dǎo)學(xué)生逐步深入學(xué)習(xí)
VB教學(xué)的目的之一是使學(xué)生能夠獨(dú)立編寫程序,而學(xué)習(xí)編寫程序不是一蹴而就的,需要經(jīng)過反復(fù)練習(xí)才能掌握。其中,設(shè)置恰當(dāng)?shù)膶W(xué)習(xí)階梯和步驟是一個(gè)重要的教學(xué)方法。在教學(xué)中,設(shè)置問題的階梯,以學(xué)生較易理解為尺度,合理控制在學(xué)生可以接受的范圍,步步為營,循序漸進(jìn),逐步深入,一步一步引導(dǎo)學(xué)生練習(xí)程序設(shè)計(jì),使學(xué)生容易獲得學(xué)習(xí)的成就感,感受到學(xué)習(xí)的樂趣,增強(qiáng)學(xué)習(xí)的主動性,培養(yǎng)學(xué)生獨(dú)立探索、勇于攀登、開拓進(jìn)取的精神。
在教學(xué)中,可以鋪設(shè)必要的過程和臺階使學(xué)生練習(xí)編寫程序:第一,仔細(xì)分析問題,明確問題的要求,理清思路;第二,精選實(shí)例,精講例題,思考用到哪些算法,畫出算法流程圖,設(shè)計(jì)界面,設(shè)置各個(gè)控件的屬性,編寫代碼;第三,加強(qiáng)閱讀程序的訓(xùn)練,要求學(xué)生閱讀程序、寫出程序運(yùn)行結(jié)果、指出程序的功能等,使學(xué)生體會各種語句的功能和使用,能夠讀懂別人寫的程序是今后自己獨(dú)立編程的基礎(chǔ)和前提;第四,引導(dǎo)學(xué)生做程序填充題和程序改錯(cuò)題,給出程序,把其中一些關(guān)鍵的地方留空,要求學(xué)生填充,或者在程序中有意提供一些錯(cuò)誤語句,讓學(xué)生自己改正;第五,布置相應(yīng)的編程題,讓學(xué)生模仿練習(xí)和完成;第六,要求學(xué)生獨(dú)立編寫應(yīng)用程序。
例如,要求學(xué)生編程求20個(gè)整數(shù)的最大值的程序,之后再讓學(xué)生求這20個(gè)整數(shù)的最小值,再求這20個(gè)整數(shù)的和與積,最后寫出求這20個(gè)整數(shù)的排序方法(如冒泡排序)。通過這個(gè)實(shí)例,可以使學(xué)生加深對數(shù)據(jù)交換、函數(shù)MsgBox( )、選擇結(jié)構(gòu)及循環(huán)結(jié)構(gòu)的理解和運(yùn)用,在學(xué)習(xí)了數(shù)組之后,這個(gè)問題也可以用數(shù)組來解決,這樣可以從不同的角度和方向來提出問題。
此外,可以根據(jù)問題特點(diǎn),設(shè)置問題的梯級,引導(dǎo)學(xué)生思考和練習(xí),體現(xiàn)教學(xué)過程中問題設(shè)置的階梯性,循序漸進(jìn),由淺入深,逐步深入,在教學(xué)過程中對問題逐層展開和深入推進(jìn)。
例如,要求學(xué)生編寫程序,打印如下所示的“數(shù)字三角形”:
這是文獻(xiàn)⑤上的一道練習(xí)題,學(xué)生看到這道題時(shí),感到難以著手。教師可因勢利導(dǎo),為學(xué)生鋪設(shè)臺階,讓學(xué)生自己思考完成:
編寫程序,打印如下的“數(shù)字三角形”:
進(jìn)一步,可提出如下問題,鋪設(shè)另一個(gè)臺階:編寫程序,打印如下“數(shù)字三角形”:
待學(xué)生思考之后,再讓學(xué)生考慮原來的問題,學(xué)生便不再感到困難,而且很快獲得成功的喜悅,學(xué)習(xí)的興趣油然而生。
3 培養(yǎng)學(xué)生的自主學(xué)習(xí)能力
課程概念多、內(nèi)容多,課時(shí)少,在教學(xué)中,不必對教材中的每一部分都講解,可根據(jù)教學(xué)的需要,選擇基本或重要的內(nèi)容詳細(xì)講授,調(diào)整教學(xué)內(nèi)容的先后順序,降低學(xué)習(xí)的難度,待學(xué)生有了一定基礎(chǔ)后,再提高對他們的要求。在教學(xué)中培養(yǎng)學(xué)生的自學(xué)能力,課堂上無法講授的內(nèi)容,可安排讓學(xué)生自主學(xué)習(xí)。
引導(dǎo)學(xué)生在選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中養(yǎng)成運(yùn)用動態(tài)思維理解程序的習(xí)慣,積累各種算法設(shè)計(jì)技巧,加強(qiáng)算法的教學(xué)。算法是指解決特定問題的思路和方法,是程序設(shè)計(jì)的靈魂,是程序設(shè)計(jì)教學(xué)的重點(diǎn)之一。對一個(gè)問題,先分析問題,考慮問題用到哪些算法,算法清楚了,再編寫代碼。即,在順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和數(shù)組的教學(xué)中,要明確和強(qiáng)化求和、求積、階乘、通項(xiàng)計(jì)算、最大最小值、排序、判斷素?cái)?shù)和奇偶數(shù)、遞歸、過程調(diào)用、迭代計(jì)算、最大公因數(shù)、方程求根、定積分計(jì)算、數(shù)據(jù)交換、查找、字符串的一般處理、順序和二分檢索等常用算法的技能訓(xùn)練。對這些知識點(diǎn)應(yīng)詳細(xì)講解。算法弄清楚了,程序設(shè)計(jì)就有章可循。
難點(diǎn)解決了,常用算法搞清楚了,就容易擴(kuò)展到其它的問題,學(xué)生對程序設(shè)計(jì)就不會感到無所適從,就容易取得成功,學(xué)習(xí)的興趣才會持續(xù)和深化。
4 通過歸納和總結(jié)來提高學(xué)生的程序設(shè)計(jì)能力
這也是由本課程概念多、內(nèi)容多、知識點(diǎn)多決定的。采用案例教學(xué)法,在教學(xué)中滲透基本概念和知識的教學(xué),注意選擇案例的知識性、趣味性、實(shí)用性、典型性、代表性、綜合性和完整性,包括要講的新的知識和語句,同時(shí)也大量使用了前面已學(xué)過的知識,在學(xué)習(xí)新知識的同時(shí)復(fù)習(xí)了前面學(xué)過的知識,這樣以“任務(wù)”為載體,以點(diǎn)帶面。在學(xué)完一個(gè)單元后,引導(dǎo)、幫助學(xué)生總結(jié),布置相應(yīng)的練習(xí)。比如,對循環(huán)結(jié)構(gòu),應(yīng)引導(dǎo)學(xué)生比較幾種循環(huán)語句的聯(lián)系、區(qū)別和使用,多重循環(huán)語句的使用以及For Each…Next用法等,注意結(jié)合具體的實(shí)例來講解。學(xué)完本課程后,還要幫助學(xué)生梳理、歸納和總結(jié),講授和布置一些典型的綜合編程練習(xí)題,在練習(xí)中復(fù)習(xí)、鞏固所學(xué)的程序設(shè)計(jì)知識,提高程序設(shè)計(jì)能力。
5 鼓勵(lì)學(xué)生把自己掌握的程序設(shè)計(jì)技巧應(yīng)用于實(shí)際中
興趣是最好的老師,而實(shí)踐是學(xué)習(xí)知識獲得技能的目的和必要的途徑,也是深入學(xué)習(xí)提高技能,保持興趣,形成和促進(jìn)良性循環(huán)的最好方法。在學(xué)生學(xué)習(xí)了VB程序設(shè)計(jì)的基本知識后,應(yīng)不失時(shí)機(jī),把教學(xué)班分為若干興趣小組,每組給定任務(wù),要求學(xué)生努力完成,使學(xué)生在做中學(xué),在學(xué)中做。培養(yǎng)學(xué)生的實(shí)際動手能力和學(xué)習(xí)能力。例如,給每一組學(xué)生各布置一道用VB開發(fā)較簡單的數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)⑥⑦的題目,如圖書管理系統(tǒng)、學(xué)籍管理系統(tǒng)、超市管理系統(tǒng)等,使學(xué)生認(rèn)識到所學(xué)知識在實(shí)際中能派上用場,增強(qiáng)學(xué)習(xí)的自覺性和積極性。一段時(shí)間后,就可以布置這樣的問題讓學(xué)生動手做,要求在學(xué)期結(jié)束完成。教師要提出明確的要求,可以先簡要介紹建立數(shù)據(jù)庫的基本知識,介紹用VB連接數(shù)據(jù)庫的方法,講解常用數(shù)據(jù)控件,通過實(shí)例做必要的示范,讓學(xué)生在做信息系統(tǒng)的過程中真正掌握VB程序設(shè)計(jì)的知識和技能,提高程序設(shè)計(jì)的能力。
6 結(jié)束語
教師要根據(jù)教學(xué)實(shí)際,適當(dāng)降低入門的難度,精心選擇合適的實(shí)例,注意實(shí)例的知識性、趣味性、實(shí)用性和典型性,合理設(shè)置問題的難度和梯級,由淺入深,循序漸進(jìn),突出重點(diǎn),分散難點(diǎn),以點(diǎn)帶面,引導(dǎo)學(xué)生學(xué)習(xí)、總結(jié)和復(fù)習(xí),把程序設(shè)計(jì)知識應(yīng)用于具體的實(shí)踐中,培養(yǎng)、保持和發(fā)展學(xué)生的學(xué)習(xí)興趣,積極思考,努力探索和實(shí)踐,提高程序設(shè)計(jì)的能力和自主學(xué)習(xí)的能力。
基金項(xiàng)目:項(xiàng)目編號0992023-5、HYSYS-ZD01、HYSYS-ZD02
注釋
① 沈國珍.《VB程序設(shè)計(jì)》課堂教學(xué)的探索與實(shí)踐[J].福建電腦,2007(4).
② 朱勇.論培養(yǎng)學(xué)生綜合編程能力的幾點(diǎn)思考[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2005(9).
③ 包健.高等代數(shù)中的概念教學(xué)探討[J].高等數(shù)學(xué)研究,2007.10(4):17-25.
④ 楊錦偉.關(guān)于《高等代數(shù)》教學(xué)改革的若干嘗試[J].2007.20(1):78-79.
⑤ 劉炳文.Visual Basic 程序設(shè)計(jì)教程(第二版)[M].北京:清華大學(xué)出版社,2003.
⑥ 趙慧,李英杰,張永周.SQL Server 2000實(shí)例教程[M].北京:電子工業(yè)出版社,2004.
⑦ 王穎,李敏業(yè).Visual Basic + SQL Server 數(shù)據(jù)庫應(yīng)用實(shí)例完全解析[M].北京:人民郵電出版社,2006.