陳鈞 劉愛華
摘 要:針對VB課程教學中存在案例覆蓋知識點較少的問題,本文提出了教學中增加貫穿于整個教學過程的項目式案例。通過對完整的項目式案例進行拆分為與各知識點內容相關的小案例,學生逐步完成分解案例并最后整合成為一個完整的軟件系統(tǒng),能更加理解各章節(jié)的知識點在項目中的應用。學生能夠更全面地了解如何自主開發(fā)簡單的軟件系統(tǒng),提高計算機編程的興趣和能力。
關鍵詞:VB課程;項目式案例;拆分與整合
中圖分類號:G642 文獻標識碼:A
1 引言(Introduction)
Visual Basic(以下簡稱VB)是在Basic語言的基礎上發(fā)展起來的一種可視化、面向對象和采用事件驅動方式的高級程序設計語言,它接近于自然語言和人類的邏輯思維方式,是目前所有開發(fā)語言中最簡單、最容易使用的語言[1]。因此Visual Basic程序設計被許多高校作為培養(yǎng)學生編程能力的首選課程,但是在實際教學過程中存在著諸多問題。主要是兩個方面:首先,VB語言不僅要掌握程序設計的常用控制結構(順序、選擇和循環(huán))、常用算法、模塊調用等內容,而且要掌握很多控件的屬性、方法和事件等簡單的面向對象編程方法。其次傳統(tǒng)教材都是按照理論講解、案例分析、實踐練習的教學模式,各章節(jié)的內容基本獨立,學生容易形成“只見樹木不見森林”的感覺,不了解各個知識點的實際應用,在遇到課程設計和畢業(yè)設計等稍大的項目時經常完全不知所措。
2 項目式教學案例(Project-based teaching case)
傳統(tǒng)的教學模式中,案例的選取往往根據章節(jié)的知識內容選取。例如講解基本控制結構時采用四則運算考試程序作為案例,講解控件數組時采用計算器作為案例[2]。案例簡單、靈活,也具有一定的趣味性,但是問題是案例之間往往關聯不大,學生不能把它們整合在一起。這樣的案例能讓學生初步了解和掌握本門課程中的基本知識,卻不能系統(tǒng)、全面地認識和應用所學知識。學生學完該課程只能孤立地做簡單的小案例,而欠缺將各章節(jié)知識結合起來開發(fā)一個完整的項目的能力[3]。
因此本文提出在VB課程的教學中增加實戰(zhàn)練習的環(huán)節(jié),引入一到兩個貫穿于整個教學過程的項目式案例。采用項目式案例的教學方式,可以使學生通過項目式的完整案例學習到各章節(jié)的知識點如何運用到一個完整的軟件系統(tǒng),如打字游戲、模擬(溫度)監(jiān)控程序、學生信息管理軟件等,讓學生學會自主開發(fā)簡單的軟件系統(tǒng),全面提高學生計算機編程的興趣和能力。
項目式案例的核心內容就是將案例中的主要任務就是根據VB課程的教學內容進行拆分,分解到各章節(jié)成為適合本章節(jié)知識點的小案例,逐步引導學生由簡到繁,由易到難,循序漸進地去完成;最后所有章節(jié)講解結束,各個案例也整合成為一個完整的項目。在完成項目的過程中,學生不斷地接近完整的程序,逐步獲得成就感,并且不斷提高發(fā)現問題、分析問題、解決問題的能力,調試技能的提高有利于培養(yǎng)學生自主思考、勇于開拓的精神。
2.1 項目式教學案例的選擇
如何選擇合適的項目作為VB課程的教學案例是決定教學效果的重要因素。首先要根據課程教學內容,選擇知識點盡量覆蓋較多章節(jié)的項目,如果不夠可以選取另一個案例相互補充,然后才能有效地將項目中任務分布到各章節(jié)進行拆解。其次要根據學生的學習特點,選擇學生學習或生活中能看到的生動有趣的項目,才能激發(fā)學生的編程熱情。最后要根據應用型本科的特點“學以致用”,選擇學生專業(yè)特點有關的項目,才能讓學生感受到編程能力的提高與本專業(yè)的學習也是息息相關,相互促進。
下面就以打字游戲軟件的開發(fā)為例介紹如何在教學過程中將項目式教學案例拆分成若干與章節(jié)知識點相關的小案例,最終整合為完整的軟件系統(tǒng)的過程。實際教學中可以根據學生特點增加項目,例如工科類學生可以引入模擬(溫度、壓力)監(jiān)控程序,文科類學生可以引入學生信息管理軟件等。
2.2 項目式教學案例的拆分
VB教材需要包含的知識點主要包括基本控件、語言基礎、三種控制結構、數組、過程、常用控件、界面設計、文件、圖形技術、數據庫技術[1]。數據庫技術需要涉及SQL語句,通常非計算機專業(yè)的課時不夠,一般作為演示了解內容,為下一步學習做個鋪墊。
首先對于各章節(jié)的知識點應該非常了解。根據完整的項目中需要用到的知識點定位到各章節(jié),然后根據知識點的要求做成適合于講解進度的小案例。例如打字游戲是學生熟悉又實用的一款游戲。游戲規(guī)則是用戶根據屏幕上下落的字符在鍵盤上按鍵,如果輸入的字符匹配,字符消失;如果輸入的字符錯誤,正確率下降。所有的統(tǒng)計信息均在游戲界面的右側欄顯示[4]。正確按鍵數達到一定程度將會增加游戲難度,并獎勵生命值。字符下落至窗口底部時將減去生命值,當生命值等于零時游戲結束,如果打字速度進到了前10名,程序會自動彈出對話框要求輸入姓名,以記入排行榜。正確率低于30%時將自動結束游戲。作為拓展可以增加時限模式,游戲開始時不設生命值而是設置10秒鐘時間限制,依據字符下落至窗口底部時將減去2%的正確率,當正確率等于0時游戲結束;時間限制中正確按鍵數沒達到要求,游戲結束,若達到了就增加游戲難度,并獎勵一定量的時間。
第一個知識點是基本控件,講解結束可以完成案例1,相關功能有:建立主界面窗體和游戲窗體;設計程序中的基本控件;設計初始化的字符標簽;對象屬性的設置;調用窗體的Hide、Show、Print等方法實現窗體的隱藏、彈出、顯示內容。為了提高案例的趣味性,可以增加拓展內容:如嘗試編寫鍵盤事件,把屏幕上的字母去掉,知識點可以參考函數和后面章節(jié)中的鍵盤事件。
第二個知識點是VB語言基礎,講解結束可以完成案例2,相關功能有:聲明所有要用到的公共變量(為以后介紹變量的作用域作為鋪墊)和常量;用轉換函數實現變量的轉換;用數學函數Randomize實現初始隨機字符;用Format()輸出游戲指定格式的信息如正確率等。endprint
第三個知識點是控制結構,講解結束可以完成案例3,相關功能有:編寫主程序代碼實現隨機生成字符出現在隨機的位置(此時還沒有學習Timer控件,暫時不實現下降);修改鍵盤事件,消掉字母同時增加擊鍵正確率;點擊空格鍵可以暫停游戲,并顯示提示信息。
第四個知識點是數組,講解結束可以完成案例4,主要是改進案例3:以前用26個標簽充當字母的方法可以使用控件數組來改進。這種方法使同類型同功能的控件具有相同的名字,只需用下標來區(qū)分,不僅能夠動態(tài)創(chuàng)建,還可以改進字符匹配的算法,程序更加簡潔;對隨機產生的字母,需要進行校驗,確保字母不重復出現在屏幕上。引入數組同時加強了對循環(huán)結構的應用和理解。
第五個知識點是過程,講解結束可以完成案例5,主要是繼續(xù)改進案例4:將重用代碼或者功能獨立的代碼放入函數或過程中,并將一些公共函數和過程放到公共模塊PublicMethod中,如字符添加過程CharAdd、字符清空過程CharClear、背景載入過程LoadBG等。
第六個知識點是常用控件,講解結束可以完成案例6,主要是設置窗體中應用常用控件如單選框、復選框、列表框等并同時修改相關代碼;加入時鐘控件可以實現字符下落,且字符的增加和信息的輸出均改由時鐘控件控制。
第七個知識點是界面設計,重點內容是通用對話框。案例7是把通用對話框的幾個常用功能融合到設置窗體的背景圖片選項中去;設置中增加背景和字體選項;增加彈出菜單,可以選擇繼續(xù)游戲、重新開始、返回主界面、退出等選項。
第八個知識點是文件,重點是文本文件、二進制文件的訪問和幾個常用的文件操作功能,案例8是繼續(xù)增加設置的配置文件讀取保存功能和排行榜顯示和保存功能。
第九個知識點是圖形,本案例幾乎沒有涉及。建議補充模擬溫度監(jiān)控程序,可以根據模擬量繪制溫度的動態(tài)變化過程,而實際監(jiān)控系統(tǒng)中,利用傳感器采集參數,然后將模擬量轉換為數字量并傳送給監(jiān)控計算機[4]。
這樣就完成了整個項目式案例的拆分。教材的編寫遵循固定的順序,但在實際拆分為小案例的過程中,根據項目的特點及教學需要進行適當的調整,可以將涉及后面章節(jié)的知識點提前滲透到案例中。前提是涉及內容不多,知識點單一不易單獨舉例的內容。比如函數、變量的作用域等。等講解到相關知識點后,可以再介紹一些復雜的應用,這樣順其自然地領會一些比較枯燥的知識點的應用場景。
2.3 項目式教學案例的整合
所有知識點講解結束后,整個項目就完成了。各知識點在完整項目中的應用也在實戰(zhàn)訓練中讓學生感受得更加明確。
實際教學過程中需要首先將完整的項目式案例演示給學生,相當于軟件工程中的原型系統(tǒng),作為學生參考的實例。完成案例的過程中也可以鼓勵學有余力的同學進一步的拓展,或者根據自己的興趣拓展或者選擇其他的項目式案例。
3 結論(Conclusion)
本文針對高校VB課程教學中存在的問題,提出了貫穿于整個教學過程的項目式案例的教學方法。選擇知識點覆蓋主要教學內容的項目,對項目根據各章的知識點拆分為與教學進程相適應的小案例,然后隨著教學進程的開展,逐步擴充改進,最后完成整個項目。各章節(jié)既有適合本章知識點的小案例,又有項目式的完整案例,學生在學習理論知識的同時就能了解實用場景,學習過程更加具有趣味性和實用性,有利于調動學生的學習熱情,激發(fā)創(chuàng)新精神,提高解決問題的能力。
參考文獻(References)
[1] 龔沛曾,等.Visual Basic程序設計教程(第4版)[M].北京:高等教
學出版社,2013.
[2] 譚瑛.基于驅動式案例教學法的VB案例設計策略[J].計算機
教育,2012(13):53-57.
[3] 姚彬.淺談案例教學法在VFP教學中的應用[J].湖北廣播電視
大學學報,2008,28(6):127-128.
[4] 王棟.Visual Basic課程設計[M].北京:清華大學出版社,2004.
作者簡介:
陳 鈞(1976-),男,講師,碩士.研究領域:多媒體技術.
劉愛華(1972-),女,講師,本科.研究領域:網絡技術.endprint