張志祥
摘要:針對(duì)高校VB程序設(shè)計(jì)課程教學(xué)中存在學(xué)生難學(xué)、教師難教的問(wèn)題,通過(guò)進(jìn)行入門(mén)引導(dǎo),激發(fā)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的興趣,并更新教師的傳統(tǒng)教學(xué)理念和教學(xué)方法,在理論教學(xué)和實(shí)踐訓(xùn)練中加強(qiáng)對(duì)學(xué)生程序設(shè)計(jì)思維的培養(yǎng),從而有效地提高學(xué)生程序設(shè)計(jì)水平與應(yīng)用能力。
關(guān)鍵詞:VB程序設(shè)計(jì);教學(xué);程序設(shè)計(jì)思維;算法分析;實(shí)踐技能
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2012)36-8743-02
Visual Basic6.0是Microsoft公司推出的基于Windows環(huán)境的一種面向?qū)ο蟮挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,具有功能強(qiáng)大、簡(jiǎn)單易學(xué)的特點(diǎn)。在許多高校的非計(jì)算機(jī)專(zhuān)業(yè)中選擇開(kāi)設(shè)了VB語(yǔ)言程序設(shè)計(jì)的計(jì)算機(jī)公共基礎(chǔ)課程,目的是通過(guò)VB語(yǔ)言程序設(shè)計(jì)的學(xué)習(xí),使學(xué)生達(dá)到作為信息化時(shí)代的人才所需的基本信息素養(yǎng)和簡(jiǎn)單的計(jì)算機(jī)開(kāi)發(fā)應(yīng)用能力。
但目前在高校的程序設(shè)計(jì)類(lèi)課程教學(xué)中普遍反映存在學(xué)生學(xué)完課程卻不會(huì)編程的問(wèn)題。究其原因,主要是許多學(xué)生的思維定勢(shì)阻礙了對(duì)程序設(shè)計(jì)思維的理解,進(jìn)而影響了程序語(yǔ)言的學(xué)習(xí)[1]。在VB程序設(shè)計(jì)的教學(xué)過(guò)程中,我們采取了如下措施,突出學(xué)生程序設(shè)計(jì)思維的培養(yǎng)和訓(xùn)練,有效提高了學(xué)生的程序設(shè)計(jì)水平與應(yīng)用能力,并取得了較好的教學(xué)效果。
1 重視入門(mén)引導(dǎo),培養(yǎng)學(xué)習(xí)興趣
1.1 精心設(shè)計(jì)教學(xué)案例,激發(fā)學(xué)生學(xué)習(xí)熱情
程序設(shè)計(jì)課程入門(mén)難,學(xué)生缺乏學(xué)習(xí)興趣,這是在程序設(shè)計(jì)語(yǔ)言教學(xué)中許多師生的共同反映。目前程序設(shè)計(jì)語(yǔ)言已從傳統(tǒng)的面向過(guò)程全面轉(zhuǎn)換到了面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,其中的許多概念對(duì)于剛剛涉足程序設(shè)計(jì)的大學(xué)生來(lái)說(shuō)有些難以理解,久而久之部分學(xué)生就對(duì)這門(mén)課程失去信心。興趣是求知的起點(diǎn),要學(xué)好程序設(shè)計(jì)課程,首先要引導(dǎo)學(xué)生進(jìn)入程序設(shè)計(jì)的領(lǐng)域里,營(yíng)造新穎的學(xué)習(xí)氛圍,培養(yǎng)學(xué)生對(duì)程序設(shè)計(jì)的學(xué)習(xí)興趣。
目前使用的教材多以語(yǔ)法講解為主線,如果教師照本宣科,課堂索然無(wú)味,學(xué)習(xí)效果自然好不了。尤其是我們?cè)趯?duì)非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生講解程序設(shè)計(jì)課程時(shí)要精心做好課堂教學(xué)設(shè)計(jì),準(zhǔn)備充分導(dǎo)入和教學(xué)用的案例。一個(gè)恰當(dāng)?shù)慕虒W(xué)案例往往會(huì)取得理想的教學(xué)效果,讓學(xué)生學(xué)得輕松、記得牢固。譬如,在VB課程教學(xué)的第一節(jié)課時(shí),首先在VB集成開(kāi)發(fā)環(huán)境中演示“紅綠燈”、“計(jì)算器”或其它有趣味性的小程序,然后告訴學(xué)生這個(gè)小程序就是用VB語(yǔ)言編寫(xiě)的,很多學(xué)生立刻產(chǎn)生了興趣,減少了一些對(duì)該課程的畏懼心理。之后在每講授一個(gè)新的知識(shí)點(diǎn)時(shí),都根據(jù)內(nèi)容精心設(shè)計(jì)一個(gè)有效的引導(dǎo)案例,并由此案例逐步展開(kāi)知識(shí)點(diǎn)的講述,由淺及深,循序漸進(jìn)。案例的選取注重結(jié)合生活實(shí)際,展現(xiàn)精煉的程序思想,讓學(xué)生對(duì)程序設(shè)計(jì)的內(nèi)容產(chǎn)生興趣和求知欲,逐步引導(dǎo)學(xué)生步入正確的程序?qū)W習(xí)的軌道上來(lái)。
1.2 靈活運(yùn)用多種教學(xué)方法,保持課堂互動(dòng),調(diào)動(dòng)學(xué)生積極性
如果學(xué)生在課堂上不能保持專(zhuān)注、積極思考,教學(xué)的效果也會(huì)受到很大的影響。怎樣才能讓學(xué)生充分融入課堂呢?首先,教師可以在課堂上靈活運(yùn)用啟發(fā)式、任務(wù)驅(qū)動(dòng)式、案例式等多種教學(xué)方法開(kāi)展教學(xué)活動(dòng),適時(shí)進(jìn)行情境設(shè)計(jì),避免直接照搬教材內(nèi)容教學(xué),充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)熱情。更重要的是教學(xué)中讓每位學(xué)生都有意識(shí)地、主動(dòng)地參與進(jìn)來(lái),讓學(xué)生成為教學(xué)的主體,學(xué)生就不容易將注意力分散到玩手機(jī)、聽(tīng)音樂(lè)、聊天等其他上面去。讓學(xué)生參與進(jìn)來(lái)的一個(gè)重要方式就是在課堂上與學(xué)生進(jìn)行有效的互動(dòng),適時(shí)提出一些啟發(fā)性、引導(dǎo)性或探索性的問(wèn)題讓學(xué)生思考、討論或回答,若時(shí)間安排較緊也可以進(jìn)行自問(wèn)自答,目的是讓學(xué)生大腦保持一定的興奮度,讓學(xué)生的注意力集中在課堂講授的內(nèi)容上,充分調(diào)動(dòng)其學(xué)習(xí)的積極性和主動(dòng)性。以教師為中心的單向灌輸式教學(xué),只會(huì)讓課堂教學(xué)變得枯燥、缺乏生機(jī)。
2 改進(jìn)課堂教學(xué)模式,促進(jìn)學(xué)生程序設(shè)計(jì)思維訓(xùn)練
2.1 更新教學(xué)理念,加強(qiáng)程序設(shè)計(jì)思維訓(xùn)練
VB程序設(shè)計(jì)教學(xué)通常以程序設(shè)計(jì)語(yǔ)言自身的體系為脈絡(luò)展開(kāi),著重?cái)?shù)據(jù)類(lèi)型、語(yǔ)法規(guī)則、語(yǔ)言結(jié)構(gòu)、函數(shù)過(guò)程等概念的介紹,然后結(jié)合一些例題進(jìn)行講解。在這樣的教學(xué)模式下,悟性較高的學(xué)生能夠接受,但也有相當(dāng)一部分學(xué)生只是被動(dòng)地學(xué)習(xí)了程序設(shè)計(jì)知識(shí),課后缺少主動(dòng)對(duì)所學(xué)內(nèi)容的訓(xùn)練和鞏固,對(duì)知識(shí)的整體理解和把握不足,從而造成動(dòng)手編程的能力較差,甚至遇到實(shí)際問(wèn)題就無(wú)從下手。
程序設(shè)計(jì)是將人們分析問(wèn)題的過(guò)程翻譯成計(jì)算機(jī)能理解的某種語(yǔ)言表達(dá)的可控制的有序步驟,從而達(dá)到用計(jì)算機(jī)解決實(shí)際問(wèn)題的目的。由此可見(jiàn),學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言不光要學(xué)習(xí)語(yǔ)句語(yǔ)法,最主要的是學(xué)習(xí)思維方式,能用正確的思維方式分析、描述和解決實(shí)際問(wèn)題。因此,養(yǎng)成正確的程序設(shè)計(jì)思維對(duì)于學(xué)好程序設(shè)計(jì)語(yǔ)言是至關(guān)重要的。
我們要改變傳統(tǒng)教學(xué)理念,在程序設(shè)計(jì)課堂教學(xué)中加強(qiáng)算法思想和程序設(shè)計(jì)思維的訓(xùn)練,弱化程序設(shè)計(jì)語(yǔ)言語(yǔ)法格式講解。引導(dǎo)學(xué)生對(duì)要解決的實(shí)際問(wèn)題分析研究,推出解決方案,然后采用相應(yīng)的算法,用計(jì)算機(jī)程序的方式表示并完成程序的編碼[2] [3]。在上機(jī)實(shí)踐中,我們要求學(xué)生養(yǎng)成良好的編程習(xí)慣,按照編程的規(guī)范編寫(xiě)程序,保證程序的可讀性和易修改性,使學(xué)生在上機(jī)實(shí)踐過(guò)程中掌握程序設(shè)計(jì)的數(shù)據(jù)類(lèi)型、語(yǔ)法和規(guī)則。程序設(shè)計(jì)語(yǔ)言的運(yùn)用不能通過(guò)基本操作的機(jī)械重復(fù)練習(xí)得以熟練掌握,而是更多地通過(guò)分析、設(shè)計(jì)、實(shí)踐和調(diào)試進(jìn)行,使“教”與“學(xué)”的動(dòng)態(tài)過(guò)程同步展開(kāi),把課堂教學(xué)的重心由教學(xué)生看懂現(xiàn)成結(jié)論為主過(guò)渡到引導(dǎo)學(xué)生探索結(jié)論上來(lái)。
2.2 加強(qiáng)程序閱讀和算法分析,提高算法分析與理解能力
要學(xué)會(huì)編程,首先要學(xué)會(huì)閱讀程序。培養(yǎng)學(xué)生閱讀程序的能力,我們可以先從一些簡(jiǎn)單的程序和算法開(kāi)始,逐步過(guò)渡到較復(fù)雜的程序。通過(guò)大量的有計(jì)劃的程序閱讀,增加對(duì)編程的思想、方法、技巧的理解,從而加深對(duì)程序算法、結(jié)構(gòu)、功能的認(rèn)識(shí)。但在閱讀程序時(shí)切記應(yīng)循序漸進(jìn),不能一開(kāi)始就看較復(fù)雜的程序,意圖一口把它吞下去,結(jié)果可能會(huì)適得其反,對(duì)程序設(shè)計(jì)產(chǎn)生畏懼心理,并影響學(xué)習(xí)興趣和效果。
算法是程序設(shè)計(jì)的靈魂,算法設(shè)計(jì)能力的提高才是程序設(shè)計(jì)能力提高的關(guān)鍵。要提高算法設(shè)計(jì)能力,就要加強(qiáng)算法的分析和理解,提高程序設(shè)計(jì)思維能力[4]。學(xué)生在開(kāi)始學(xué)習(xí)程序設(shè)計(jì)時(shí),是不具備系統(tǒng)化思維模式的。在教學(xué)中我們非常重視算法的設(shè)計(jì),以系統(tǒng)化的觀點(diǎn)選取教學(xué)內(nèi)容,組織教學(xué)過(guò)程,引導(dǎo)學(xué)生從實(shí)際案例出發(fā),展開(kāi)分析和討論,在教學(xué)過(guò)程中潛移默化地培養(yǎng)和提高學(xué)生程序設(shè)計(jì)思維能力。
3 改進(jìn)實(shí)踐環(huán)節(jié),深化程序設(shè)計(jì)思維,提高程序設(shè)計(jì)能力
實(shí)踐環(huán)節(jié)在程序設(shè)計(jì)課程中的地位和作用非常重要。實(shí)踐技能訓(xùn)練是培養(yǎng)和提高學(xué)生程序設(shè)計(jì)思維能力的最直接有效的途徑[5]。
實(shí)踐技能訓(xùn)練不是簡(jiǎn)單地讓學(xué)生完成幾個(gè)驗(yàn)證性的課堂實(shí)驗(yàn)就完成任務(wù)。首先,教師要做好實(shí)踐環(huán)節(jié)設(shè)計(jì)的相關(guān)工作,在布置實(shí)驗(yàn)內(nèi)容時(shí)按驗(yàn)證性、設(shè)計(jì)性、綜合性的順序安排實(shí)驗(yàn)項(xiàng)目。課程開(kāi)始時(shí)驗(yàn)證性?xún)?nèi)容多一些,讓學(xué)生通過(guò)上機(jī)操作驗(yàn)證實(shí)驗(yàn)結(jié)果,鞏固和加強(qiáng)對(duì)知識(shí)內(nèi)容的理解與掌握,培養(yǎng)實(shí)驗(yàn)操作能力;之后逐步加大設(shè)計(jì)性項(xiàng)目?jī)?nèi)容,培養(yǎng)學(xué)生的創(chuàng)新意識(shí)和分析解決問(wèn)題的能力;最后安排綜合性實(shí)踐,培養(yǎng)學(xué)生程序綜合運(yùn)用能力。通過(guò)這三種類(lèi)型的實(shí)驗(yàn)的合理安排,遵循“模仿—設(shè)計(jì)—提高”的規(guī)律,循序漸進(jìn)地提高學(xué)生程序設(shè)計(jì)與分析能力。
學(xué)生在可視化編程環(huán)境里將實(shí)際的數(shù)學(xué)問(wèn)題轉(zhuǎn)化成程序,并反復(fù)運(yùn)行調(diào)試,直至輸出正確的運(yùn)行結(jié)果。往往實(shí)驗(yàn)得出的結(jié)果和操作時(shí)直觀的感受會(huì)帶給學(xué)生成就感,激發(fā)了學(xué)生對(duì)程序設(shè)計(jì)的好奇心,提高了學(xué)習(xí)程序設(shè)計(jì)的興趣。上機(jī)實(shí)踐的過(guò)程也是學(xué)生程序設(shè)計(jì)思維訓(xùn)練的過(guò)程,學(xué)生的編寫(xiě)和調(diào)試過(guò)程會(huì)使學(xué)生的程序設(shè)計(jì)思維模式得到進(jìn)一步加強(qiáng)和鍛煉,從而實(shí)現(xiàn)理論和實(shí)踐知識(shí)的有機(jī)結(jié)合。當(dāng)學(xué)生通過(guò)一種方法完成編程時(shí),教師可以有意識(shí)地引導(dǎo)和鼓勵(lì)學(xué)生從另一個(gè)角度思考編程,體會(huì)程序設(shè)計(jì)中算法的多樣性,并引導(dǎo)他們主動(dòng)進(jìn)行探究式學(xué)習(xí)。這樣通常會(huì)使學(xué)生的程序設(shè)計(jì)思維能力得到進(jìn)一步地拓展和提高,增強(qiáng)程序設(shè)計(jì)的能力。
4 結(jié)束語(yǔ)
在VB程序設(shè)計(jì)的教學(xué)中,程序設(shè)計(jì)思維的培養(yǎng)對(duì)提高學(xué)生程序設(shè)計(jì)的能力至關(guān)重要。在此過(guò)程中,教師需要結(jié)合學(xué)生的專(zhuān)業(yè)、層次、知識(shí)水平和學(xué)校的教學(xué)條件等實(shí)際情況,采用合適的教學(xué)方式和手段,改進(jìn)教學(xué)效果,提高教學(xué)質(zhì)量。學(xué)生程序設(shè)計(jì)思維的養(yǎng)成會(huì)促進(jìn)其邏輯思維、創(chuàng)新思維的發(fā)展和提高,將對(duì)其后續(xù)專(zhuān)業(yè)知識(shí)的學(xué)習(xí)和研究產(chǎn)生有益的幫助。
參考文獻(xiàn):
[1] 姚天昉. 在程序設(shè)計(jì)課程中引入“計(jì)算思維”的實(shí)踐[J]. 中國(guó)大學(xué)教學(xué), 2012(2): 61-62,76.
[2] 馬智嫻. 探索“程序設(shè)計(jì)VB”教學(xué)方式,培養(yǎng)創(chuàng)新思維能力[J]. 重慶工學(xué)院學(xué)報(bào), 2008(2):167-169.
[3] 陳國(guó)良, 董榮勝. 計(jì)算思維與大學(xué)計(jì)算機(jī)基礎(chǔ)教育[J]. 中國(guó)大學(xué)教育, 2011(1): 7-11.
[4] 董榮勝. 計(jì)算思維與計(jì)算機(jī)方法論[J]. 計(jì)算機(jī)科學(xué), 2009,36(1): 1-4.
[5] 吳文虎. 抽象思維和邏輯思維是程序設(shè)計(jì)的基礎(chǔ)[J]. 計(jì)算機(jī)教育, 2005(4): 29-30.