馮中毅 董海棠
1.蘭州城市學院 甘肅蘭州 730070 2.蘭州交通大學 甘肅蘭州 730070
程序設計課程教學中培養學生能力的探討
馮中毅1董海棠2
1.蘭州城市學院 甘肅蘭州 730070 2.蘭州交通大學 甘肅蘭州 730070
VisualBasic程序設計語言是我們學校開設的全校性理工科學生必修的計算機公共基礎課程。探討了在我們學校教改中,計算機課程學時減少的情況下教學的組織,提出了教學方法的建議。重點討論了備課過程和課堂教學中多種教學方法的融合,及課后通過讓學生完成具有一定實用性的題目來提高學生的編程和調試能力,為學生在各自的專業中應用和擴展編程知識并解決本專業的問題打下良好的基礎。
VisualBasic程序設計;教學;編程與調試
“VisualBasic語言”被我校作為理工科本科生學習程序設計的入門語言,筆者通過教學的實際體驗,探討了如何在學時較少的情況下組織教學,培養和提高學生的編程和調試能力。
我校大學理工科本科的教學改革較大幅度地壓縮了公共基礎課的總課時,以提高專業課程、選修課程和實踐性課程的課時,這就導致計算機應用基礎課程總學時數相應減少。為此,負責全校低年級計算機基礎課程的教師多次進行研討,特別是近幾年來,筆者一直在這方面進行改革探索,努力使學生在較短的學時里掌握程序設計的知識,并能夠根據自己的學科特點進行應用和擴展,且使得在以后的學習和工作中根據需要能夠進行自學提高。
程序設計課程安排在大學一年級第二學期,共72學時,其中36學時進行程序設計語言理論的學習,主要內容為程序設計語言的概念和語法及相應的典型算法。同時每周同步安排2學時的上機教學,共36學時的上機實踐。多年來,計算機語言課程有C語言,C++,VisualFoxPro和VisualBasic等多種語言可供選擇。隨著面向對象編程思想的普及,教學也需要轉向面向對象的編程。但是,典型的面向對象程序設計語言如C++和Java等,對于非專業的學生來說在較短的時間內難以掌握。因此我們選擇了VisualBasic這種易于掌握,又滲透了面向對象的編程思想,功能也很強大的程序設計語言。
在上機實踐的教學環節,除了完成必要的典型題目,在學生較為熟悉VisualBasic程序設計環境后,后半學期(教學周第9周以后),將學生分成小組,每組由3~4人組成,以VisualBasic語言為編程環境,以教師指定或學生有興趣的小軟件項目為背景,進行的訓練包括:需求分析、算法設計、模塊設計、編寫程序和軟件測試等環節,最后以編寫的軟件文檔和源代碼作為上機實踐課成績的依據。實踐表明,經過這樣的全過程實踐,學生可以初步掌握可視化編程,了解軟件的一般性開發方法。比較過去的教學學生雖然學完了程序設計課程,也通過了全國計算機二級考試,但對于軟件開發所知甚少,有了很大的提高。
目前VisualBasic程序設計課程教材有很多種,內容差別很大,筆者在選擇教材時本著以下原則:
(1)重視概念和算法的學習,內容簡明扼要,對于語法細節不深究,操作部分的指導要清晰明確。
(2)教材內容的組織上有助于盡早在學生頭腦中建立起面向編程的思維模式。
(3)有詳細的實驗指導書,能夠訓練學生綜合運用計算機的能力。
(4)教材中的各章節提供有針對性的典型案例,通過案例步驟的講解而引出理論知識具體運用,能夠結合學生的學科內容,能夠綜合教材中的前后知識點。
(5)將程序設計語言及軟件的進展融入教材中。
由于各種版本的教材各有特色。教師在選擇時還可根據學生的計算機水平,所在學科的特點、本專業的教學目標以及不同層次的教學要求進行權衡。對于程序設計要求較低的專業可以選擇較為淺顯的教材,而對于要求計算機實踐能力較強的專業,如電子技術等專業,應選擇更接近工程實訓的教材。
在實施教學活動時,要考慮學生的學習基礎、認知能力、興趣和習慣。在經過了一個學期的計算機應用基礎的學習后,學生一般都具備計算機的使用能力,對于常用的一些軟件如Office套件等都較為熟悉。也有部分學生在中學學過程序設計語言,具有一定的編程基礎。但據筆者在教學中對學生的了解,對于程序設計而言,學生已具有的程序設計知識是很少且模糊的。因此,在教學時需要告誡部分學生不要因為已學過一點程序設計而自滿。教師在教學中也要引導學生更深入地學習計算機專業知識,在教學中融入數據結構、操作系統及軟硬件環境等相關知識。并在教學后期用綜合性的有工程應用背景的題目來訓練學生。這些補充內容能夠幫助非專業的理工科學生快速建立起計算機的知識結構框架。
課堂教學中直觀生動的講解是提高學習效率的重要手段,特別是在教學時教師進行現場的編程和調試,對學生的學習有很大的幫助,但耗時較多,教師需要精心選擇題目并“制造”典型錯誤。另外,教師需注意培養學生良好的編程風格,如規范的變量命名,加入適當的注釋,鋸齒形的縮進要求等。學生的模仿是學習程序設計的第一步,要讓學生切身感受編程的整個過程培養學生良好的習慣。
在教學中要注重訓練學生用程序設計語言進行數據計算和邏輯分析的基本功,主要有數據結構的設計、算法的選擇、模塊功能的劃分等。具體語法的教學要融入到編程過程中,通過大量實際應用的講解和練習來鞏固知識點,建立知識間的聯系,最終牢固地掌握程序設計語言。
程序的調試既是學習程序設計的重點又是難點。數十行代碼就會引起很多錯誤和警告,應該在教學中有意識地培養學生調試程序的能力,向學生介紹常見的錯誤類型和調試方法。因為教材中對此一般都是泛泛一說,所以教師需要對此著重補充。不會調試程序就談不上程序設計。
程序中出現的錯誤通??煞譃閮深悾罢Z法錯誤”和“邏輯錯誤”?!罢Z法錯誤”指程序代碼不符合該種程序設計語言的語法要求,程序調試出現錯誤時,一般都會在屏幕上提示出錯信息,調試者能否看懂這些信息是修改錯誤的關鍵,教師在教學初始階段需要較多的講解,此種錯誤相對容易查找。學生比較困難的是“邏輯錯誤”,教師在講解時需要綜合運用多種調試手段,如查看程序結構、輸出關鍵變量值、黑箱模塊測試等。不論何種錯誤,這種程序調試能力的獲得都需要大量的訓練。在教學的開始就需要將調試程序列入計劃,從編寫最簡單的程序就需要逐步地強調程序調試的方法。比如在學習流程控制語句時,就可以引入F8單步執行,Shift+F8逐過程執行,Ctrl+F8運行到光標處,通過監視窗口觀察變量值等方法;在講解循環時引入斷點的設置方法;在講解過程、函數時運用過程的調用和進入函數執行或者跳過函數執行的調試方法。在教學的后期引入其他一些高級的程序調試方法(如函數調用棧等)。
典型的題目可以幫助學生更好更快地掌握程序設計的知識和方法。在講解新的知識點時所使用的示例要簡短精煉,并且能夠和學生所學的專業相結合,這樣做能夠極大地提高學生的學習興趣。
本文結合自身的教學體會,介紹了VisualBasic程序設計課程在學時較少的條件下教學的安排、教材的選擇、課堂教學的組織、程序調試能力的培養等。在實際的教學中證明這些方法是成功有效的。
[1]李進霞,常軍鋒.高職院校程序設計一體化教學探討[J].中國現代教育裝備,2010,9
[2]劉應成.新升本科院校學生程序調試能力的調查研究[J].現代計算機(專業版),2010,5
Abstract: VisualBasic programming language is one of basic courses in Lanzhou city university. This paper discusses about how to organize and design teaching forms in shortage class hour environment. The propositional choices of teaching methods are also made. The article focus on two points, the first is to discuss the teaching preparation and integrate several teaching methods in class such as teaching with multimedia, programming on-site; the second is to promote the student’s programming and debugging ability by using practical applications after-class. Our two objects are enhancing programming ability and laying the foundation for transfers the knowledge in self-learning process for students in the future.
Key words: VisualBasic programming language; teaching methods; programming and debugging ability
Cultivate students' programming ability in VisualBasic language course
Feng Zhongyi1, Dong Haitang2
1.Lanzhou city university, Lanzhou, 730070, China 2.Lanzhou jiaotong university, Lanzhou, 730070, China
2010-09-17
馮中毅,碩士,副教授。