摘要:本文結合VB語言的特點及學生的認知規律確定處理VB教材的思路,提出“三階段教學法”,對該課程教學方法的改進、提高學生的編程能力等方面作了一些探索和實踐。
關鍵詞:VB程序設計;三階段教學法;教學研究
中圖分類號:G642.4 文獻標識碼:B
文章編號:1672-5913(2007)06-0010-03
1 引言
VB程序設計語言因其入門簡單、功能強大、應用性強等特點已經成為高等院校非計算機專業的重要課程。在以往的教學中,經常發現由于教師教學內容安排和教學方法選擇不當,導致很多學生對VB語言感到枯燥難學,學過之后不能獨立設計程序。因此,在教學中科學合理地利用教材,改進教學方法,激發學生的學習積極性,提高VB程序設計課的教學質量成為高校計算機基礎課教師需要思考的問題。如何能教好VB程序設計課,筆者根據VB課的特點,摸索出一種以“三階段教學法”為主的一整套教學方法和技巧,使VB課的教學取得了較好效果。
2 什么是“三階段教學法”
理解教材是備好課的基礎,處理教材是上好課的前提。教師要從VB課程的教學大綱和教學目標出發,結合VB語言的特點及學生的認知規律確定VB教材的處理思路。VB程序設計課程教學的主要目標是使學生具有使用VB語言開發應用程序的基本能力。VB是一種可視化編程語言,提供了豐富的控件,采用事件驅動的編程方法,使編程更加容易,程序開發不再需要過多地與編寫代碼打交道,從而可以將更多時間放在程序設計上,放在設計解決實際問題的算法及更友好的用戶界面上。但是以往教學中基礎性實驗比重過大,綜合性實驗比重相對較小,教學始終停留在語言基礎層次上。而要想將教材各部分結合起來,構成一個完整的有機教學體系,實現VB課程的教學目標,只有通過綜合性練習才能使所學知識融會貫通。那么怎樣合理處理教材呢?
2.1 縱觀全面,確定重點
確定教學重點是教師在處理教材中起決定作用的一項工作,需要統觀全局,慎重對待。VB程序設計課程總的來說分程序設計語言和可視化界面設計兩部分,教學重點在前一部分,以教授程序設計基本思想和算法為主線。為此,在整個VB教學中重點要處理好以下六部分內容:⑴程序設計基礎;⑵常用標準控件;⑶控制結構;⑷數組;⑸過程;⑹數據文件。抓住了這六部分教學內容就抓住了VB課程結構的主要線索。
2.2 整體規劃,分階段教學
重點確定之后,就應考慮如何處理重點。通過對VB教材的整體分析,可把VB程序設計課的教學內容總體上劃分三大部分:VB入門知識、簡單編程、綜合程序設計,在此基礎上實施教學,即所謂“三階段教學法”。“三階段教學法”就是加大綜合性實驗比重,明確不同階段的教學目標,采用不同的教學方法,內容明確,突出重點,分散難點,循序漸進,使學生在不同階段掌握程序設計相應的能力,最終達到VB課程的教學目標。
3 VB教學的三個階段及實施方案
3.1 VB入門階段
該階段的教學目標是熟悉VB集成開發環境,了解VB中對象的概念和事件驅動程序的基本特性,使學生初步掌握VB編程的基本過程,為下一階段簡單編程打下良好的基礎;教學重點為對象的概念、事件驅動的編程機制、編程基礎和常用控件的使用。具體教學內容涉及VB集成開發環境、常用對象及其操作、編碼基礎、數據的輸入與輸出和常用控件。
調查表明,大多數VB沒有學好的同學都是前幾章沒掌握好,影響了學習的積極性,導致該門課程最終學習效果不是很好。究其原因,由于教學內容太多,學生在教學開始階段很難一下理解這些概念。因此,在教學中應該將教材前幾章內容進行精心剪裁、梳理和調整。比如,窗體的部分屬性放到基本控件中講,記錄類型合到數據文件中講,部分函數揉到第二階段簡單編程中講。這樣調整后,降低了入門難度,突出了本階段的重點,激發了學生學習興趣,難懂的概念也好理解了。這一階段教學要注意以下幾個方面:
(1)理解事件驅動機制,加強面向對象編程的思維訓練。為了講清事件驅動的基本概念,要加強學生面向對象的編程思維訓練,通過實例歸納出如下典型事件驅動序列:① 啟動應用程序,加載和顯示窗體;② 窗體或窗體上的控件接收事件;③ 如果相應的事件過程中存在代碼,則執行代碼;④ 應用程序等待下一次事件。這樣可使學生真正理解什么是事件驅動編程機制,如何設計事件驅動的程序。
(2)重視程序設計基礎的學習,打好編程的基本功。程序設計基礎介紹構成VB應用程序的基本元素,包括數據類型、常量、變量、函數、運算符和表達式等。學生學習這些內容時感覺太枯燥,提不起學習興趣。針對這種情況,可采用以下教學方式:① 關鍵概念,問題情境教學。如數據類型(整型變量、單精度變量、雙精度變量)、變量作用域(局部變量、窗體/模塊變量、全局變量)等一些概念之間的差別,如果只通過教師平鋪直敘的講述,學生的認識與理解往往是很膚淺的。如果能創設出問題情境,讓學生自己在解決問題的過程中去體驗,情況將會完全是另一個樣子。② 基礎實驗,立即窗口操作。程序設計基礎內容多,而課時有限,培養學生自學能力尤為重要。這部分內容最好的教學方法是,讓學生自己通過VB窗口來驗證命令、函數和表達式,從中掌握一些有趣的技巧,不僅節省了課時,而且記憶深刻。
(3)學習編程,給出樣例,完全模仿。這一階段上機練習重點在界面設計(認識控件),對于編寫控件的事件過程代碼只要求學生根據樣例模仿(完全模仿)做,其原因是入門階段學生根本沒有建立起程序的相關概念,不熟悉相關的編程指令,也就談不上將解決問題的思路變成程序代碼。
(4)常用標準控件,分組教學。在VB中常用標準控件一共有20個。如果按教材順序一個個地講授,一是課時不夠,二是學習效果不佳。在教學過程中,應以文本框、標簽框、列表框和組合框為主,滾動條、計時器為輔,配以命令按鈕、復選框和單選按鈕,對控件分組,每一組控件組成一個實用教學實例。經過處理后,當再講授控件的屬性、方法、事件過程時,學生就會產生強烈的好奇心和濃厚的學習興趣,從而更好地理解和掌握這些控件,還可以從各個具有示范作用的實用教學實例設計過程中得到有益的啟示,為下一階段簡單編程積累更多的經驗。
3.2 簡單編程階段
這一階段教學目標為在熟練掌握VB語言的基本語句和了解簡單的數據結構與算法的基礎上,使學生具有一定程序閱讀能力和初步的程序設計能力;教學重點是程序的三種基本結構和數組,要求熟練掌握各種結構的作用及實現方法,熟練掌握數組的定義方法、數組元素的引用方法、數組的使用。
這個階段的教學逐漸從可視化界面設計的學習過渡到程序代碼的編寫。教師容易受到傳統面向過程編程思維方法的影響,總是拘泥把程序設計語言和可視化界面設計教學硬性割裂開來,分成互不相干的兩部分,未能在教學中體現結構程序設計與對象程序設計有機統一的客觀規律。教學實踐證明,將程序設計語言和可視化界面設計有機地結合,既可全面了解VB的基本風格,又可提高編程效率和教學效果,真正達到學以致用的目的。
由于第二階段教學起到承上啟下的作用,教學過程中不僅要注意語言的基本理論,更要重視編程思路的引導和編程能力的培養。因此,教學中必須處理好以下幾個環節:
(1)教學中要注重對算法的教學。算法就是指解決問題的方法和思路,是程序設計的靈魂。在講程序設計時,應以算法為核心,先講算法的概念、算法的描述,并結合教學實例引導學生如何分析出程序的算法,再編寫代碼實現算法的每一步。具體來說,要在選擇結構、循環結構和數組的教學中,強化求和、求階乘、通項計算、求最大最小值、選擇排序、冒泡排序、判斷素數、判斷奇偶數、字符串的一般處理、順序和二分檢索法以及數據交換等常用算法的技能訓練。
(2)加強學生閱讀程序的訓練。在剛講程序的三種基本結構和數組時,就要求學生根據題意自行編程,對于絕大多數學生來說是力不從心。教學實踐表明,在第二階段開始增加程序閱讀理解訓練是較好的解決方案。讓學生多進行讀程序、寫運行結果、指出程序的功能等訓練,有助于學生從中體會各種語句的使用,積累各種算法設計技巧。在閱讀程序的訓練中,教師還要引導學生在循環結構和選擇結構中養成運用動態思維理解程序的習慣。這種習慣的養成,對培養學生的邏輯思維能力和抽象能力有非常重要的作用,待學生具有一定的閱讀理解能力后,再提出編程的要求。
(3)學習編程,分析引導,給出參考范例,留給學生一些自由發揮、創造的空間,半模仿。本著從易到難、循序漸進的原則,將這一階段編程的學習分成兩步,第一步精講例題,詳細分析其算法,逐一列出解題步驟,給出完整程序;第二步出一些與例題類似,但要求略高的編程問題,讓學生(半)模仿完成。隨著一個個問題的解決,學生逐步消除對編程的畏懼,不斷地體會到成功的喜悅,學習的興趣也進一步強化了。
3.3 綜合編程階段
該階段教學目標為培養學生具有一定的程序設計能力;教學重點為過程和數據文件兩部分。具體教學內容涉及過程、鍵盤與鼠標事件、菜單與對話框、多窗體與環境應用和數據文件等內容。這個階段教學實施方法:將章節教學和綜合復習穿插進行,課后習題分成基本題和綜合題兩類,基本題按章節進行設計,綜合題從過程和數據文件兩部分知識入手,設計難度適當、貫穿全書的練習題。課程經過這樣處理后,加大了綜合性實驗比重,通過這些練習,學生綜合編程能力得到很大提高。
為了使綜合編程階段的教學能對全書知識加以整理、系統、歸納、概括,以達到認識的再提高,教學中要注意以下三個方面:
(1)學習編程,從半模仿過渡到獨立完成。第一步是“講解”,對于講解的綜合實例要精選,使它具有典型性、綜合性,并且多少適量,難易適度。第二步是“改進”,編選練習題組要緊密結合所講綜合實例精心安排,舉出與原題類似,但要求略高,形式多樣的實例,如程序填空題、程序改錯題、編程題等,讓學生練習消化,鞏固所學知識,提高程序分析能力。第三步是“創新”,即在完成上述練習的基礎上,鼓勵學生進行創造性練習,獨立編寫簡單的程序。讓學生在大量的編程練習中提高編程能力。
(2)編程知識系統化。第一,復習要彌補的知識缺陷,起到查漏補缺的作用,部分綜合題課堂知識不能解決,鼓勵學生課外時間上網查詢有關的編程資料、經驗文章或通過MSDN幫助進行自學。第二,復習時要注意各部分的內在聯系,抓住教材精髓。教師通過幫助學生細化大綱,將可視化界面設計按控件的屬性、方法、事件進行列表整理,程序設計語言按數據組織(由常量、變量、數組、記錄、文件等構成)、數據處理的基本方法(有求和、求階乘、文件操作等)、數據處理的邏輯組合(有順序、選擇、循環)進行分類歸類串接,使學生從中體會程序設計方法和思想。
(3)經常歸納總結。引導學生隨時做好學習心得和經驗積累的筆記,及時總結合理、簡捷的編程方法和規律,幫助學生更好更快地提高編程能力。
4 結束語
實踐證明,采用“三階段教學法”,明確不同階段的教學目標,不僅豐富了課堂教學內容,提高了學生的學習興趣,還提高了VB程序設計課程的教學質量,達到了令人滿意的教學效果。
參考文獻:
[1] 楊俊宇. 淺談VB程序教學方法[J]. 科技資訊, 2006, (16) : 211-212.
[2] 康麗萍. VB教學的幾點體會[J]. 農業網絡信息, 2005, (09) : 45-46.
收稿日期:2006-11-02
作者簡介:宋志宏(1951-),男(漢族),天津市人,武警醫學院基礎部計算機教研室,副教授。