摘要:Visual Basic語言是一種基于Windows平臺的,面向?qū)ο蟮目梢暬幊陶Z言,由于其具備了直觀、簡單易學(xué)的特性,因此,很多大學(xué)都把VB作為非計算機(jī)專業(yè)的計算機(jī)公共基礎(chǔ)課來講授。本文分析了VB教學(xué)在非計算機(jī)專業(yè)學(xué)生中所普遍存在的問題,結(jié)合教學(xué)實(shí)際,提出了相應(yīng)的改進(jìn)方法,這種方法在筆者的實(shí)際教學(xué)中取得了較好的效果。
關(guān)鍵詞:Visual Basic程序設(shè)計 非計算機(jī)專業(yè) 學(xué)習(xí)興趣 教學(xué)方法
文章編號:1672-5913(2011)18-0053-04 中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A
隨著Internet的發(fā)展以及辦公自動化的普及,一名合格的大學(xué)生必須掌握計算機(jī)技術(shù)的基礎(chǔ)內(nèi)容。Visual Basic程序設(shè)計語言(以下簡稱VB)作為一門面向?qū)ο蟮某绦蛟O(shè)計語言,具有簡單易學(xué)、功能強(qiáng)大、應(yīng)用廣泛的特點(diǎn),被公認(rèn)為是編程效率最高的一種編程工具[1],因此很多院校都選擇VB作為計算機(jī)程序設(shè)計的基礎(chǔ)課來培養(yǎng)學(xué)生的計算機(jī)應(yīng)用的能力,本文首先指出了非計算機(jī)專業(yè)學(xué)習(xí)程序設(shè)計語言必要性,分析了教學(xué)中存在的不足,并對不足之處提出了改進(jìn)的方法。
1 非計算機(jī)專業(yè)學(xué)生學(xué)習(xí)程序設(shè)計必要性
1.1 社會信息化的要求
非計算機(jī)專業(yè)的學(xué)生學(xué)習(xí)計算機(jī),是信息素質(zhì)教育的需要,也是創(chuàng)造教育的需要,更是發(fā)展我國信息產(chǎn)業(yè)的需要。掌握計算機(jī)知識和應(yīng)用,是培養(yǎng)滿足時代要求的新型人才的一個重要環(huán)節(jié)。隨著科技的進(jìn)步,計算機(jī)的應(yīng)用促進(jìn)了各個科學(xué)領(lǐng)域的發(fā)展。作為一名非計算機(jī)專業(yè)的大學(xué)生,在掌握本專業(yè)的同時,也應(yīng)該初步的學(xué)習(xí)一些計算機(jī)高級語言和程序設(shè)計,從能夠更好的為本專業(yè)服務(wù)。
1.2 能夠更深入的了解軟件的運(yùn)行機(jī)制,從而提高軟件的操作能力
Visual Basic程序設(shè)計語言(以下簡稱VB)作為一
門面向?qū)ο蟮某绦蛟O(shè)計語言,具有簡單易學(xué)、功能強(qiáng)大、應(yīng)用廣泛的特點(diǎn),被公認(rèn)為是編程效率最高的一種編程工具[1]。高級語言程序設(shè)計課程不僅使學(xué)生能更深入地理解計算機(jī)的工作過程,而且在培養(yǎng)學(xué)生嚴(yán)密的邏輯思維、培養(yǎng)非計算機(jī)專業(yè)學(xué)生利用計算機(jī)解決本專業(yè)問題的能力方面有著非常重要的作用
1.3 能夠開拓學(xué)生的邏輯思維能力以及動手能力。
大學(xué)生學(xué)習(xí)VB,不僅僅是通過二級考試,更重要的培養(yǎng)學(xué)生具有相關(guān)領(lǐng)域中的計算機(jī)應(yīng)用開發(fā)能力以及利用計算機(jī)分析問題、解決問題的意識。程序設(shè)計課程在培養(yǎng)學(xué)生分析問題、解決問題的能力和培養(yǎng)學(xué)生創(chuàng)造性思維上起著非常重要的作用。
2 VB教學(xué)中存在的問題
Visual Basic語言作為非計算機(jī)專業(yè)學(xué)生的一門計算機(jī)基礎(chǔ)課,在大學(xué)生素質(zhì)教育中有著重要的作用,然而在這門課程的教授中,普遍存在著以下幾個問題。
1) 缺乏相應(yīng)的基礎(chǔ)知識,有畏難心理。
大多高校的VB課程開設(shè)是在大一的下學(xué)期,盡管在開設(shè)VB程序設(shè)計課程之前,學(xué)校已經(jīng)給學(xué)生開設(shè)過計算機(jī)文化基礎(chǔ)這門課,但很多學(xué)生仍然對計算機(jī)語言程序設(shè)計一無所知,學(xué)習(xí)程序設(shè)計語言過程中理解力、掌握程度相對較差,這直接影響著VB程序設(shè)計課程的教學(xué)效果。
2) 學(xué)習(xí)目的不明確。
學(xué)生對VB程序設(shè)計課程認(rèn)識不夠,學(xué)習(xí)動機(jī)不明確,認(rèn)為學(xué)習(xí)程序設(shè)計對他們來說沒有用,今后到工作崗位上不可能去編寫程序,大部分學(xué)生只是把VB程序設(shè)計課程當(dāng)作一門不得不學(xué)的課程,只是單純的應(yīng)付考試。也由于教師教學(xué)內(nèi)容的安排和教學(xué)方法的選擇不當(dāng),使得很多學(xué)生學(xué)習(xí)興趣不濃,積極性不高,感到這門課程枯燥、難學(xué)。
3) 學(xué)生接受知識過于被動。
隨著計算機(jī)技術(shù)的發(fā)展和計算機(jī)課程教學(xué)實(shí)際要求,目前計算機(jī)課程一般采用多媒體教室授課。通過投影儀將教師操作過程及相關(guān)知識投射到大屏幕上,極大地豐富了課堂教學(xué)內(nèi)容,加大了傳遞信息的容量,可以使講解的內(nèi)容更加直觀形象,更易于理解。但在授課過程中,教師將講授內(nèi)容做成電子教案和教學(xué)課件進(jìn)行課堂演示,信息量大,速度太快,學(xué)生無法做到邊聽課邊做筆記,留給學(xué)生的印象較淺,容易遺忘。
3 課程教學(xué)方法的改進(jìn)
由于上述問題的存在,很多學(xué)生學(xué)習(xí)這門課,只是簡單的應(yīng)付一下期末考試,或者為了通過計算機(jī)等級考試,這就完全違背了開設(shè)這門課的初衷。為了提高學(xué)生的學(xué)習(xí)興趣,在教學(xué)過程中,我積極探索,結(jié)合大學(xué)生自身心理特征和這門課的特點(diǎn),提出以下幾個方面的改進(jìn)措施,以期提高學(xué)生學(xué)習(xí)VB的興趣。
3.1 提出問題,導(dǎo)入新課
在課堂教學(xué)中,每個新知識點(diǎn)的引入,對于學(xué)生來說,即新鮮好奇,又充滿畏懼,尤其是非計算機(jī)專業(yè)的學(xué)生,如果我們直接引入新的概念或者知識點(diǎn),學(xué)生往往覺得很突然,難以接受,所以,教師能否做到知識的良好導(dǎo)入及適時啟發(fā)至關(guān)重要。
比如在講解“數(shù)組”這一概念時,我們先讓學(xué)生思考下面一個例題。
例:求三個學(xué)生計算機(jī)成績的總和。
這只是一個簡單的順序結(jié)構(gòu)的程序,只需要4個變量,分別代表三個學(xué)生的成績、成績總和。
大多數(shù)學(xué)生都能夠很好的理解這段程序。在這個問題的基礎(chǔ)上,教師順勢提出下面一個問題:求整個班(50個人)學(xué)生的計算機(jī)成績總和。最初面對這個問題的時候,由于思維定勢的作用,學(xué)生自然想到了用50個變量來表示50個學(xué)生的成績,這時候,教師就反問學(xué)生,如果求整個學(xué)校,幾萬個學(xué)生成績的總和,需要多少變量?在學(xué)生一籌莫展的時候,教師進(jìn)行提示,幫助學(xué)生回憶中學(xué)數(shù)學(xué)里學(xué)到的數(shù)列,在分析數(shù)列的特性的同時,引入新的知識點(diǎn)“數(shù)組”。
實(shí)踐證明,這種知識導(dǎo)入和課堂啟發(fā)無疑是一種很好的方法,大大提高了學(xué)生學(xué)習(xí)新內(nèi)容的主動性和積極性。
3.2 任務(wù)分解,簡化問題
問題規(guī)約是人們求解問題常用的策略,就是把復(fù)雜的問題變換為若干需要同時處理的較為簡單的子問題后再分別加以求解。這其實(shí)是人工智能研究中問題求解的基本方法之一[2]。這種方法用在VB教學(xué)上,往往會受到事半功倍的效果。
比如在學(xué)習(xí)二重循環(huán)的時候,有下面一個例題要講解給學(xué)生。
學(xué)生在面對這個題目時候,往往會束手無策,如果在這個問題之前我們先講解10!問題解法:
這個程序只需要一重循環(huán),學(xué)生較易理解。在此基礎(chǔ)上,我們把“for i=1 to 10”換成“for i=1 to J”這就變成了求J的階乘。接著告訴學(xué)生,既然這個J也是在變化。那么就需要另外一個循環(huán)來表示J的變化。在上面程序的外面再加一個循環(huán)就可以。變成如下的形式:
通過上面的處理,將復(fù)雜問題分步處理,再加以綜合來獲得解答,教學(xué)深入淺出,學(xué)生們就不會再懼怕復(fù)雜問題,逐步建立學(xué)生學(xué)習(xí)VB的自信心,從而提高學(xué)習(xí)興趣。
3.3 舉一反三,觸類旁通
孔子曰:“舉一隅,不以三隅反,則不復(fù)也?!币馑际钦f,如果告訴他一個角落是這樣的,他還不能推悟出其他三個角落也是一樣的,那我就不會再多說什么了。這就是成語“舉一反三”的由來。在教學(xué)中,如果能運(yùn)用好“舉一反三”,啟發(fā)學(xué)生找出兩個知識點(diǎn)的聯(lián)系,就能夠從一個知識點(diǎn),過渡到另外一個知識點(diǎn),從而獲得新的知識,實(shí)現(xiàn)知識間的“舉一反三”。
比如在VB的教學(xué)中,首先給學(xué)生講解在屏幕上輸出一個星號表示的矩形,然后要求學(xué)生思考從矩形變換成菱形。
輸出正方形需要兩個循環(huán),外層循環(huán)來控制輸出行數(shù),內(nèi)層循環(huán)來控制每行輸出的星號個數(shù)。
通過矩形和菱形的比較來看,所輸出星號的行數(shù)一樣,每行輸出的星號個數(shù)也是一樣,不一樣的只是每行星號所在的位置不一樣,控制輸出位置可以用tab(n)函數(shù)也可以直接輸出空格字符串。
“舉一反三”作為一種有效的教學(xué)方法在形式上是通過比較異同,抓住典型,突破單元等手段來達(dá)到拓寬學(xué)生學(xué)習(xí)思路,培養(yǎng)思維能力的。更為重要的是,作為一種有效的師生互動的教學(xué)方法,在潛移默化中授予他們探求新知識的方法,有助于他們將來在更高階段和更深層次上的學(xué)習(xí),實(shí)現(xiàn)“授之以漁”的境界。
3.4 程序改錯,培養(yǎng)發(fā)現(xiàn)問題的能力
創(chuàng)新思維的可貴之處是隨時能發(fā)現(xiàn)問題。在程序設(shè)計教學(xué)中可通過“程序改錯”培養(yǎng)學(xué)生發(fā)現(xiàn)問題的能力。程序設(shè)計要求學(xué)生思維嚴(yán)謹(jǐn),一個字符、一個標(biāo)點(diǎn)錯了程序就不能運(yùn)行或運(yùn)行結(jié)果差之千里。因此,我在教學(xué)每一個基本語句時均安排“程序改錯”題讓學(xué)生練習(xí)。這些錯誤碼的程序或是因語法錯誤,或是表達(dá)式錯誤,或是變量類型定義錯誤。比如下面一個例題:打印一個5×5矩陣,按照常規(guī)思維,學(xué)生很容易寫出如下的程序代碼:
程序運(yùn)行后,學(xué)生會發(fā)現(xiàn)所有的數(shù)組元素會在屏幕的第一列輸出。引導(dǎo)學(xué)生思考如何正確的分行,學(xué)生對程序進(jìn)行改錯,一方面鞏固了新學(xué)知識,更重要的是培養(yǎng)了學(xué)生發(fā)現(xiàn)問題、解決問題的能力,促進(jìn)了學(xué)生創(chuàng)新思維的發(fā)展。
3.5 閱讀程序,培養(yǎng)推理能力
創(chuàng)新思維要求對新事物的誕生有豐富的想象力和預(yù)知能力。發(fā)明家在發(fā)明新的東西時心中已經(jīng)有該物的藍(lán)圖了。在程序設(shè)計教學(xué)中可否培養(yǎng)學(xué)生對事物的預(yù)知的思維能力呢?
程序設(shè)計教學(xué)必須培養(yǎng)學(xué)生閱讀程序的能力,其主要表現(xiàn)是“程序推理”教學(xué)?;痉椒ㄊ墙o學(xué)生一段源程序,讓學(xué)生通過所學(xué)知識及算法推理程序運(yùn)行的結(jié)果比如我們給出如下一段程序,讓學(xué)生進(jìn)行程序推理,得出程序的運(yùn)行結(jié)果。
學(xué)生剛面對源程序,猜想結(jié)果的類型可能會是數(shù)值、表達(dá)式或圖形,然后按程序執(zhí)行的順序及算法再科學(xué)推理程序運(yùn)行的結(jié)果,通過閱讀程序,培養(yǎng)了學(xué)生的推理能力。
3.6 由簡入繁,培養(yǎng)學(xué)生自信心
前蘇聯(lián)心理學(xué)家克魯切茨基指出:學(xué)習(xí)一定活動的愛好,導(dǎo)致能力的鍛煉和相應(yīng)的發(fā)展,發(fā)展了的能力在活動成功上有積極的作用,而成功又反轉(zhuǎn)來“強(qiáng)化”愛好和興趣[3]。學(xué)生一開始接觸計算機(jī)編程語言的時候,往往覺得內(nèi)容枯燥,不容易接受,容易讓學(xué)生感到挫敗感,久而久之就會對這門課程失去興趣。正如嬰兒學(xué)習(xí)走路,開始時大人應(yīng)悉心照料,等嬰兒初步掌握了走路的技巧,再逐漸地把扶助的設(shè)備去掉,假如一開始就讓他跑,肯定事與愿違。
由繁入簡,在學(xué)習(xí)VB的開始階段,對于一個程序,不要奢望學(xué)生能一下就設(shè)計一個完美的程序出來??梢詮淖詈唵蔚脑O(shè)計入手,然后使程序逐步完善,最后將其完善。
3.7 一題多解,培養(yǎng)發(fā)散思維
發(fā)散思維,又稱為求異思維。它是從同一來源材料求不同的(包括特異的)答案的思維過程和方法,思
維方向分散于不同方面,即向不同方面進(jìn)行思考[4]。發(fā)散思維要求善于聯(lián)想、思路寬闊;要求善于分解組合、引申推導(dǎo)、靈活變通。如果教師在課堂教學(xué)中鼓勵、引導(dǎo)學(xué)生用不同的語句或不同的算法來編程解決同一個問題,往往也會收到事半功倍的效果。
比如我們再講到For循環(huán)時,要求學(xué)生用For循環(huán)來解決前面所學(xué)到的While循環(huán)中的例題。在教學(xué)中能求新、求變,實(shí)行開放式教學(xué),逐步引導(dǎo)學(xué)生探求新的方法和知識,則能激發(fā)學(xué)生的學(xué)習(xí)積極性,達(dá)到最佳的教學(xué)效果。讓學(xué)生探索多種解法,培養(yǎng)發(fā)散性思維。
4 結(jié)語
VB作為一門重要的基礎(chǔ)性編程語言,對提高學(xué)生的綜合文化素質(zhì)有著重要的意義,在教學(xué)中,如果能利用大學(xué)生強(qiáng)烈的好奇心和求知欲,合理的設(shè)置教學(xué)方式,把知識性趣味性融合在一起,就能夠幫助非計算機(jī)專業(yè)學(xué)生樹立克服困難的信心,培養(yǎng)他們學(xué)習(xí)的積極性。使學(xué)生能夠體驗(yàn)到成功的快樂,。從而,使學(xué)生都能很好地完成學(xué)習(xí)任務(wù),提高學(xué)生的實(shí)際應(yīng)用能力,使得VB課程的教學(xué)質(zhì)量得到不斷提高。
參考文獻(xiàn):
[1] 何源. 任務(wù)導(dǎo)向教學(xué)在Visual Basic程序設(shè)計中的應(yīng)用[J]. 北京:人力資源管理: