戴振華 楊 杰
(湖南科技學(xué)院 計算機與通信工程系,湖南 永州 425199 )
文科專業(yè)《Visual Basic程序設(shè)計基礎(chǔ)》課程教學(xué)實踐與探討
戴振華 楊 杰
(湖南科技學(xué)院 計算機與通信工程系,湖南 永州 425199 )
通過對《Visual Basic 程序設(shè)計基礎(chǔ)》課程長期的調(diào)研,并根據(jù)教學(xué)組成員教學(xué)實踐,指出該課程的教學(xué)現(xiàn)狀,提出幾點教學(xué)改革的措施及意見,為高校文科專業(yè)在開設(shè)該門課程時提供一些教學(xué)參考,同時也為我校該課程改革提供方向。
面向?qū)ο?;Visual Basic;教學(xué)改革;融合
《Visual Basic 程序設(shè)計基礎(chǔ)》課程是高校非計算機文科專業(yè)開設(shè)的公共基礎(chǔ)課程,是培養(yǎng)學(xué)生程序設(shè)計、基于面向?qū)ο筮M行程序開發(fā)能力的基礎(chǔ)課程。它的主要優(yōu)點體現(xiàn)易于學(xué)習(xí)、在編程功能較強、能夠進行網(wǎng)絡(luò)編程、而且具有方便實用的數(shù)據(jù)庫,同時能為學(xué)習(xí)其他程序設(shè)計基礎(chǔ)語言打下良好的基礎(chǔ),更重要的是還可培養(yǎng)文科學(xué)生的計算思維能力,從而提高其理性分析問題與解決問題的能力,因此,很多高校在文科專業(yè)中開設(shè)該門課程。
該課程是我校文科專業(yè)必修的公共基礎(chǔ)課程,開設(shè)本課程旨在提高學(xué)生應(yīng)用計算機解決實際問題的能力,尤其是能為專業(yè)服務(wù)。為了突破傳統(tǒng)灌輸式的教學(xué)方法,更好地培養(yǎng)學(xué)生的基于計算機的分析能力、提升實際操作能力,使學(xué)生更好地獨立思考問題,逐漸提高創(chuàng)新思維的能力,積極進行教學(xué)改革是很有必要的。通過該課程多年的教學(xué)實踐,并凝結(jié)本教研室多位老師的智慧,得出以下觀點和意見,供各位教學(xué)專家探討。
該門課程是基于對象進行程序設(shè)計,提供了可視化用戶界面,更多地使用窗體和控件進行系統(tǒng)設(shè)計,編程機制是采用事件驅(qū)動方式的,實踐性強。知識點主要有:面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)、結(jié)構(gòu)化程序三種基本結(jié)構(gòu)、數(shù)組、控件的使用、窗體的建立、文件的使用、數(shù)據(jù)庫的應(yīng)用和多媒體技術(shù)應(yīng)用等內(nèi)容。
在我校該課程每年學(xué)習(xí)人數(shù)近2千人,面向?qū)W生有多個不同專業(yè)。這些專業(yè)對程序設(shè)計基礎(chǔ)的目標(biāo)要求都不太一樣。然而在很長一段時間里,該課程的設(shè)置的不合理及教學(xué)的單一,已經(jīng)引發(fā)諸多問題。通過幾年的教學(xué)實踐和調(diào)研同類型一些院校的教學(xué)情況,筆者發(fā)現(xiàn)該課程的教學(xué)過程中,主要還有以下幾點值得改進的地方:
(1)高校文科類專業(yè)學(xué)生計算機能力相對較弱,特別是開設(shè)程序設(shè)計課程時,學(xué)生感覺難學(xué),教師感覺難教,很多學(xué)校采用傳統(tǒng)教學(xué)模式,理論脫離實際,不能及時更新教學(xué)內(nèi)容,學(xué)生在學(xué)習(xí)時感覺云里霧里,最終抹殺學(xué)生的計算機學(xué)習(xí)積極性;
(2)教學(xué)內(nèi)容單一,在教學(xué)過程中沒有針對不同專業(yè)的特點來實施相應(yīng)的教學(xué);
(3)缺乏良好的教學(xué)組織,沒有從學(xué)生的知識水平、學(xué)習(xí)特點、接受能力等去衡量實施教學(xué),導(dǎo)致得不到良好的教學(xué)效果;
(4)教師教學(xué)過程缺乏必要的范例教學(xué)來調(diào)動學(xué)生學(xué)習(xí)的積極性;
(5)教師缺乏與學(xué)生的互動,沒有突出學(xué)生在學(xué)習(xí)過程的主體作用,學(xué)生的學(xué)習(xí)熱情難以提升;
(6)教師和學(xué)校不夠重視實踐教學(xué),機房上機隨意性布置幾個題,上網(wǎng)玩游戲的多,對學(xué)生缺乏必要的監(jiān)管,導(dǎo)致學(xué)生失去學(xué)習(xí)的方向。
分析以上問題可以看出,明確教學(xué)目標(biāo),激發(fā)學(xué)生學(xué)習(xí)興趣,調(diào)動學(xué)生學(xué)習(xí)的積極主動性,建立以問題和應(yīng)用為核心的教學(xué)模式,激發(fā)學(xué)生的計算意識和計算思維,提高其分析問題和解決問題能力顯得非常重要。我們在近幾年的教學(xué)實踐中進行如下改革探索,取得較好的教學(xué)效果,學(xué)生的能力得到一定的提高。
在日常的教學(xué)中我們可以發(fā)現(xiàn),學(xué)生對自己感興趣的知識點,總是會積極主動地去鉆研。但是,教師在組織教學(xué)過程中,由于缺少完整的學(xué)習(xí)目標(biāo)框架,導(dǎo)致學(xué)生的學(xué)習(xí)興趣不能被完全激發(fā)。因此,每個學(xué)期一開始,我們就開教研室會議,討論該如何上好第一節(jié)課。一般地來說,我們會安排“程序設(shè)計基礎(chǔ)趣味導(dǎo)學(xué)”作為第一堂課的內(nèi)容,從簡單的游戲程序入手,給學(xué)生演示一些趣味性強的程序,并注意這些程序與專業(yè)的融合,激發(fā)學(xué)生的計算機學(xué)習(xí)興趣,讓學(xué)生自己體會學(xué)習(xí)計算機的必要性。教師可以讓他們親自操作,從中體會程序設(shè)計給他們帶來的成功喜悅。教師還可以運行往屆學(xué)生做出的實際作品,讓學(xué)生形成自己的目標(biāo),從而激發(fā)學(xué)生學(xué)習(xí)計算機的積極性。
此外,教師在上課的時候,應(yīng)與該專業(yè)學(xué)生專業(yè)課教師進行及時溝通,通過專業(yè)課教師提出專業(yè)需求,我們再將這些應(yīng)用需求用程序設(shè)計語言實現(xiàn),然后在課堂上進行實例演示,讓學(xué)生理解計算機不僅在計算機專業(yè)領(lǐng)域可以應(yīng)用到,而且還可以在他們所學(xué)專業(yè)中得到很好的應(yīng)用,無形之中激發(fā)了他們學(xué)習(xí)的積極性。
由于每個學(xué)生都來自不同地方,接觸計算機的時間不一樣,自身的能力水平也不一樣。因此,在實際的教學(xué)過程中,我們首先要依據(jù)不同專業(yè)學(xué)生的特點進行相對應(yīng)的指導(dǎo),有區(qū)別的激發(fā)每個學(xué)生學(xué)習(xí)計算機的積極性。提倡在學(xué)習(xí)過程中,提出自己對相應(yīng)問題的看法和見解,教師幫助學(xué)生一起分析或解決該問題,要注意該過程主要是以培養(yǎng)他們學(xué)習(xí)能力為目的,為他們今后解決其它問題提供一定的幫助。
由于各學(xué)生之間的計算機理解和實際運用的水平不一樣,學(xué)生處于不同專業(yè),因此,因材施教,針對不同專業(yè)制定不同的課程教學(xué)大綱,自編能適應(yīng)不同專業(yè)學(xué)生的高質(zhì)量教材。
針對學(xué)生對計算機的認識程度進行因材施教具體應(yīng)做到:依據(jù)不同專業(yè)學(xué)生的實際情況,制定層次清晰、適應(yīng)性強、達到學(xué)生能接受的教學(xué)體系。從課程基礎(chǔ)部分、高級部分和上機實驗操作部分培養(yǎng)學(xué)生的計算機基礎(chǔ)能力和培養(yǎng)學(xué)生實際編寫代碼的能力。基礎(chǔ)部分主要是程序設(shè)計語言的基礎(chǔ)知識,包含一些常用算法,重點講解VB的常用控件、菜單的生成及編程、窗體的生成及編程、文件如果操作等。高級部分主要通過將教學(xué)內(nèi)容放置在網(wǎng)絡(luò)上,主要是VB語言與當(dāng)前新技術(shù)應(yīng)用的結(jié)合,包括一些高級的對象應(yīng)用、多媒體應(yīng)用、常用的 API 函數(shù)應(yīng)用以及數(shù)據(jù)庫應(yīng)用等內(nèi)容。在上機實驗部分,老師提供多個單元的上機操作實驗和自我檢測實例。通過對學(xué)生有針對性的上機操作,目的是讓學(xué)生掌握程序設(shè)計的基礎(chǔ)方法與怎樣進行程序的調(diào)試,不斷提高學(xué)生實際編程能力,加深對所學(xué)知識的理解。
激發(fā)學(xué)生的學(xué)習(xí)興趣是基礎(chǔ)性工作,培養(yǎng)學(xué)生的分析問題和解決問題的能力才是最重要的。應(yīng)當(dāng)采取多種方法把學(xué)生的注意力集中到學(xué)習(xí)計算機編程課程中來,達到計算機能力培養(yǎng)的教學(xué)目標(biāo)。而適當(dāng)采用范例教學(xué)能幫助學(xué)生更好理解所學(xué)知識點。
范例教學(xué)的內(nèi)容必須是基礎(chǔ)的、根本的內(nèi)容,能充分體現(xiàn)所教知識點的例子。范例教學(xué)的教學(xué)模式是“提出所涉及問題—深入分析問題—引出入新知識點—解決問題—完成總結(jié)”。這種把解題的方法和思路傳授給學(xué)生,把相關(guān)的知識點引入進來的做法能切實提高教學(xué)的效果,使學(xué)生形成對所學(xué)內(nèi)容深刻的記憶,是啟發(fā)性思維學(xué)習(xí)、提高學(xué)習(xí)效率的一種重要方式。
經(jīng)過多年的教學(xué)實踐我們發(fā)現(xiàn),在選擇范例時應(yīng)符合這些原則:(1)目標(biāo)性原則。應(yīng)針對教學(xué)目標(biāo)來選擇不同的教學(xué)范例,從而使學(xué)生加深對基礎(chǔ)知識和原理的掌握。(2)引導(dǎo)性原則。范例中應(yīng)能引出一些問題,供學(xué)生進行分析思考。(3)經(jīng)典性原則。一些典型的范例能使學(xué)生掌握的知識點和分析問題的方法具有普遍性,從而能有效解決今后所遇到的問題。
另外,教師在選擇應(yīng)用范例時,應(yīng)重點注意:(1)在課堂教學(xué)演示中所使用的范例應(yīng)注重課程與學(xué)生所學(xué)專業(yè)知識的結(jié)合。(2)在課外作業(yè)中應(yīng)盡量使用具有討論意義的范例,它可以是學(xué)生自主探究并分析解決的范例。(3)適當(dāng)應(yīng)用團隊合作范例。
通過不同形式的范例教學(xué),使學(xué)生能體會到學(xué)習(xí)計算機知識給自己專業(yè)學(xué)習(xí)帶來的好處,同時增強了學(xué)生自主學(xué)習(xí)、自主分析和解決問題的能力,有力地培養(yǎng)了學(xué)生的計算思維能力。
在傳統(tǒng)課堂中,教師經(jīng)常會提起一些記憶型的問題,很少要求學(xué)生對問題進行本質(zhì)思維。在多年的教學(xué)實踐中,我們發(fā)現(xiàn),教師應(yīng)更多跟學(xué)生進行互動。比如這樣一些提問:
(1)能使學(xué)生思維擴散的提問
它是指允許學(xué)生做出不同思考,沒有唯一性答案的問題,特別是對于“為什么”、“那會出現(xiàn)什么情況”問題,通過這些問題,來誘發(fā)學(xué)生進行深入思考,引導(dǎo)學(xué)生對問題實質(zhì)的判斷和分析推理。
(2)給定一些假設(shè)性條件的提問
假定某條件成立或改變的問題是讓學(xué)生思考對于條件的改變是否會對程序結(jié)果產(chǎn)生影響,會產(chǎn)生什么樣的影響。這樣就要求學(xué)生根據(jù)掌握的知識進行推斷,做出理性的回答。這樣反復(fù)的訓(xùn)練可以使他們想象力得到增強,無形中分析問題和解決問題的能力得到提高。
(3)對于學(xué)習(xí)中的難點可以進行提示性提問
在教師教學(xué)的實際過程中,尤其對于教學(xué)的難點,有時學(xué)生可能會對一些程序感到束手無策,有時候擔(dān)心課堂時間不夠或者學(xué)生不能很好解決,于是就快速地講解這些問題。但是,這樣會給學(xué)生帶來依賴思想,時間長了學(xué)生就會失去對該門課程的興趣。為了避免這些情況,我們通常不直接講解程序,而是通過給出問題的一些提示性知識點來引導(dǎo)學(xué)生思考。
舉個例子來說吧,上機編程實現(xiàn)輸出所有水仙花數(shù)及個數(shù),什么是水仙花數(shù),學(xué)生一開始可能不是很清楚,這時候教師可給予適當(dāng)提示:(1)水仙花數(shù)是一個3位十進制數(shù);(2)它的個位數(shù)的立方再加起來剛好等于這個數(shù)本身。更進一步,可以提示他們,既然是3位十進制數(shù),那么這些數(shù)應(yīng)該在什么區(qū)間?我們實現(xiàn)這個程序的方法有哪些?是否可以用最原始的方法:窮舉法呢?如果用這個窮舉法,那么使用哪種程序結(jié)構(gòu)來實現(xiàn)呢?順序、選擇還是循環(huán)結(jié)構(gòu)?程序結(jié)構(gòu)清楚之后,下一步顯得非常關(guān)鍵,這個3位十進制數(shù)個位、十位、百位如何分離出來?分析完成后,就可以讓學(xué)生將算法實現(xiàn)。這樣不斷進行提示性提問可以使學(xué)生的思維一直處于興奮狀態(tài),這樣一來,教學(xué)效果就得到增強。
實踐操作是檢驗知識熟練掌握程度的重要方式,是培養(yǎng)學(xué)生通過已有知識來解決實際問題能力和培養(yǎng)計算思維的必要環(huán)節(jié)。該門課程是一門實際應(yīng)用性很強的課程,僅僅通過課堂上的有限時間的學(xué)習(xí),對所學(xué)知識點得不到很好的鞏固,在實際的教學(xué)安排中,我們通過一半以上時間的上機實踐,使學(xué)生真正理解所學(xué)內(nèi)容。
不過,我們在調(diào)研中發(fā)現(xiàn),一些學(xué)校只重視理論課的監(jiān)管,忽視了實踐操作課的重要性??偨Y(jié)下來,實踐操作環(huán)節(jié)主要存在的問題有:(1)學(xué)生在上機操作前沒有充分的預(yù)習(xí)相關(guān)內(nèi)容,學(xué)生完成與否都無關(guān)緊要,這樣導(dǎo)致上機操作效率低,有些學(xué)生根本就沒有提前編寫調(diào)試的程序,這樣就出現(xiàn)復(fù)制別人的代碼上機完成任務(wù)的情況,其實這樣學(xué)生根本沒有領(lǐng)悟所學(xué)知識點。(2)由于現(xiàn)在計算機公共課程都是大班上課,一個老師要負責(zé)100多個學(xué)生,而程序設(shè)計課程問題往往比較復(fù)雜,對于學(xué)生調(diào)試中出現(xiàn)的各種問題,教師根本沒有時間一一輔導(dǎo)解答完,導(dǎo)致學(xué)生不能找到課程學(xué)習(xí)的成就感,教學(xué)效果越來越差。
對于這些問題,經(jīng)過實踐我們探索出這樣一種解決方法:先將實踐操作作業(yè)發(fā)給學(xué)生,學(xué)生在作業(yè)本上寫好編程代碼交上來,教師在看完學(xué)生的作業(yè)后,將學(xué)生程序中的所遇到的典型錯誤都記錄下來,學(xué)生對問題的不同解決方法也記錄下來。到機房上機操作時教師把作業(yè)發(fā)給學(xué)生,提前告知學(xué)生對程序運行調(diào)試的問題進行記錄,學(xué)生對于問題的各種想法和實際解決方法思路都要寫在本子上,教師在課堂規(guī)定時間內(nèi)給予學(xué)生適當(dāng)?shù)妮o導(dǎo)。但是,由于在實踐操作過程中,學(xué)生的人數(shù)過多,不可能與每個學(xué)生交流編程中遇到問題和自己的看法,這時候,學(xué)習(xí)委員下課時再將作業(yè)本收上來交給老師,作業(yè)中留下學(xué)生調(diào)試程序的記錄,教師再一次認真閱讀作業(yè)本,并進行分析,到下次理論課時,教師將學(xué)生遇到的問題和自己的想法通過多媒體展示給大家,由學(xué)生進行分析討論修改,針對同一個題目的多種思路,引導(dǎo)學(xué)生講解自己的算法思路供全體學(xué)生討論,互動討論之后教師做總結(jié),這樣教學(xué)效果明顯。
多年的教學(xué)實踐已經(jīng)證明,根據(jù)不同專業(yè)學(xué)生的實際情況,注重理論和實踐知識的綜合應(yīng)用,使學(xué)生不但對所學(xué)基礎(chǔ)知識有所掌握,而且能運用所學(xué)知識解決實際問題顯得非常關(guān)鍵。而在這個過程中,教師不斷改進教學(xué)方式方法,了解不同專業(yè)和不同性格學(xué)生的特點,不斷激發(fā)學(xué)生自主學(xué)習(xí)的熱情,學(xué)校加強對教學(xué)的監(jiān)管,促進教師和學(xué)生都能投入到教學(xué)中來。這樣,學(xué)生能力才得到很好的鍛煉,也符合教育部門因材施教的規(guī)定,整個人才的素質(zhì)也得到提高。
[1]朱國華. Visual Basic 程序設(shè)計基礎(chǔ)[M].北京:中國鐵道出版社,2009:4-5.
[2]楊揚,武澎,丁爽. Visual Basic程序設(shè)計基礎(chǔ)課程教學(xué)改革探究[J].電腦知識與技術(shù),2010,(11):2811-2812 .
[3]劉芝怡,陳舜青. VB程序設(shè)計基礎(chǔ)課程教學(xué)改革與實踐[J].中國現(xiàn)代教育裝備,2010,(15):80-82.
[4]倪紅梅,吳雅娟,衣治安.基于 CDIO理念下的范例教學(xué)在VB教學(xué)中的應(yīng)用[J].安徽理工大學(xué)學(xué)報(社會科學(xué)版),2010,(1):106-108.
G642
A
1673-2219(2014)05-0119-03
2014-02-12
2013年湖南科技學(xué)院教學(xué)改革研究項目(項目編號XKYJ2013001)。
戴振華(1981-),男,湖南衡陽人,碩士,講師,研究方向為嵌入式系統(tǒng)開發(fā)及網(wǎng)絡(luò)應(yīng)用。
(責(zé)任編校:劉志壯)