張紅偉 徐州醫(yī)學(xué)院醫(yī)學(xué)信息學(xué)院, 江蘇 徐州 221000
非計算機(jī)專業(yè)VB程序設(shè)計課程教學(xué)思考
張紅偉 徐州醫(yī)學(xué)院醫(yī)學(xué)信息學(xué)院, 江蘇 徐州 221000
結(jié)合VB課程本身教學(xué)要求,針對非計算機(jī)專業(yè)學(xué)生學(xué)習(xí)第一個門程序設(shè)計語言的特點,總結(jié)了VB程序設(shè)計課程教學(xué)過程中幾個基本問題,并探討了相應(yīng)的教學(xué)方式和方法。
VB課程;非計算機(jī)專業(yè);教學(xué)方法
隨著信息社會的發(fā)展,計算機(jī)作為一種智能化的工具不斷深入到我們生活、工作的方方面面。掌握計算機(jī)知識與技術(shù)已經(jīng)作為現(xiàn)代人的一個基本技能。對于在校的大學(xué)生來說,作為即將踏入工作崗位的高技能工作者的代表,掌握計算機(jī)應(yīng)用對其尤為重要。在高等教育中,計算機(jī)也已成為大學(xué)生課程體系和知識體系中的重要組成部分。目前,對于非計算機(jī)專業(yè)的學(xué)生,一般主要開始兩門計算機(jī)課程:計算機(jī)文化基礎(chǔ)和VB程序設(shè)計。
對于非計算機(jī)專業(yè)學(xué)生來說,本身掌握的計算機(jī)知識相對較少、底子薄,難以深入理解VB程序設(shè)計,同時學(xué)生也抱怨課程內(nèi)容相對繁雜、枯燥、難以學(xué)習(xí)和理解,也無法和實際生活想聯(lián)系、能以應(yīng)用,因而也缺乏學(xué)習(xí)的動力,更不用說是自主學(xué)習(xí)。對于這種現(xiàn)象,主要原因可以總結(jié)為以下:
第一忽略了認(rèn)知結(jié)構(gòu)在學(xué)習(xí)過程中的作用,不注重幫助學(xué)生構(gòu)建VB課程的認(rèn)知結(jié)構(gòu)、學(xué)習(xí)VB的作用,致使學(xué)生對學(xué)習(xí)的目的不清楚,從而缺乏學(xué)習(xí)的興趣和動力,也無法掌握從整體上掌握知識框架。
其次 學(xué)生對于新的課程認(rèn)識不足,而且教師在上課過程很少介紹本門課程的特點和學(xué)習(xí)的方法,從而學(xué)生導(dǎo)致在不知道如何去學(xué)習(xí)這么課程。
針對這兩個問題,本文結(jié)合認(rèn)知主義學(xué)習(xí)理論并針對VB課程的特點,給出了如何幫助學(xué)生構(gòu)建VB課程的結(jié)構(gòu)、獲取課程的基本原理,從而夯實課程學(xué)習(xí)的基礎(chǔ);另外結(jié)合VB學(xué)習(xí)的特點,教給學(xué)生學(xué)習(xí)的方法,讓學(xué)生知道如何學(xué),進(jìn)而為學(xué)生自學(xué)做好充分的準(zhǔn)備。
認(rèn)知主義強(qiáng)調(diào)教學(xué)應(yīng)該讓學(xué)生掌握學(xué)科的基本結(jié)構(gòu)。所謂的學(xué)科的基本結(jié)構(gòu)就是指學(xué)科的基本概念、基本原理和基本態(tài)度和方法。認(rèn)知主義的代表人物布魯納認(rèn)為,學(xué)生懂得了基本原理,就使得學(xué)科更容易理解,就容易記憶學(xué)科的知識,就容易產(chǎn)生學(xué)習(xí)的遷移,就能夠縮小“高級知識”和“初級”知識之間的間隙[1]。因此幫助學(xué)生了解VB課程的基本原理、基本概念以及基本的學(xué)習(xí)方法對于學(xué)好V B非常重要。
1.1 幫助學(xué)生理解計算機(jī)相關(guān)的基本概念和原理
VB程序設(shè)計的先驅(qū)課程是計算機(jī)基礎(chǔ)知識,因此掌握計算機(jī)工作的基本原理對于學(xué)習(xí)VB非常重要。首先,學(xué)生要理解一下有關(guān)計算機(jī)的基本概念和原理:什么是計算機(jī)、它的工作原理、計算機(jī)的組成部分以及各個部分在計算機(jī)工作過程中的作用、計算機(jī)軟件以及操作系統(tǒng)概念、程序是如何被計算機(jī)執(zhí)行的。這些基本的概念或者原理是學(xué)生進(jìn)一步學(xué)習(xí)VB程序設(shè)計至關(guān)重要的基礎(chǔ),因此在教學(xué)過程中一定要把這些概念和原理講的透徹,為學(xué)生進(jìn)一步學(xué)習(xí)VB夯實基礎(chǔ)。
1.2 幫助學(xué)生熟悉教學(xué)大綱
認(rèn)知主義學(xué)習(xí)理論把學(xué)習(xí)分為機(jī)械學(xué)習(xí)和意義學(xué)習(xí),其代表人物奧蘇泊爾認(rèn)為,意義學(xué)習(xí)就是將符號所代表的新知識與學(xué)習(xí)者的認(rèn)知結(jié)構(gòu)中央已有的適當(dāng)觀念建立起非人為的和實質(zhì)性的聯(lián)系過程。如果學(xué)習(xí)者沒有理解符號所代表的知識,只是依據(jù)字面上的聯(lián)系記住某些符號的詞句或者組合,則是一種死記硬背的機(jī)械學(xué)習(xí)。對于計算機(jī)學(xué)科以理解為主的知識學(xué)習(xí),很顯然采用意義學(xué)習(xí)方式更為合適。但是,有意義學(xué)習(xí)有一些必要的條件,例如需要學(xué)習(xí)材料本身必須具有邏輯意義、學(xué)習(xí)者必須具備有意義學(xué)習(xí)的心向、學(xué)習(xí)者的認(rèn)知結(jié)構(gòu)中必須具備適當(dāng)?shù)闹R以便同化新知識。
教學(xué)大綱是以系統(tǒng)和連貫的形式,按照章節(jié)、課題和條目敘述該課程主要內(nèi)容的教學(xué)指導(dǎo)文件,它規(guī)定了每個學(xué)生必須掌握的理論知識和實際技能,也規(guī)定了教學(xué)進(jìn)度和教學(xué)方法的基本要求[2]。而且教學(xué)大綱還明確給出了各章節(jié)的知識范圍和深度,包括對基礎(chǔ)理論、基本知識和基本技術(shù)“掌握”、“熟悉”和“了解”以及“學(xué)會”等不同的目的和要求。這樣學(xué)生在了解教學(xué)大綱的時候,不僅能對本門課程的主要知識結(jié)構(gòu)有了基本認(rèn)識和了解,并且能夠熟悉本門課程的詳細(xì)的教學(xué)內(nèi)容以及各個章節(jié)的重點和要求,這樣學(xué)生在學(xué)習(xí)的過程既有大局觀有可以有的放矢,從而可以有效地促進(jìn)學(xué)生進(jìn)行意義學(xué)習(xí)。
大學(xué)生學(xué)習(xí)知識和技能相對于以前階段的學(xué)習(xí)方式上有了很大的改變,其中最重要的是自主學(xué)習(xí)日益占有重要地位。因此在教學(xué)的時候除了在課堂上教學(xué)生VB的相關(guān)基礎(chǔ)知識和基礎(chǔ)理論,對于教會學(xué)生如何更好學(xué)習(xí)尤其是自我學(xué)本門課的方法十分重要。因為VB課程有著本身的特點,記憶不能根本上幫助學(xué)生學(xué)好VB課程。在VB教學(xué)的時候,要有意識的幫助學(xué)生建立計算機(jī)的思維模式很重要[3],也就是說學(xué)生能像計算機(jī)科學(xué)家那樣來思考問題,這樣學(xué)生既可以讀懂并理解別人的算法、程序同時在遇到實際的問題的時候就會產(chǎn)生一個本能的反應(yīng):如何編寫VB程序去解決問題,這樣就會更好促進(jìn)學(xué)生去發(fā)現(xiàn)問題、編寫VB程序解決實際問題。

圖1 VB的幫助文檔中關(guān)于Len函數(shù)的說明圖
【例題1】 編寫程序,找出證書a至整數(shù)b范圍內(nèi)所有的升序數(shù)。其中a≧100,b≦3000.所謂的升序數(shù),是指從最高位開始直到個位,各位上的數(shù)字依次遞增的整數(shù),例如,134、2356都是升序數(shù),而173,25743不是升序數(shù)[4]。
教師要引導(dǎo)學(xué)生去解決問題,對于某個十進(jìn)制的數(shù),例如2356,如何判斷它是否是升序數(shù)呢?我們就要根據(jù)升序數(shù)的定義。但是首先要做的就是分解這個數(shù),把各位上的數(shù)字提取出來,然后對提取出來的各個數(shù)逐次比較就行了。這里的關(guān)鍵就是提取各位上數(shù)字,我們可以引導(dǎo)學(xué)生如何提取:詢問學(xué)生有沒有什么方法從一個對象中提取其中某一部分,從而引導(dǎo)學(xué)生去找Mid函數(shù)。然后我們可以通過如下演示來引導(dǎo)學(xué)生發(fā)現(xiàn)其中提取的規(guī)律(其中st代表字符串“2356”):
第一步提取到字符“2”:Mid(st,1,1)→“2”
第二步提取到字符“3”:Mid(st,2,1)→“3”
第二步提取到字符“5”:Mid(st,3,1)→“5”
第二步提取到字符“6”:Mid(st,3,1)→“6”
教師就引導(dǎo)學(xué)生去發(fā)現(xiàn)其中的規(guī)律,在這里過程,處理的方式都是一樣,提取的次數(shù)就是數(shù)的位數(shù),只不過每次Mid函數(shù)提取的起始位置不一樣,由于這一過程是有規(guī)律的重復(fù),于是我們就想到用循環(huán)來提取數(shù)字(其中A代表一個長度為L e n (st)的數(shù)組):

這樣在提取所有位的數(shù)字之后,進(jìn)行各位數(shù)字的比較就容易多了。
在這種情況下,學(xué)生不僅可以學(xué)以致用從而體現(xiàn)學(xué)習(xí)的價值,而且還是驅(qū)動學(xué)生往更高層發(fā)展的一個動力。
另外,教會學(xué)生合理的使用V B的MSDN。MSDN全稱是Microsoft Developer Network,是微軟公司面向軟件開發(fā)者的一種信息服務(wù),對于VB6.0對應(yīng)的幫助文檔是MSDN Library Visual Studio 6.0,其中包含V B所有基礎(chǔ)知識、開發(fā)實例等,它要比常見的教科書上介紹的知識更為詳細(xì),更重要的是提供了詳細(xì)的用法。

圖2 VB的幫助文檔中Len函數(shù)的用法示例
【例題2】對于VB中的函數(shù)Len(),如果學(xué)生不明白不知道如何使用,只要打開VB的MSDN,然后在索引中輸入len,找到需要Len函數(shù)然后單擊,就可以在右面窗口中顯示Len函數(shù)的功能、參數(shù)等說明,如圖1所示,
如果還是不明白L e n函數(shù)的用法,單擊示例就可以看Len用法示例,圖2所示。因此,對于開發(fā)者來說,學(xué)會使用并用好VB的非常重要,因此教學(xué)的過程要教會學(xué)生 如何正確的使用VB的幫助文檔不僅可以為學(xué)生提供獲取知識方式也為學(xué)生自學(xué)提供便捷的途徑。
對于老師來說,要全面的掌握計算機(jī)學(xué)科的知識,能夠熟練地掌握教學(xué)大綱和教材,并針對非計算機(jī)學(xué)生的特點做好針對性的備課。在傳授學(xué)生新知識的之前,最好先給學(xué)生提供一些涉及面較廣、概括書評高的引導(dǎo)材料,用學(xué)習(xí)者能理解的語言和方式來表述,并且在組織學(xué)習(xí)材料的時候要注意所用到的學(xué)習(xí)材料本身必須具有邏輯意義,這樣才能更好地使用上述的教學(xué)方法。
對非計算機(jī)在專業(yè)的學(xué)生進(jìn)行VB教學(xué)的時候要注意上述的兩個問題,通過實踐表明,采用文中所述的教學(xué)方法能收到良好的效果:
第一、學(xué)生知道自己在學(xué)什么,并能知道知識的重點要點,這樣學(xué)生在學(xué)習(xí)的過程中就有的放矢,從而可以促進(jìn)其學(xué)習(xí)。
第二、學(xué)生知道如何學(xué)。通過向?qū)W生講解學(xué)習(xí)的方法,能夠促進(jìn)學(xué)生更好的掌握知識,為學(xué)生自學(xué)和自我提高打下了基礎(chǔ)。
[1]譚頂良.高等教育心理學(xué)[M]. 南京:河海大學(xué)出版社.2 0 0 6:3 3
[2]周川.簡明高等教學(xué)[M].南京:河海大學(xué)出版社.2006:119-120
[3] Eric Grimson, Jhon Guttag. Introduction to Computer Science and Programming[EB/OL]. http://download.v.163.com/dl/open/ 00DL0QDR0QDS0QVW.,ht2m0l11-5-20
[4]孫建國,海濱.Visual Basic實驗指導(dǎo)書[M].蘇州:蘇州大學(xué)出版社.2 0 1 0:9 7
G642
10.3969/j.issn.1001-8972.2011.16.133
張紅偉(1 9 8 2-),男,漢,江蘇徐州,助教,碩士研究生,研究方向:計算機(jī)網(wǎng)絡(luò)與信息安全。