摘要:在程序設計課程教學中,如何解決程序設計本身枯燥、難懂這個問題,找到一條比較新穎的教學方式,一直是廣大計算機教師頗感興趣的課題。該文從如何提高VB程序設計課程教學質量、增強教學效果、培養和提高學生分析問題、解決問題能力和創新能力等方面,闡述了對VB程序設計教學方法的幾點看法。
關鍵詞:程序設計;教學方法;能力
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2008)31-0922-02
An Exploration of VB Program Design Teaching Methods
REN Hong-jian
(Nantong University, Nantong 226019, China)
Abstract: In teaching program design, finding new ways to solve the dryness and complexity of program design has always been a fascinating subject for many computer science educators. This article provides several ideas on the following aspects of teaching VB program design: how toimprove course quality, how to enhance the teaching effectiveness, how to nurture and strengthen students’ ability and creativity in analyzingand solving a design problem, etc.
Key words: program design; teaching methods; aptitude
1 引言
掌握和應用好計算機知識是當代大學生必須具備的基本條件,為此,國家教育部根據高等院校非計算機專業計算機培養目標提出了“計算機文化基礎”、“計算機技術基礎”、“計算機應用基礎”三個層次的教育體系。VB屬于第二層次范疇的計算機編程語言,已被列為公共必修課程。
程序設計語言類課程的指導思想是:使學生通過學習既掌握高級編程語言的知識、編程技術和基本算法,又掌握程序設計的思想和方法,更具備利用計算機求解實際問題的能力,能靈活運用高級語言進行程序設計。其重點是培養學生掌握程序設計的思想和方法,難點是作為程序設計的入門課程,應當如何引導學生突破傳統的思維方式,培養程序設計的新思想。本文結合教學實踐與理論思考,談談在教學上的一些經驗和體會。
2 VB教學中存在的問題
第一,課堂教學模式單一。目前,Visual Basic 課程的教學模式主要是使用多媒體教室,教師采用Powerpoint課件加實例演示的教學模式,該模式比以前的“粉筆”+“黑板”教學模式有了很大的提高,加大了課堂的信息量,更直觀形象了。但如果僅采用這樣單一的教學模式,學生的學習過程還是以教師為中心,課件的信息量很大,授課速度又快,學生的自主學習和協作學習的積極性仍然沒有得到充分調用;第二,上機實驗過程中,學生是自主學習,忽視教師的引導作用。首先,在上機實驗中,教師布置上機的任務后,學生自行練習,教師就忙于解答學生提出的問題,而不引導全局。在這種放任學生自主練習的狀況下,整個上機實驗過程節奏松散,而實驗任務對大部分同學來說臺階過高,于是學生感到很茫然,便很快就喪失了學習興趣,甚至厭惡上機。其次,上機人數又多,學生遇到的問題往往得不到教師的及時解決,于是挫折感增加,產生厭煩心理。
3 教學方法的探索
3.1 實例教學,培養學生的學習興趣
程序設計是一種構造性的技術,對于學生來說,程序設計的思維方式和概念都是全新的,學生接受起來很困難,因此必須研究程序設計的教學方法。教學的過程是師生交往、共同發展的互動過程。在程序設計教學中要從學生的興趣入手,利用學生對事物的好奇心,選擇一些有趣的、有實際意義的程序,激發學生的學習興趣。俗話說:教無定法,學無定法。打破課本原有以知識的邏輯結構體系為順序組織課堂教學的方式,以學生的已有知識為基礎,按照學生的認知規律,遵循先易后難、先具體后抽象的原則,通過觀看、模仿、理解、總結、提高五個階段進行教學。讓學生成為學習的主人。
興趣是最好的老師,興趣決定了教學效果的好壞。讓學生明確學習目的很重要,而教師還要在教學過程中去提高學生的學習興趣,使學生對學習本身或過程有興趣,而不是在外界剌激下只關心學習的結果,這直接影響到學生對這門課程的學習效果。教學中僅僅單純地傳遞教材內容是不夠的,在第一堂課中,教師應從學生的興趣入手,利用其對事物的好奇心,選擇一些有趣的、有實際意義的程序,從一開始便激發學生的學習興趣。
3.2 創設問題情境,激發學生學習的主動性
在教學過程中提出問題,集中學生的注意力,促進學生主動思考、主動探索,可以使學生在學習的過程中成為主體。實際上,問題是最好的老師,是學生學習的引導者,沒有問題便沒有深入,老師要引導學生在解決問題中學習,即提出問題,留給學生時間思考、討論、解決問題,從而更深入地展開學習。實踐證明,這種教學方法充分調動了學生學習的積極性和主動性。
例如,在講數組的概念時,老師先設置問題編程計算10個數的和。根據以前所學,學生會想到需要定義10個變量用于存放這10個數。再進一步要求計算50個數的和。這時候如果再定義50個變量,則會非常麻煩,學生此刻開始思考該如何合理地聲明變量。再深人一步求100個數的和。此時,當教師引出數組的概念、分析數組的性質時,學生不僅能夠很容易記住數組的性質,還能夠知道在什么情況下使用數組,事半功倍。
3.3 舉一反三,培養學生的創新思維
編程教學的根本目的是要使學生能夠獨立地編寫程序,而這正是編程教學中最大的難點。在實際教學中,筆者采用以下幾步措施來逐漸使學生能夠獨立編一些簡單的程序:第一步精講例題,詳細分析其算法,逐一列出解題步驟,給出完整程序;第二步精心挑選很多程序題,讓學生閱讀程序,寫出程序執行結果,這一步十分關鍵,讀懂理解人家的程序是以后自行獨立編程的前提;第三步是讓學生做程序填充題和程序改錯題,即給出相應程序,把其中一些關鍵地方留空,讓學生填充,或在程序中提供一些錯誤語句,要求學生修改正確;第四步出一些類似例題的編程問題,讓學生模仿完成;第五步讓學生獨立編寫簡單的程序。例如,為了讓學生獨立解決求s=1-1/2+1/3-1/4+...+1/99-1/100的程序,首先詳細分析了求s=1+2+3+...+99+100 的編程,程序如下:
Dim i As Integer
Dim sum As Integer
sum=0
For i=1 to 100 step 1
sum=sum+i
Next i
Print \"sum=\"; sum
然后,將上題中“For i=1 to 100 step 1”這一語句略作改動:①For i=1 to 100 step 2;②For i=0 to 100 step 2;其余不變,讓學生閱讀程序并分析。程序①實際上是求100 以內奇數之和,程序②實際上是求100 以內偶數之和。再將上題中sum=sum+i 這一語句改成sum=sum+1/i,其余不變,那又如何呢?學生很容易得出程序實際上是求s=1+1/2+1/3+...+1/100,進一步引導學生,這個程序有什么問題?答案是由于求和結果不可能是整數,故語句Dim sum As Integer 應該改成Dim sum As Single。再引導學生思考,要求s=1-2+3-4+...+99-100的編程,上題中循環體sum=sum+I 應該怎樣改動? 結合相關數學知識,學生很自然得到正確結sum=sum+i*(-1)^(i+1)。有了上述的層層鋪墊,相信學生是能夠獨立完成s=1-1/2+1/3-1/4+...+1/99-1/100 的程序代碼設計的。
能獨立編程后,還應善于總結。有些編程題,表面上看起來好象不一樣,它們實質上可以用一道通用的程序來實現,只要改變其中的一條語句就可以了。如:
例1:編程求任意三個數中的最小數。
例2:編程求任意三個數中的最大數。
例3:編程求任意三個數中的中間數。
例4:編程將任意三個數從大到小輸出。
例5:編程將任意三個數從小到大輸出。
這五個編程題,雖然不一樣,但只要會編寫其中的一道題程序,其它題目只要在這道題程序的墓礎上,修改最后的PRINT語句就可以了。
4 根據課程特點,做好歸納小結
程序設計的教學,一般都是從局部分散地講,如果不歸納總結,學生則難以形成完整、清晰的框架,因此,教學中要及時歸納、做好小結。歸納可以是一個控件多方面(如事件、屬性設置等)的歸納,也可以是對一種結構的歸納(如分支結構的歸納)??偨Y可以是一課的總結,也可以是幾課的總結。歸納總結的形式也可以多種多樣,可以使用文字概括,也可以使用圖示總結,重難點要著重強調。這種歸納總結,一方面有利于學生理解知識、融會貫通,順利實現知識遷移,另一方面對于提高學生的學習效率也有很大的幫助。
總之,教學方法在程序設計教學中舉足輕重,它制約著程序設計教學的效率。雖然教無定法,但萬變不離其宗,絕不能離開程序設計的教學內容和教學目標、脫離學生的知識背景和認知規律。采取符合學生認知規律的、科學的教學方法,必然會提高教學效率,取得事半功倍的效果。
5 不斷培養學生的自學能力
在教學中筆者還注意不斷培養學生的自學能力。自學能力在大學生能力層次當中屬于最重要最基本的,首先,有了自學能力就可以通過課外閱讀,學到課本里沒有的東西,知識豐富了,眼界也開闊了,對于活躍學生的思想,提高科學思維能力大有好處:它可以使學生打破老師和課堂的限制,在學習上獲取更大的自由。其次,學生在學校里生活畢竟是短暫的,現在提倡終身教育,將來不論他們從事哪種工作,都需要在工作中不斷提高文化科學水平,這種提高主要靠自學,即自已閱讀有關書籍和報刊,運用已掌握的知識,去認知新知識,自覺發現問題,再歸納概念,作出判斷,進而解決問題。再次,針對計算機的飛速發展、日新月異的特點,自學能力的成長和提高,顯得更為重要。
在不斷的教改實踐中,筆者始終堅持一個指導思想,即充分相信學生的學習潛力,減少學生對教師和教材的依賴性,激發學生的學習興趣,提高學生學習的主動性,培養學生的好奇心,從而發展學生的分析能力,觀察能力和獨創能力,使學生真正成為課堂的主體。
參考文獻:
[1] 牛又奇,孫建國.新編Visual Basic 程序設計教程[M].蘇州:蘇州大學出版社,2002.
[2] 沈國珍.《VB 程序設計》課堂教學的探索與實踐[J].福建電腦,2007(4).
[3] 劉炳文.精通Visual Basic 6.0中文版[M].北京:電子工業出版社,1999.
[4] 吳鴻雁.關于計算機語言教學方法探討[C].江南大學信息學院學術論文集.