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