前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇vb程序范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
一、所用控件
在程序中將使用Winsock控件。Winsock控件是一個ActiveX控件,使用TCP協議或UDP協
議連接到遠程計算機上并與之交換數據。和定時器控件一樣,Winsock控件在運行時是不可見的。Winsock的工作原理是:客戶端向服務器端發出連接請求,服務器端則不停地監聽客戶端的請求,當兩者的協議溝通時,客戶端和服務器端之間就建立了連接,這時客戶端和服務器端就可以實現雙向數據傳輸。實際編程中,必須分別建立一個服務器端應用程序和一個客戶端應用程序,兩個應用程序中分別有自己的Winsock控件。首先設置Winsock控件使用的協議,這里我們使用TCP協議?,F在,讓我們開始用vb建立兩個程序,一個是客戶端程序myclient,另一個是服務器端程序myserver。
二、編寫客戶端程序
首先來建客戶端程序myclient。在myclient程序中建立一個窗體,加載Winsock控件,稱為tcpclient,表示使用的是TCP協議,再加入兩個文本框(text1和text2),用來輸入服務器的IP地址和端口號,然后建立一個按鈕(cd1),用來建立連接,按下之后就可以對連接進行初始化了,代碼如下:
private sub cd1_click()
tcpclient.romotehost=text1.text
tcpclient.romoteport=val(text2.text)'端口號,缺省為1001
tcpclient.connect '調用connect方法,與指定IP地址的計算機進行連接
cd1.enabled=false
end sub
連接之后就是如何處理所收到的數據的問題了??蛻舳撕头掌鞫私⑦B接后,如果有任何一端接收到新的數據,就會觸發該端winsock控件的dataarrival事件,在響應這個事件時,可以使用getdata方法獲得發送來的數據。比如可以在tcpclient的dataarrival事件中編寫代碼如下:
private sub tcpclient_dataarrival(byval bytestotal as long)
dim x as string
tcpclient.getdata x '使用getdata獲得發送來的數據
.......
關鍵詞 VB程序設計 課程教學 實踐
中圖分類號:G424 文獻標識碼: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程序設計》是一門理論性、實踐性、靈活性和創造性較強的基礎課程。VB課程中的概念、編程思維比較抽象難懂,VB語言枯燥,內容繁多,對僅具有Windows初步知識的初學者來說,要學好這門課程,具有一定的難度。在程序設計教學中,如何激發學生學習興趣、培養學生自學能力,使學生能夠比較好地掌握課程的基本概念、基本理論知識和程序設計技巧,是值得關注和認真探討的問題。沈國珍從《VB程序設計》課堂教學進行了探索和實踐,①朱勇從培養學生綜合編程能力的角度提出了教學措施,②包健對課程中的抽象概念和難理解問題,提出了具操作性的教學方法,③楊錦偉對課程教學改革進行了嘗試。④下面根據大學低年級學生的實際和特點,談談對《VB程序設計》課程教學的探索和嘗試。
1 通過奇妙性和實用性來激發和引導學生的學習興趣
努力上好第一節課。在上第一節課時,應避免“從概念到概念”的這一教學模式。在簡單介紹了Visual Basic的窗口構成后,應通過一些簡單實例來顯示程序設計的奇妙性和實用性,引導學生學習、思考。結合學生的特點和學習的需要,利用最基本的方法開發簡單的應用程序,使學生對程序設計、窗體、屬性、事件和方法獲得直觀的體驗和認識。例如,教師可引導學生利用Form、Label、Command和Text等控件來顯示“Hello World! ”、“歡迎您!”設計實現一個簡單的計算器等。利用picture控件顯示精美的圖片,安排一些簡單有趣的動畫程序使學生了解如何用Visual Basic開發應用程序,讓學生從優美的畫面顯示過程中感受到用Visual Basic編寫程序的樂趣,用具體有效的簡單實例開發引導學生體會到用Visual Basic進行程序開發的實用性和有效性,顯示Visual Basic的實用價值。教師在現場操作,往窗體中添加各種控件,設置各控件的屬性,編寫代碼,講述并引導學生理解代碼的意義,達到最直觀、最鮮活、最直接的教學效果,教師不失時機地加以繪聲繪色的講解和點評,安排實驗課,讓他們在教師的指導下一步一步地做出來,契合學生渴望成功的心理,這樣能喚起學生強烈的好奇心和進一步深入學習的興趣,這樣想方設法上好入門課,使學生在不知不覺中便對窗體、對象、事件、方法、控件及其屬性等概念有初步的認識和理解,在隨后運用這些概念時,水到渠成,順理成章,學生便容易理解和接受。
2 通過設置適當的學習階梯來引導學生逐步深入學習
VB教學的目的之一是使學生能夠獨立編寫程序,而學習編寫程序不是一蹴而就的,需要經過反復練習才能掌握。其中,設置恰當的學習階梯和步驟是一個重要的教學方法。在教學中,設置問題的階梯,以學生較易理解為尺度,合理控制在學生可以接受的范圍,步步為營,循序漸進,逐步深入,一步一步引導學生練習程序設計,使學生容易獲得學習的成就感,感受到學習的樂趣,增強學習的主動性,培養學生獨立探索、勇于攀登、開拓進取的精神。
在教學中,可以鋪設必要的過程和臺階使學生練習編寫程序:第一,仔細分析問題,明確問題的要求,理清思路;第二,精選實例,精講例題,思考用到哪些算法,畫出算法流程圖,設計界面,設置各個控件的屬性,編寫代碼;第三,加強閱讀程序的訓練,要求學生閱讀程序、寫出程序運行結果、指出程序的功能等,使學生體會各種語句的功能和使用,能夠讀懂別人寫的程序是今后自己獨立編程的基礎和前提;第四,引導學生做程序填充題和程序改錯題,給出程序,把其中一些關鍵的地方留空,要求學生填充,或者在程序中有意提供一些錯誤語句,讓學生自己改正;第五,布置相應的編程題,讓學生模仿練習和完成;第六,要求學生獨立編寫應用程序。
例如,要求學生編程求20個整數的最大值的程序,之后再讓學生求這20個整數的最小值,再求這20個整數的和與積,最后寫出求這20個整數的排序方法(如冒泡排序)。通過這個實例,可以使學生加深對數據交換、函數MsgBox( )、選擇結構及循環結構的理解和運用,在學習了數組之后,這個問題也可以用數組來解決,這樣可以從不同的角度和方向來提出問題。
此外,可以根據問題特點,設置問題的梯級,引導學生思考和練習,體現教學過程中問題設置的階梯性,循序漸進,由淺入深,逐步深入,在教學過程中對問題逐層展開和深入推進。
例如,要求學生編寫程序,打印如下所示的“數字三角形”:
這是文獻⑤上的一道練習題,學生看到這道題時,感到難以著手。教師可因勢利導,為學生鋪設臺階,讓學生自己思考完成:
編寫程序,打印如下的“數字三角形”:
進一步,可提出如下問題,鋪設另一個臺階:編寫程序,打印如下“數字三角形”:
待學生思考之后,再讓學生考慮原來的問題,學生便不再感到困難,而且很快獲得成功的喜悅,學習的興趣油然而生。
3 培養學生的自主學習能力
課程概念多、內容多,課時少,在教學中,不必對教材中的每一部分都講解,可根據教學的需要,選擇基本或重要的內容詳細講授,調整教學內容的先后順序,降低學習的難度,待學生有了一定基礎后,再提高對他們的要求。在教學中培養學生的自學能力,課堂上無法講授的內容,可安排讓學生自主學習。
引導學生在選擇結構和循環結構中養成運用動態思維理解程序的習慣,積累各種算法設計技巧,加強算法的教學。算法是指解決特定問題的思路和方法,是程序設計的靈魂,是程序設計教學的重點之一。對一個問題,先分析問題,考慮問題用到哪些算法,算法清楚了,再編寫代碼。即,在順序結構、選擇結構、循環結構和數組的教學中,要明確和強化求和、求積、階乘、通項計算、最大最小值、排序、判斷素數和奇偶數、遞歸、過程調用、迭代計算、最大公因數、方程求根、定積分計算、數據交換、查找、字符串的一般處理、順序和二分檢索等常用算法的技能訓練。對這些知識點應詳細講解。算法弄清楚了,程序設計就有章可循。
難點解決了,常用算法搞清楚了,就容易擴展到其它的問題,學生對程序設計就不會感到無所適從,就容易取得成功,學習的興趣才會持續和深化。
4 通過歸納和總結來提高學生的程序設計能力
這也是由本課程概念多、內容多、知識點多決定的。采用案例教學法,在教學中滲透基本概念和知識的教學,注意選擇案例的知識性、趣味性、實用性、典型性、代表性、綜合性和完整性,包括要講的新的知識和語句,同時也大量使用了前面已學過的知識,在學習新知識的同時復習了前面學過的知識,這樣以“任務”為載體,以點帶面。在學完一個單元后,引導、幫助學生總結,布置相應的練習。比如,對循環結構,應引導學生比較幾種循環語句的聯系、區別和使用,多重循環語句的使用以及For Each…Next用法等,注意結合具體的實例來講解。學完本課程后,還要幫助學生梳理、歸納和總結,講授和布置一些典型的綜合編程練習題,在練習中復習、鞏固所學的程序設計知識,提高程序設計能力。
5 鼓勵學生把自己掌握的程序設計技巧應用于實際中
興趣是最好的老師,而實踐是學習知識獲得技能的目的和必要的途徑,也是深入學習提高技能,保持興趣,形成和促進良性循環的最好方法。在學生學習了VB程序設計的基本知識后,應不失時機,把教學班分為若干興趣小組,每組給定任務,要求學生努力完成,使學生在做中學,在學中做。培養學生的實際動手能力和學習能力。例如,給每一組學生各布置一道用VB開發較簡單的數據庫應用系統設計⑥⑦的題目,如圖書管理系統、學籍管理系統、超市管理系統等,使學生認識到所學知識在實際中能派上用場,增強學習的自覺性和積極性。一段時間后,就可以布置這樣的問題讓學生動手做,要求在學期結束完成。教師要提出明確的要求,可以先簡要介紹建立數據庫的基本知識,介紹用VB連接數據庫的方法,講解常用數據控件,通過實例做必要的示范,讓學生在做信息系統的過程中真正掌握VB程序設計的知識和技能,提高程序設計的能力。
6 結束語
教師要根據教學實際,適當降低入門的難度,精心選擇合適的實例,注意實例的知識性、趣味性、實用性和典型性,合理設置問題的難度和梯級,由淺入深,循序漸進,突出重點,分散難點,以點帶面,引導學生學習、總結和復習,把程序設計知識應用于具體的實踐中,培養、保持和發展學生的學習興趣,積極思考,努力探索和實踐,提高程序設計的能力和自主學習的能力。
基金項目:項目編號0992023-5、HYSYS-ZD01、HYSYS-ZD02
注釋
① 沈國珍.《VB程序設計》課堂教學的探索與實踐[J].福建電腦,2007(4).
② 朱勇.論培養學生綜合編程能力的幾點思考[J].農業網絡信息,2005(9).
③ 包健.高等代數中的概念教學探討[J].高等數學研究,2007.10(4):17-25.
④ 楊錦偉.關于《高等代數》教學改革的若干嘗試[J].2007.20(1):78-79.
⑤ 劉炳文.Visual Basic 程序設計教程(第二版)[M].北京:清華大學出版社,2003.
關鍵詞:VB;有效教學;中職
《VB程序設計》是中等職業學校計算機應用專業必修的一門專業基礎課程,理論和實踐結合緊密,對學生的邏輯思維能力和實際操作能力都要求比較高。由于中職學生基礎比較薄弱,在實際教學中,學生感覺該課程學得痛苦、怕學,教師也覺得教得辛苦費勁,缺乏應有的教學有效性,教學效果也不理想。為提升VB課堂教學有效性,讓學生樂學,根據有效教學理論,進行了一些探究和嘗試,取得較好的教學效果。
一、有效教學的意義和內涵
自教學活動誕生以來,人們一直努力探究怎樣提高教學的有效性。20世紀上半葉,西方開展教學科學化運動,尤其在美國實用主義哲學和行為主義心理學影響的教學效能核定運動后,有效教學的概念開始頻頻出現在英文教育文獻中。至20世紀下半葉,有效教學作為教育科學化的產物,演變為一種明確的教學理念和自覺的教育實踐[1]。隨著課程目標和教學目標的變化,有效教學的概念并非一成不變。目前,有效教學被認為就是通過有效的教學準備、有效的教學活動和有效的教學評價來促進學生學習與發展的教學,學生的進步和發展是有效教學的核心。
二、中職《VB程序設計》課程有效教學探索
(一)有效的教學準備
充分的教學準備是有效教學的基礎。在中職《VB程序設計》課程有效教學中,尤其要注意教學準備。
1重視對學生的診斷分析
在有效教學中,尤其應重視對學生的診斷分析。不同班級的學生具有不同的個性特點、不同的學習態度和不同的知識儲備,在課前準備中應區別對待。舉例來說,由于《VB程序設計》課程中有很多屬性、方法都是英文,中職學生普遍存在英文基礎薄弱的問題,因此在教學中應設法為學生掃清英文障礙,克服他們的英文畏懼情緒,防止影響后續教學。但有的班級學生學習態度較為端正,能記得老師要求,課后能付出時間去記憶這些英文,對于這種類型的班級學生,只需每次課上稍微提醒復習即可。而有的班級學生個性活潑,不喜歡機械記憶背誦,對于這種類型的班級學生,可以設計一些游戲,通過激發學生的集體榮譽感和贏得游戲的好勝心,幫助學生掌握VB常見屬性、方法的英文。因此,重視對學生的診斷分析,對不同類型的學生應采用不同的教學方法。
2教學案例應貼近學生生活
目前,中職學生已多為“00后”。“00后”的學生多喜歡自由,具有強烈的個人意識,偏愛興趣學習,對自己周圍生活有一定的理解和感悟。但目前有些教材仍采用一些傳統的教學案例,這些教學案例固然經典,也有助于后續知識的學習,但對激發學生的學習興趣似乎效果不大。講解數據類型時可以讓學生參考教室所在的教學樓,里面有大小不一的教室,將整個大樓比作計算機的存儲空間,不同大小的教室代表了不同的數據類型,類型不同,容納的人數也不同。給班級分配教室時,需要看班級的人數,防止空間分配浪費或不足。經過這樣貼近學生生活的說法之后,大多數學生明白了這些難理解的概念。因此,在教學準備中,可以多動動腦筋,讓教學案例更貼近學生的生活,激發學生的學習興趣,提高學生主動參與意識。
(二)有效的教學活動
促進學生學習和發展是有效教學的根本目的。在教學活動中,應以學生發展為本,從知識技能、過程方法和情感態度上去促進學生全方位發展。
1運用分層教學,幫助全體學生發展
世上沒有兩片相同的葉子。在同一個班級中,不同學生的“最近發展區”也不同。有句話說“要讓學生跳起來摘桃子”??墒牵瑢τ谕粋€“桃子”,有的學生是站著摘,有的學生是跳著摘,還有的學生甚至跳起來也摘不著。因此,在教學活動中,可以運用分層教學,根據學生的學習水平將學生分層,確定不同層次的學習目標,讓全體學生都能獲得發展。例如,實際教學中可以將學生分為A、B、C三個層次。在學習If語句應用時,A類學生須完成分析語句結果題,B類學生要求結合單選控件完成選擇并輸出結果題,C類學生要求結合復選控件完成選擇并輸出結果題。每個學生根據自己實際情況選做其中的一類,并鼓勵A、B類學生在完成本層次題的基礎上完成更高類別題目。采用這種教學方式后,每個學生均能有事可做,提高了學習積極性,教學時也形成了努力上進的氛圍,明顯地提高了教學有效性。
2缺失部分信息,引導學生自主學習
謎題之所以能吸引人們的注意力,就是因為它們缺失部分信息。在教學活動中,也可以嘗試不把全部教學內容合盤托出,故意在內容上留一部分“空白”,讓學生自己嘗試解決的辦法,引導學生自主學習,從而構建屬于自己的知識體系,并幫助學生學會學習技巧。例如,在教授VB菜單編輯器時,在講解了利用VB菜單編輯器制作基本菜單后,讓學生考慮還見過菜單上有哪些特殊標記,學生只要略作思考,可以找到有的菜單上多級菜單、快捷鍵、灰色菜單項等標記。這樣,既讓學生學習到了知識,也培養了學生自主學習的能力,讓學生學會學習。
3適當開展競賽,激發學習積極性
隨著社會快速發展,競賽存在于人們生活工作的每個角落,促使人們進步,引領人們發展[3]。在競賽過程中,人們會有更強的獲得自我成就的需求,學習積極性和克服困難的毅力也會大為增加。因此,在教學活動中,適當開展競賽,有利于激發學生的學習積極性。舉例來說,在學習完控件和控制結構后,會開展一個小組競賽,要求學生完成一個“個人信息采集系統”的項目,并進行展示比賽。這個項目難度中等,給學生半個月時間準備。教師對學生分組、組內分工、完成情況進行跟蹤把關。項目完成期間,學生有問題可以通過詢問教師或查找資料進行解決。半個月后,以組為單位進行展示比賽。從程序的易用性、功能的完整度、匯報組的展示情況、作品完成中期情況等多方面進行組間投票點評、教師投票點評,肯定優秀之處,補充不足之處,并對各類優勝組進行獎勵。在完成項目的過程中,學生對之前的學習內容進行了很好的總結并學以致用,對軟件開發有了初步的了解,獲得了一定的成就感。整個過程,學生參與度很高,激發了學生學習的積極性,鍛煉了學生團隊合作能力,取得了較好的教學效果。
(三)有效的教學評價
教學評價并不是對學生學習結果簡單的肯定與否,更多是讓評價起到激勵學生、引導學生的作用。因此,在教學評價時,要去除傳統的評價方式,既要重結果也要重過程,注重教學評價的多樣化,減少確定性評價,倡導發展性評價,讓學生體驗成功,提高自信[4]。例如,課上要求學生完成一個VB程序,在教學評價時,可以設計如下獎項:界面設計獎、代碼優秀獎、獨立思考獎、進步較快獎、展示勇敢獎、回答積極獎等獎項。教學過程中要注意收集過程材料,讓教學評價能兼顧到各種層次的學生,使得人人都能體會到成功,激勵學生學習。
三、結束語
有效的教學方法能建立起高效的課堂,為學生發展提高良好的幫助?!禫B程序設計》作為一門較難的專業基礎課程,更應該以學生發展為本,采用合規律、有效果、有效率的教學,促進學生的進步和發展,從而使得VB課程的教學質量不斷地提高。
參考文獻
[1]張琪,謝洵.開放教育資源平臺教學有效性研究——基于學習者視角[J].開放教育研究,2015(10):83-90.
[2]陳曉端.當代西方有效教學研究的系統考察和啟示[J].比較教學研究,2005(8):56-60.
[3]明慶華,谷木榮.有效學習是有效教學的出發點與歸屬[J].中國教育學刊,2015(5):32-36.
關鍵詞:初中;VB程序設計;教學策略
初三學生的思維及認知尚處于發展與完善的階段,教師如何在教學中解決VB程序設計枯燥、難懂的問題,如何針對學生開展富有構造性、創造力的課堂教學活動是一項重要課題。
一、形象比喻,注重貼近生活
在信息技術學科中,部分教學內容相對抽象,學生接受和理解的難度較大,尤其是程序設計的部分概念、算法。所以,教師在教學中應巧用生活實例,用形象比喻的方式讓學生輕松接受。如當學生要理解變量概念時,就可提出問題:在兩個瓶子中,一個裝了水,一個裝了油,如何互換兩個瓶子的液體?部分學生想到借助第三個瓶子的解決方法,類比程序設計中的變量,變量概念的理解就變得容易了,且學生不容易忘記這種比喻。又如,在講到“事件驅動”這一概念時,我舉了個例子,就如我們拿針扎氣球,拿針扎氣球這是一個事件,扎完后氣球會破,這就是對“扎”這個事件所做的響應,而在VB里,就扎氣球這個動作,就要為這個動作編寫程序代碼,編寫代碼就是事件驅動程序。這樣進行類比,學生就容易理解到底什么是事件驅動了。
二、因材施教,實施分層教學
從學生在基礎知識、基本技能等方面的掌握情況來看,部分學生存在個體差異,但在學習VB時差異并不明顯,因為可以說所有人都是從零開始,如在學習態度上,學生的學習態度分為主動型、被動型、放任型三類。主動性強的學生,能認真聽講,認真練習,他們接受新知也就快;主動學習的男同學比女同學普遍接受的要快,老師布置的任務他們能很快做出來,女同學相對而言就慢一些。而對被動型的學生來說,老師就是一個“監視器”,老師來了就趕快做,老師一走就開小差;放任型的學生不但在思想上放任自己,在行為上更是放任自己,不想對自己的行為做約束,上課不是說話,就是摧殘微機設備,一堂課下來對他們是一種煎熬還何談收獲。鑒于此,我在日常的教學中就選擇實施分層教學。如,在我所帶的2009屆九(4)班的學生韓×、金××,他們對程序設計很感興趣,所以,對他們的要求就比較高,除過要求他們完成要求的練習外,還增加難度,布置一些沒講的,有一定難度的程序,當他們遇到無法解決的難題時,適當地給予一些提示,讓他們通過自學來達到自我探究的目的。他不但能完成課堂上的小練習,在他們的帶領下還能帶動班里一批學生討論探究完成我所布置的額外練習。2013屆的章××、周××也是如此,往往能帶動一幫同學比拼學習,營造了一個良好的學習氛圍。同時,不同班分層是在不同的班級中實行分層教學,有些班級因為生源、環境不同等,學生整體素質比較差,這樣再按部就班地進行教學,對他們有點難,針對這種情況,就是對不同班進行分層,差別大的班級,整體降低要求,哪怕只是知道一點點關于VB的知識、素養,只是會繪制程序界面也行,避免流于形式而使整體喪失學習信息技術的信心。比如,2009屆的九(7)班、九(8)班,因為七年級時學生還在勝利中學沒有合并過來,微機課一年沒上,加上有些學生在小學就基本沒接觸過信息技術,他們兩個班的基礎都差,與九4班韓×所在班就是兩個不同的檔次,這樣就不能采用同一個模式,只能整體班級分層,7班、8班學一點是一點,滲透信息素養也算達到目的。2013屆的12班班風差,學習氛圍差,只能整體降低要求,以培養興趣為主。
三、循序漸進,逐步實現過渡
這套教材是按照《中小學信息技術課程指導綱要》的精神,結合寧夏中小學信息技術教育發展需求編寫的。但考慮到初三學生認知的規律,一開始就學習設計程序界面,編寫程序代碼,學生理解起來比較困難并且容易傷害他們學習的積極性。因此,我先給一段關于一元二次函數的程序代碼并運行,學生一看,在VB中一元二次函數圖像這么容易就畫出來了,就會提起興趣,然后再嘗試著讓他們就已給出的程序源代碼,如果改變一下x軸、y軸的顏色該怎么做?拋物線的顏色?或是把y=x2這個函數變成另外一個函數如y=3x3+2等等,這樣讓學生先來領略VB的編程魅力,再自己動手對給定的程序代碼稍做修改并運行,這樣初步感受VB編程的獨特魅力,然后再過渡到設計一個計算器的程序界面并為其編寫程序代碼,這樣就不容易傷害學生學習編程的積極性。以上幾點是對VB程序設計教學實踐的心得與體會,教學目標在于培養學生的基本程序設計思想及能力。在今后的教學中還要圍繞該目標,在保護學生積極性的同時采取行之有效的教學方法,提升教學水平。
參考文獻:
[1]米文麗.《VB程序設計》教學模式研究[J].隴東學院學報,2015(1):103-105.
程序設計課程具有很強的實踐性,在培養學生學會自己分析問題、使用計算機解決問題能力的同時提倡學生創新意識和創新能力的培養,主要采用的教學模式有項目教學法、案例分析法、任務驅動法等。
1.1《VB程序設計》課程中項目的設計
1.1.1章節項目
在整個教學過程當中,采用了“大項目、小案例、任務驅動不斷”的教學模式,設計并選取與生活相聯系的合理的能夠調動學生學習積極性的項目。針對課程教學的最終目的,設計了一個比較完整的圖書館管理系統綜合項目,但是這門課程知識點較多,要想完成這個綜合項目,學生首先必須熟悉VB開發環境、掌握VB程序設計的基本概念和基礎知識、各章節的知識點內容。為了配合整個課程最后綜合項目的完成,在具體的教學中按照教學內容由易到難,針對教學中的重點和難點安排了13個章節項目,幫助學生更好地學習教材各章節中的知識點。項目一:由現實生活中的漢諾塔游戲、交換兩個杯子中飲料的問題,引入一個利用VB程序解決兩幅圖片對換位置的具體案例,使學生熟悉VB集成開發環境以及各種窗口的使用、掌握常用控件對象的建立以及布局、利用VB開發簡單應用程序的步驟、并初步引入程序設計思想,引導學生思考兩數互換的問題,使學生通過觀察、思考、總結得出兩數互換的問題和兩幅圖片互換位置是一類問題。項目二:編寫一程序,在屏幕上顯示“歡迎來到VB世界!”,并輸入自己的名字。使學生熟悉VB編程四部曲———界面設計、相關對象的屬性設置、相關對象的代碼編寫、調試運行,尤其注意程序的調試過程。項目三:設計一個華氏溫度與攝氏溫度之間轉換的程序。通過這個項目熟悉VB的數據類型及其運算,掌握VB的常用標準函數、變量以及常量的使用等語法知識點。項目四:利用輸入函數輸入一元二次方程的系數a、b、c,編寫程序計算一元二次方程的兩個實根或虛根,用輸出語句輸出結果。熟悉常用的輸入輸出控件、掌握Print方法、Inputbox()函數、Msgbox()函數和Msgbox過程的使用方法。項目五:設計一個賬號和密碼的輸入檢驗程序。規范整理英文文章,即對輸入的任意大小寫的英文文章進行整理,規則是:所有句子開頭應為大寫字目(句子是以符號“?”、“.”、“!”作為結束符的),其他都是小寫字母。使學生熟練掌握程序三大結構中的選擇和循環結構。項目六:對一個班級的學生成績進行輸入統計,找出所有成績中的最高分和最低分、全班成績的平均分等。使學生掌握數組的使用。項目七:編寫一個函數,在已知的字符串中找出最長的單詞。假定已知字符串中只含有字符和空格,空格用來分隔不同的單詞。通過該項目的學習使學生掌握過程程序的設計、實參、形參等基本概念。項目八:常用控件的使用。設計一個類似Win-dows記事本的應用程序,并完善其各項功能。通過該項目使學生掌握菜單、對話框和多重窗體程序設計。項目九:導入手機號碼文件,編寫一個手機選號程序,比如說選出手機尾號后四位相同的手機號碼等。要求學生通過學習,掌握文件的相關操作,利用文件能夠建立簡單的應用程序。項目十:建立本班同學信息庫,具體包括:學號、姓名、性別、出生日期、寢室電話、手機號碼,并用數據控件及綁定控件實現對同學信息的瀏覽,并實現按姓名查詢相關人員的基本信息。通過該項目掌握VB數據庫的相關技術。項目十一:設計多文檔應用程序,熟悉VB高級界面的設計。項目十二:用MMControl控件設計一個錄音機,用API函數設計一個用戶化的CD播放器。通過學習,使學生掌握VB多媒體程序設計。
1.1.2階段項目
為了使整個學期的教學內容具有連貫性,糅合各章節零散的知識點,使教學實踐具有可操作性,將整個學期的教學實踐分成了三個階段,每個階段選用一個打破章節限制的階段項目,使學生對所學知識內容有一個階段性較完整的認識。這三個階段依次是實踐的開始階段、實踐的展開階段、實踐的結束階段,分別對應階段項目一、階段項目二和階段項目三。每個階段中抓住關鍵教學環節,按照“大項目、小案例、任務驅動不斷”的具體教學流程組織教學。階段項目一:選用簡單的項目,如蝴蝶飛舞、字幕滾動的項目。由于是初次接觸計算機編程語言,所以對于非計算機專業的學生來說,這門課程的入門學習很關鍵,如果按照常規授課方法,依據書本上的章節內容安排依次講授VB語言發展史、VB語言特點以及編程環境等內容的話,學生很難接受,往往是聽得稀里糊涂,不知道學習VB究竟有什么實際作用,從而會產生畏難情緒,最終導致學生對VB知識學習失去興趣和信心。為消除初學者的畏難情緒,第一階段主要以激發學生的學習興趣為主,讓學生對VB有一個直觀的認識,同時讓學生在輕松的氣氛中了解VB的編程環境和編程步驟,以及VB面向對象、事件驅動的編程機制。萬事開頭難,一旦學生對VB產生了興趣,就有利于后續知識的學習。階段項目二:難度稍微加大,選用計算器項目。通過本項目,一方面讓學生理解控件數組的含義和設計使用方法,以及簡單下拉菜單、常用數學函數的使用、過程函數的編寫等,進一步加強學生對概念的理解。另一方面讓學生注意可視化界面的設計,因為友好美觀的人機交互界面,給人賞心悅目感覺的同時是軟件的門面。階段項目三:選用綜合項目———學生信息管理系統。通過這個項目讓學生真正了解掌握軟件的開發過程。雖然這個項目比較難,但是有了前面知識的鋪墊,會變得容易接受理解,也是對前面所學知識點的一次鞏固和進一步更深入的理解,更是對前面知識的綜合應用,讓學生由淺入深、由易到難,逐步領會掌握編程的基本思想、基本方法和開發一個軟件的完整步驟。三個階段通過運用“大項目、小案例”,每個階段讓學生帶著具體任務去學習,把枯燥的理論知識與生動形象的教學方式相結合,以清晰簡明的表達方式深入淺出地向學生傳授VB程序設計語言課程的知識,使學生在完成具體任務的實踐過程中不斷加深對面向對象程序設計思想和知識的理解。
1.2《VB程序設計》課程中的案例選取
有了已經準備好的各模塊的項目,并展示給學生,學生有了興趣后,就會想這些項目是怎么完成的,任務就落到各個模塊項目里面具體的案例上了。由于VB程序設計授課內容多,授課時間緊張,按各知識模塊劃分選取項目后,在每個項目里面,按項目選取具體案例或是進行設計各項目的各功能模塊,各功能模塊實際就是一個個案例。在教學過程中應循序漸進,可以在原有案例的基礎上逐步改變或增加一些條件,將應用進行引申,啟發學生思維,讓學生對知識點的理解更透徹,掌握各知識點之間的聯系,提高學生發現問題、解決問題的能力,并在教學中兼顧學生生活經驗與知識趣味性,達到事半功倍的教學效果。
1.3任務設計
圍繞每一知識模塊的教學內容、教學知識點,設計相關的項目,并在各個項目中采用了系列案例以及完成各功能模塊的案例,為了讓學生更加熟練、更好地掌握教學內容,在各知識模塊的學習中設置學習情景,給學生留有感興趣的任務,讓學生去完成。同時根據各知識模塊提出了單元任務,單元任務設置兩個層次———基本任務和提高任務。由于學生自身水平有差異,對于基礎好、學有余力的學生,要求他們不但要完成基本任務,還要完成提高任務;對于大多數學生,只要求他們完成基本任務。由于時間的限制,可以讓學生在課余時間分析任務,在上機實踐課以及課余時間去完成任務,最后做任務的總結。有了興趣和任務的驅使,學生為了完成任務,就會利用各種方式和手段積極主動地去解決問題,他們會通過查閱相關書本、瀏覽網絡資源、同學之間互相協作等方式解決問題,充分調動了學生的主觀能動性,在完成任務的過程中學生分析問題、解決問題、實際開發應用程序的能力得到了鍛煉,為學生知識的創新奠定良好的基礎,同時知識面也更廣、更大了。學生不會再覺得教學只是教師一個人的“獨角戲”,而是教師和學生的“二人轉”。在相互的配合以及友好和諧的師生關系中,教學順利完成的同時學生個人的知識庫也得到了構建。
2實施方法