【摘要】 高職VB教學改革中,要培養學生的程序設計能力,可通過改革課堂教學內容及方法,培養學生編程能力;改革實踐教學環節,提高學生編程水平。
【關鍵詞】 VB程序設計教學能力
【文獻編碼】 doi:10.3969/j.issn.0450-9889(C).2011.06.040
VB程序設計課程是一門面向應用,具有很強實用性的課程,目前已成為各類高職院校講授程序設計課程的第一門語言課程。在VB教學中如何培養學生的程序設計能力、掌握程序設計方法,是這門課程教學的關鍵。由于高職院校教學改革創新的要求,該課程的教學已經不再過于注重理論知識傳授的傾向,而是注重引導學生學會學習方法、掌握實際操作技能的能力培養上。為此,筆者在教學中作了以下的探索和改革。
一、 改革課堂教學內容及方法,培養編程能力
教師的教學內容及方法不僅影響著學生學習的興趣,而且也關系到學生程序設計能力的培養和素質的提高。因此,在VB教學改革中必須對過去傳統的教學模式進行改革。
(一)對內容安排的調整
1.以小型任務為目標案例教學。在VB教學中,教師以往的講授順序是從基本定義、語法功能、再到程序設計的傳統模式,學生學習會感到枯燥無味。采用案例教學直接從案例入手,通過案例引導,講解概念、語法、分析功能及應用,會提高學生學習積極性。由于VB是第一門語言,在案例教學中選取的案例都盡可能小而精,針對特定問題通過小型案例講解獨立知識點,以案例模仿的形式促進學生動手能力的提高。由于學生的學習過程貫穿于案例分析的過程之中,可培養學生學會抓住或發現問題,然后結合所學知識尋找解決問題的途徑、手段。這樣不僅能幫助學生鞏固已學的知識點,激發學習興趣,同時也能幫助學生提高自學能力和程序設計能力。
2. 以階段性任務為目標案例教學。根據課程內容及進度安排把整個案例分解成多個階段性任務,再以任務驅動的方式來分析每個階段性任務的目的、意義、實現方式及所用的知識點。階段性任務與整個項目案例緊密結合,始終讓學生清楚地知道哪個知識點在哪個任務中需要用到、為什么需要這樣做、怎樣去實現。從而使得教學中每完成一次階段性的教學,學生就可以自己動手實現一個階段性任務,距離完整的案例系統也就更進一步。這種方法可以使學生對課程各部分知識形成一個清晰、完整的思路,更好地理解和掌握知識的系統性和完整性,有效地將整個知識內容緊密結合。
(二) 對教學方式的設計
隨著多媒體教學手段的應用,教學環境和教學方法都發生了變化。如何找到一種既符合學生認知規律,又能切實培養學生編程興趣和實踐應用能力的教學方式,是在授課內容和方式的設計時需要考慮的。
1. 案例糾錯引導教學。教學中教師也可以在案例中故意設置一些錯誤,讓學生去發現,然后師生一起共同解決,或把學生編寫的程序選擇一些典型的出來,在課堂上進行分析講解,與學生一起來分析出現的錯誤及原因,這些錯誤往往是學生最容易犯的。通過這樣的教學,學生可以留下深刻印象,在今后的編程中避免再犯同樣的編程錯誤,從而牢固掌握知識點,培養分析問題與解決問題的能力。同時,還應盡可能多地引導學生一題多解,尋求最佳解題方案,培養學生的創新意識。
2. 實訓融合引導教學。教學中教師把講授、練習、實驗、演示和網絡技術結合起來,將課程中抽象的、難以理解的教學內容進行形象化,這樣會利于學生理解與記憶。在實訓融合引導教學中,教師先演示講解實例,引入新的知識點,然后在原有案例的基礎上提出擴展功能,復習舊的知識點,由學生考慮完成或由學生在老師引導下通過上機練習、實驗來完成,循序漸進,這樣老師不是一味地灌輸,學生也不是被動地接受,可以充分地實現互動,提高學生學習的興趣,逐步培養程序設計能力。把以教師為中心的“灌注式”教學改變為以學生為中心的“主動探索式”學習。
3. 師生互動啟發教學。教學中,為了適時不斷地培養學生分析問題與解決問題的能力,教師還可以經常走下講臺到學生中間來,多與學生交流、互動,充分調動每一個學生的學習積極性,教學中教師適當提出一些與所講內容相關的問題,在課堂上展開討論,啟發學生思考,對所學的問題會容易理解。例如,在講授有關數據類型說明符以及不同類型變量對輸出結果的影響時,可以采用以下方法,以引導每一個學生的學習積極思考。首先在課堂上隨手編寫一段簡單的程序代碼進行導引:
Private Sub Command1_Click ()
Dim m As Integer
Dim n As Integer
m = Val (Text1.Text)
n = Val (Text2.Text)
Label1.Caption = Str (m * n)
End Sub
程序極為簡單,通過兩個文本框得到用戶輸入的數據后,分別賦值給m和n兩個變量,將m×n的計算結果在標簽Label1中輸出。程序運行后,當輸入m的值為100、n的值為35時,單擊“=”按鈕,征求輸出的結果。學生們會回答“3500”,結果正確。但若m不變,將n改為350,對輸出結果絕大多數學生回答“35000”,可是屏幕給出的結果卻是用“溢出”表示的出錯信息,學生因此大感困惑。此時教師首先不應急于引進名詞定義上進行空洞解釋,而應是先把m或n中的任何一個變量改為Long類型,“溢出”的錯誤現象隨之消除。為此可借機向學生提問原因,學生的回答十分踴躍,答案也有多種。等待學生們回答完畢,人人都經歷過一定的思考后,老師才最后分析原因并提供正確答案。這樣,學生開始明白所謂數據類型的真正含義及其影響與重要性:正是由于m和n都是Integer類型,其運算結果100*350=35000,超出了Integer的范圍,所以導致“溢出”;只要將m和n中的任何一個改為Long類型,其表達式的運算結果就是Long類型,而35000的運算結果并沒有超出Long類型的范圍,故能正常輸出。
由此不難通過變量m和n的類型變換,推引出其他數據類型說明符,如Single型和Double型等,使學生對數據類型的含義及應用,從陌生到理解,其效果良好而且印象深刻。在此同時,對每一實例也都可以進行多次反復修改,以此說明針對不同類型的變量,會演示出不同的結果。首先讓學生自己給出答案,然后再顯示驗證,以促使學生主動思考。由于師生間的多次對話,課堂氣氛也隨之活躍,師生關系更加和諧,學生的學習情趣隨之提升。
其他如針對VB中的基本結構,模塊和過程,常用控件的屬性、方法、事件等,也都可以采用類似的教學模式,將一些枯燥無味的概念,在活躍的教學氣氛中無形轉化,變得容易接受和理解。
二、改革實踐教學環節,提高編程水平
重實驗、重實習,狠抓實踐性教學環節,是貫穿高職技術教育全過程的總方針。在實踐教學改革中,筆者的做法是:
(一) 淡化驗證型實驗
在以往的實驗教學中,大多數學生更多的時間是在按照實驗指導書上的步驟去按部就班地完成實驗,驗證程序的正確性,觀察運行結果,而自己真正設計程序時卻無從下手。因此,教師應讓學生了解驗證型實驗的設計目的、設計思路和算法思想,強調問題分析,而不是僅僅去驗證。因此,教師應精心組織實驗內容,要求學生根據理論學習內容,應用多種方法,按照要求進行實驗,實驗中通過調試可以讓學生迅速理解語句的含義、程序實現的功能、軟件設計規范等, 務必要求和監督學生腳踏實地,循序推進,從簡單到復雜,從比照、模仿到獨立思維,最終體現出一定的創新、改革意向。讓學生每次能察覺到自身的成長與進步,激發成就感,提高學習的積極性和主動性。
(二)強化項目型訓練
經過多年的教學實踐,筆者發現一些問題,即學生學完每個章節后,由于沒有機會應用,很快就將所學知識忘了。學生普遍反映,學過的知識不會應用,編程困難。就像學習外語,記了一大堆的詞匯和語法卻不能張口表達。導致這種問題的原因是多方面的,但最重要的原因是學生缺少綜合性的歸納和練習;學生上機動手時間短,僅靠課堂上的操作是不夠的。針對這一問題,有效的解決辦法是強化項目型訓練。教師在每個章節后面安排項目訓練,并與課堂上講解的項目相結合,同時,圍繞每章知識點,綜合前面章節內容,設計小型實戰訓練題目,一般以模塊設計和小項目制作為主,要求學生利用課內或課外時間完成。教師應注重科學地設置實驗項目,讓學生運用所學知識,獨立完成程序編寫,將成果保存到指定處所,交付老師檢查,并在考核成績中占有一定的比重。
(三)加強課程設計實踐
在所有課程結束后,安排二周的課程設計環節,在這個過程中采用分組的組織形式,以完成小型任務為目標,設計實戰訓練項目,鍛煉學生合作和程序設計能力。在分組設計中,學生以3人左右的小規模進行分組,這樣一方面可以保證每個學生都有動手實踐的機會,同時也能充分參與合作。學生個人的最終成績取決于團隊的最終成績、個人在團隊中的貢獻以及教師對個人表現的評價。分組設計中通過競爭機制和團隊成員的交流可以促進學生學習興趣和提高團隊合作能力。教師在這個過程中應為學生提示基本思路,引導學生有所創新,要求學生提出自己的設計思想,并獨立完成,教師進行必要的指導與點評,特別對好的設計思路,教師應讓所有學生都了解。要求學生學會查閱資料,培養自學能力,訓練獨立思維,掌握分析能力,融合理論實踐,提高編程水平。
實踐證明,通過在教學方法、手段、實踐環節過程中進行探索和改革,并對實踐教學各環節的加強,可以提高學生實踐操作能力,特別是在程序設計能力培養方面取得了一定的成效,提高了高職學生在社會上的就業競爭力。
【參考文獻】
[1] 張春英,劉鳳春.基于項目開發教學法的Visual Basic 程序設計教學模式的研究[J].計算機教育,2010(5)
[2]郭建宏.C++面向對象程序設計語言教學探討[J].遼寧高職學報,2008(2)
【作者簡介】 董建新,女,山西人,廣西水利電力職業技術學院計算機系講師,研究方向:計算機軟件技術。
(責編黎原)