方芳
摘要:文章分析了VB程序設(shè)計課程的教學(xué)現(xiàn)狀,針對目前實際教學(xué)中存在的問題,結(jié)合程序設(shè)計課程本身的特點和學(xué)生的實際情況,提出了課程教學(xué)改革的方案,使學(xué)生能夠通過本課程的學(xué)習(xí),真正掌握計算機(jī)程序設(shè)計的思維方式以及基本的操作技能。
關(guān)鍵詞:VB;程序設(shè)計;教學(xué)改革
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2012)32-7797-02
VisualBasic(簡稱VB)是目前使用最廣泛的一種程序設(shè)計語言,是在Basic語言的基礎(chǔ)上發(fā)展起來的,它繼承了Basic語言簡單易用的優(yōu)點,結(jié)合了可視化界面的設(shè)計方法,采用面向?qū)ο?、事件?qū)動的編程機(jī)制,把Windows編程復(fù)雜性進(jìn)行巧妙封裝,使開發(fā)Windows環(huán)境下的各種應(yīng)用軟件變得更為容易。因此,目前國內(nèi)很多高校都選擇將《VB程序設(shè)計》這門課程作為理工科專業(yè)的一門基礎(chǔ)課程。程序設(shè)計具有知識結(jié)構(gòu)嚴(yán)謹(jǐn)、邏輯性強(qiáng)的特點,學(xué)生學(xué)習(xí)起來比較困難,教學(xué)效果也不盡如人意。如何提高本課程的教學(xué)質(zhì)量和教學(xué)效果,是每位授課教師都會關(guān)注的課題。
1教學(xué)中存在的問題
就VB程序設(shè)計這門課程的教學(xué)現(xiàn)狀而言,通常采用的還是以課本原有知識體系為脈絡(luò)的傳統(tǒng)講授法,教學(xué)內(nèi)容大多以線性方式展開,同時結(jié)合上機(jī)實踐操作來鞏固和熟悉課堂上所講的每一章節(jié)的知識點。經(jīng)過教學(xué)實踐證明,這種教學(xué)模式能夠讓學(xué)生掌握VisualBasic的較多的理論知識,也可以閱讀程序代碼,但是讓學(xué)生自己解決一些問題的時候,通常都會束手無策。經(jīng)過分析總結(jié)出此課程在教學(xué)中存在的問題:
一是教學(xué)內(nèi)容與教學(xué)目標(biāo)不一致。VB程序設(shè)計課程的教學(xué)目標(biāo)是培養(yǎng)學(xué)生程序設(shè)計的基本知識、思維方式以及基本的操作技能,而教師在實際授課時,大多單純依照教材講授理論基礎(chǔ)知識,授課基本上是以語言自身的知識體系為脈絡(luò)展開,過分注重語句、語法和結(jié)構(gòu)的講解,忽視對學(xué)生分析與解決問題能力的引導(dǎo),不能很好的將編程環(huán)境、程序設(shè)計語言、算法、數(shù)據(jù)結(jié)構(gòu)以及程序設(shè)計思想關(guān)聯(lián)起來形成體系化教學(xué)。[1]導(dǎo)致學(xué)生只學(xué)會了語法概念而不會使用,能夠讀懂某一條語句,卻無法理解一段代碼的含義。
二是實驗內(nèi)容過于簡單。上機(jī)實驗大多都是屬于基礎(chǔ)與驗證型實驗,偏重于VB語言的基本語法和結(jié)構(gòu)的練習(xí),能夠幫助學(xué)生更好的理解和掌握這些語法知識,但無法培養(yǎng)學(xué)生編程能力和解決實際問題的能力。實驗內(nèi)容普遍都是知識點案例,針對的是具體的一個或多個知識點,沒有依托完整的實踐項目,使學(xué)生對知識點的學(xué)習(xí)感到枯燥無味,而且很容易遺忘。
三是學(xué)生缺乏計算機(jī)的思維方式。學(xué)生在接觸這門課程之前通常沒有任何基礎(chǔ),學(xué)生普遍缺乏相應(yīng)的知識背景和算法思想,對程序設(shè)計的思維方式還不適應(yīng),分析和解決問題的能力處于一個較低的水平。在學(xué)習(xí)過程中經(jīng)常會出現(xiàn)這種情況,教師對程序進(jìn)行分析講解時學(xué)生能夠聽懂理解,代碼也能夠讀懂,但是讓學(xué)生自己編寫時,就無處下手,久而久之學(xué)生對編程充滿畏懼感,對學(xué)習(xí)本門課程缺乏興趣。
如何改變目前教學(xué)中存在的問題,讓學(xué)生能夠更好地掌握VB語言,掌握程序設(shè)計的基本方法?需要對課程的教學(xué)進(jìn)行改革和創(chuàng)新。
2課程教學(xué)改革
2.1拓展教學(xué)內(nèi)容
本課程主要培養(yǎng)學(xué)生的程序設(shè)計思維方式和實際編程能力,而不是單純的程序設(shè)計語言,因此必須打破固有的以“語法”和“結(jié)構(gòu)”為中心的傳統(tǒng)教學(xué)理念,以突出能力培養(yǎng)為主軸,圍繞能力培養(yǎng)組織教學(xué)內(nèi)容。教學(xué)內(nèi)容的選擇不能僅僅局限在一本教材上,要突破教材局限,將程序設(shè)計中所需要的眾多知識點加以整合,包括VB語言的語法結(jié)構(gòu)、可視化編程方法、常用的算法、數(shù)據(jù)結(jié)構(gòu)以及程序的調(diào)試等,形成新的知識體系。在這里算法是程序設(shè)計的核心,而語言只是一種工具,在授課的過程中,特別是講解實例時,需要剝開語言這層外殼,讓學(xué)生掌握其中的精粹——算法,也就是如何利用計算機(jī)來解決某一具體問題。
當(dāng)然,這并不是說語言不重要,語言是程序設(shè)計的工具,如果不掌握語言,程序設(shè)計就無從談起。教材上的語法描述非常細(xì)致、系統(tǒng),但大量的語法規(guī)則會使初學(xué)者感覺枯燥,這非常影響學(xué)生的學(xué)習(xí)興趣。根據(jù)二八定律,在任何一組東西中,只有20%是最重要的,事實上VB語言也是如此,最常用、最重要的知識點并不是很多。因此在講述語法時,只需提供給學(xué)生最基本的語法知識,其余的細(xì)枝末節(jié)可以由學(xué)生自學(xué)。
2.2優(yōu)化教學(xué)方法和教學(xué)策略
在程序設(shè)計的教學(xué)中,傳統(tǒng)講課方式的缺陷已眾所周知,因為這是一種以教師為主、學(xué)生為輔的一種授課形式,講課中教師是積極的而學(xué)生是消極的,很難把學(xué)生吸引到學(xué)習(xí)進(jìn)程之中。但這不是意味著要把這種授課方式拋棄,講課是把大量知識傳遞給學(xué)生的一種常用模式,尤其在本課程的教學(xué)中,學(xué)生缺乏普遍缺乏知識背景,大量的理論知識需要傳遞給學(xué)生,這就需要教師進(jìn)行詳細(xì)地講解。在講解時應(yīng)該采用多種策略,比如在講述抽象概念時最好與實踐相關(guān)聯(lián),或者與學(xué)生已有的知識聯(lián)系起來,這樣比較容易理解。在提到函數(shù)和數(shù)據(jù)類型的時候,可以跟學(xué)生比較熟悉的Excel中的相關(guān)概念關(guān)聯(lián)起來。在講述面向?qū)ο蟮母拍顣r,可以拿Windows操作系統(tǒng)作為例子,它就是依照面向?qū)ο蟮乃枷刖幹贫傻?,在桌面上的每個圖標(biāo),可以理解成一個對象,當(dāng)需要啟動某個對象時,只需用鼠標(biāo)點擊它(消息驅(qū)動)。[2]不僅如此,在不同的情境下還需要靈活運(yùn)用多種教學(xué)方法,如問題法、引導(dǎo)法、任務(wù)驅(qū)動和實例教學(xué)法等,這樣有助于讓學(xué)生從消極的學(xué)習(xí)者轉(zhuǎn)變?yōu)榉e極的學(xué)習(xí)者。
2.3完善實驗教學(xué)體系
VB程序設(shè)計是一門理論性和實驗性都很強(qiáng)的課程,對實驗環(huán)節(jié)有較高的要求。要學(xué)好這門課,學(xué)生只有經(jīng)過大量的上機(jī)實驗,才能掌握程序設(shè)計的技能和方法。因此,在教學(xué)過程中要給學(xué)生留出足夠的上機(jī)時間,讓學(xué)生在實驗中理解VB語言的基本概念,掌握基本的編程方法。結(jié)合學(xué)生的專業(yè)方向,精心選擇合適的案例、設(shè)計型與研究型課題,構(gòu)建有助于培養(yǎng)學(xué)生動手能力和程序設(shè)計思維方式的實驗教學(xué)平臺。整個實驗環(huán)節(jié)分為三個層次設(shè)計,基礎(chǔ)驗證型、設(shè)計開發(fā)型和研究創(chuàng)新型實驗,每次實驗課有多個基礎(chǔ)驗證型實驗,幫助學(xué)生掌握相應(yīng)的語法知識和算法設(shè)計,每一章精選1~2個設(shè)計開發(fā)型實驗,與學(xué)生分析討論解題思路,引導(dǎo)學(xué)生獨立解決問題,培養(yǎng)學(xué)生的上機(jī)調(diào)試能力。學(xué)生以小組為單位,選擇一個與其專業(yè)相關(guān)的研究題目,要求學(xué)生逐步完成研究分析與報告,寫出個人的心得體會,并在學(xué)期末給出一定的時間完成課題。
2.4創(chuàng)建項目實例庫
充分利用網(wǎng)絡(luò)資源,搜集各類完整的VB程序?qū)嵗?,從中選取典型的、有實際意義的實例,作為程序設(shè)計的模板提供給學(xué)生。大多數(shù)學(xué)生基本上是初次接觸計算機(jī)程序設(shè)計,習(xí)慣采用數(shù)學(xué)思維方式來分析問題,還沒有真正掌握計算機(jī)編程的基本思路。在實驗過程中,遇到一個新的題目,學(xué)生往往不知道從何下手,思路不清晰,此時就可以從項目實例庫找出對應(yīng)的實例,通過借鑒或修改相應(yīng)的模板得到結(jié)果?!笆熳x唐詩三百首,不會做詩也會吟”,經(jīng)常閱讀這些實例,能夠拓展學(xué)生的視野,促進(jìn)學(xué)生對于程序設(shè)計思想的理解與認(rèn)識,提高學(xué)生的編程能力。
在具體實施上,整理出40~50個典型項目實例,將它們分為五大類:基礎(chǔ)類、算法類、圖形類、文本類和應(yīng)用類,供學(xué)生自主學(xué)習(xí),另外從中選取6~8個典型的項目實例,要求學(xué)生必須理解掌握,這些實例基本上包含了這門課程的知識要點,理解了這些實例,對于課程的知識結(jié)構(gòu)會有一個全面的了解。其中,學(xué)生最喜歡也最有興趣的實例就是彈球游戲,通過對彈球游戲程序代碼的閱讀分析,學(xué)生能夠更好地掌握定時器控件和控件坐標(biāo)等相關(guān)的知識,學(xué)生也很有興趣地去改寫程序代碼,以獲得類似的動畫效果,可見好的實例能夠激發(fā)學(xué)生的求知欲望,提高學(xué)生的學(xué)習(xí)積極性,培養(yǎng)學(xué)生分析問題和解決問題的能力。
3結(jié)束語
VB程序設(shè)計課程對于理論知識和實際操作均有較高要求,教學(xué)時需要綜合運(yùn)用多種教學(xué)方法和教學(xué)策略,充分調(diào)動學(xué)生的學(xué)習(xí)積極性和主動性,將教學(xué)重點放在算法的分析和編程的訓(xùn)練上,注重實驗教學(xué)環(huán)節(jié),加強(qiáng)對學(xué)生程序設(shè)計思維方式和實際編程能力的培養(yǎng),提高課程的教學(xué)效果。
參考文獻(xiàn):
[1]王素立.算法驅(qū)動的面向?qū)ο蟪绦蛟O(shè)計教學(xué)研究[J].教育與教學(xué)研究,2008.
[2]李剛健,任芳芳.高級程序語言教學(xué)改革初探[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2005.