李慶霞
[摘? ? ? ? ? ?要]? 教學方法是教學過程重要的組成部分之一,是教師和學生實現(xiàn)教學目的、完成教學任務的途徑和程序,是師生之間相互有機聯(lián)系的活動方式。教學方法包括教的方法和學的方法兩個方面,但又不是二者的簡單相加,而是彼此結合、彼此適應的。教學方法決定著教與學的效果,對提高教學質量有著重要的理論和實踐。在Visual Basic程序設計教學中進行了教學方法的探索,使原本枯燥乏味的程序設計語言教學變得直觀、形象,激發(fā)了學生的興趣,取得了較好的教學效果。
[關? ? 鍵? ?詞]? 程序設計;教學;啟發(fā);算法;編程
[中圖分類號]? G712? ? ? ? ? ? ? ? ?[文獻標志碼]? A? ? ? ? ? ? ? [文章編號]? 2096-0603(2020)25-0100-02
VB程序設計教學的關鍵是通過計算機教學,進而達到提升學生邏輯思維能力的目的,同時強化學生對程序的處理能力。但從教學經驗來看,大多數(shù)學生在之前并未接觸過程序設計這門課程,導致學生在閱讀程序方面存在困難,且對編制程序毫無頭緒,長期以往,學生主觀上認為VB程序設計這門課程枯燥無趣。而課堂教學這種教學方式且易需要教師根據(jù)學生接受能力以及課程特點構建一套適應課堂教學,且易激發(fā)學生積極性的方法。VB程序設計這門課程在教學中注重對學生發(fā)現(xiàn)問題、分析問題以及解決問題能力的培養(yǎng),我認為教學方法會直接影響教學效果,所以在多年的教學實踐中,談談我的VB程序設計教學方法的妙用。
一、讀、說、寫教學
培養(yǎng)學生程序設計的思維是VB學科中最重要的一環(huán),它體現(xiàn)了一個學生的分析問題、解決問題的綜合能力。由于絕大多數(shù)學生缺乏相應的知識背景,程序代碼設計有很大的困難。針對客觀實際,我在教學中采取了以下幾個措施。
(一)讀程序,理思路
程序設計教學要學會運用閱讀理解法。閱讀能力的培養(yǎng)可以潛移默化地提升學生的獨立思考能力與質疑能力,使學生自身形成良好的管控能力,即學生自己能夠自主地按照實際情況調整學習進度。在課堂之外,教師引導學生在課下大量地閱讀程序,并定期組織學生交流發(fā)言,讓學生談通過閱讀別人程序得到的編程算法與設計思想。通過課下引領學生閱讀發(fā)現(xiàn),讓學生大量地閱讀程序是一種高效的學習方法。結合在課堂上學生的實踐,指出他們所設計程序中的錯誤與問題,課上與課下的聯(lián)動,極大地提高了學生學習程序設計的積極性。
(二)說程序,明算法
說程序是程序教學中不可缺少的一環(huán),課堂上我采用同桌互說、小組討論、師生共說等形式,主要引導學生說算法,算法是程序設計的靈魂,算法就是指解決問題的方法和思路,算法的思路清晰才是最主要的,所以我重點指導學生說程序算法,并及時啟發(fā)和點撥,最后簡要做總結。例如:設計工程,已知圓的半徑r,求圓面積S。我要求學生說出自己的算法,半徑怎么輸入,用什么控件輸入,圓面積如何輸出?首先是學生自述環(huán)節(jié),學生1說:“半徑用文本框輸入,圓面積從窗體輸出”;學生2說:“半徑使用輸入框從鍵盤輸入,圓面積從標簽輸出”;學生3說:“半徑從文本框1輸入,圓面積從文本框2輸出”;學生4說:“圓面積還可以從消息框輸出”等等,再讓學生討論、互述等環(huán)節(jié),使學生頭腦中的算法框架逐步完善、清晰、具體化,這樣編程問題也就能順利解決了。
(三)寫程序,提信心
對學生程序設計能力培養(yǎng)的目的是為了能夠確保學生通過一系列的學習可以獨立地完成編寫程序的任務,而這也可以說是整個教學任務中最難以完成的內容。為了提升學生獨立編寫程序的信息,第一步我挑選典型程序,給學生來閱讀理解,要求學生認真閱讀程序,然后詳細分析其算法。第二步則要求學生自己基于自身學習情況與理解能力將上述程序進行注釋,并給出程序的運行結果。綜合經驗來看,學生如果理解了該程序,則意味著其能夠獨立完成程序的編程,所以說理解程序是獨立編程的基礎性條件。第三步是通過設置程序編程填空題,要求學生根據(jù)程序要求及關鍵詞完善程序,也可讓學生討論著寫出程序中缺少的語句,要求其他學生修改。第四步是給定一些條件,讓學生根據(jù)要求去實現(xiàn)程序的功能。通過上述的培訓,大多數(shù)學生已經掌握了簡單程序的編程,此時,可以通過要求學生編寫簡單的程序來培養(yǎng)他們的信心。
“紙上得來終覺淺,絕知此事要躬行。”實踐出真知,只有親自動手、親自操作、才能真正體會到編程的樂趣。每當學生完成一個編程時成就感油然而生,我自己也能夠獲得滿足感。
二、延伸拓展教學
延伸教學是指針對一個方面的問題展開教學,引領學生基于該問題進行多層次、多角度的延伸。簡單而言就是由一個簡單的問題,引領學生思考更加復雜的問題,培養(yǎng)學生的探索精神,進而提升學生編程的思考性。
例如:填充程序的框架,輸出不同的圖形。
源程序如下:
For i =? ①
②
For j = 1 To ③
Print “*”;
Next j
Next i
最初圖形1:①處為1 To 5,②處空白,③處為I,
延伸到圖形2,對照圖形1,發(fā)現(xiàn)兩圖外循環(huán)一樣,內循環(huán)因每行的個數(shù)也一樣,唯一不同的是圖形輸出起始位置不同,所以引導學生得出結論:在源程序中②處改為Print Tab(6 - i),其他不變。
延伸到圖形3,此時學生經過前兩步的回答,自信心得到加強,有學生主動舉手回答,只用將程序中的①處改為5 To 1 Step -1,其他不變。
延伸到圖形4,學生首先想到這也是一個遞減程序,源程序中的①處同程序3中的①、②處怎么修改呢?學生又進入思考、討論狀態(tài)。最終大多數(shù)學生形成一致意見,即②處同程序2中的②、③處不變。
延伸到圖形5,提出問題:同學們是否知道如何變化?此時,大多數(shù)學生是比較茫然的,不知道怎樣處理。為培養(yǎng)學生獨立思考能力,此時我并不急于說出答案,而是引導學生:在程序1基礎上,①處不變,怎樣輸出圖形?在程序2基礎上,①、②處不變,怎樣輸出圖形?大部分學生最后將目光停留在③處,我引導學生找規(guī)律,第1行1個,第2行3個,第3行5個,……第5行9個,很快學生發(fā)現(xiàn)個數(shù)是行數(shù)的2倍少1個,這樣答案不言而喻,學生試著將③處改為2*i-1,運行程序,恰好是圖形5,這樣學生思維準確、活躍,很快編寫出5種圖形的不同程序段代碼。
通過延伸教學法,學生能夠熟練地掌握不同圖形的程序架構,并可以獨立地掌握如何利用一個源程序作出所需要的改變,進而輸出不同的圖形??梢哉f,延伸教學法對提升學生的邏輯性具有重要意義,加之教師的有意引導,學生對編程的探索心得到提升,極大地提升了學生的積極性。
三、一題多解教學
我信奉已故的北京市第二十二中學的孫維剛老師對中學數(shù)學解題的總結:一題多解,多題一解,多解歸一,萬變不離其宗。總結、反思,再總結、再反思,從方法層面提高到思想層面進行升華,學習才有興趣,也會變得“好玩”而“不累”。所以自己在程序教學中不僅利用舉一反三的方式,鼓勵學生從不同的角度對問題進行解析,并找出多種解題思路。
例如:編程求1+2+3+…+100的值。
方法一:利用For-Next循環(huán)語句。
S=0
For I=1 To 100
S=S+I
Next I
Print “S=”;S
方法二:利用Do-Loop循環(huán)語句。
S=0:I=1
Do while i<=100
S = S + I
I = I + 1
Loop
Print “S=”; S
方法三:利用While-Wend循環(huán)語句。
S = 0: I = 1
While I <= 100
S = S + I
I = I + 1
Wend
Print “S=”; S
學生上機調試運行不同的程序,卻能得出相同的結果,可見同一個題可以有多種解法,其中方法2采用舉一反三的方式還可變換出另外3種不同的結構:當型的后測試結構;直到型的前測試結構;直到型的后測試結構。學生學會觸類旁通,學會思考、質疑,進一步領會和鞏固所學知識,經過長期的培養(yǎng)使學生能夠獨立運用所學知識,獨立完成編程工作。另外,一題多解法的訓練對提升學生各類編程語句的不同用法具有積極作用。
所以在程序教學中我感到教學方法很重要,需要格外注意培養(yǎng)學生動腦思考、敢于質疑、勇于探索實踐操作、解決實際問題的能力??傊灰虒W得法,教師在完成教學目標、教學任務的同時,保證良好教學效果的前提下,可以基于學生的知識結構特點安排各種形式的教學活動。簡單而言,只要是有助于學生學習能力提升的教學方法,就表明該種方法具有較強的實用性。
參考文獻:
[1]周元哲.Visual Basic程序設計語言[M].北京:清華大學出版社,2011.
[2]丁愛萍.Visual Basic程序設計[M].北京:電子工業(yè)出版社,2015.
[3]黃洪藝.Visual Basic程序設計[M].廈門:廈門大學出版社,2018.
[4]海濱,關媛.Visual Basic程序設計教程[M].南京:南京大學出版社,2014.
[5]趙雙萍,周耿烈.Visual Basic程序設計實訓與習題指導[M].西安:西安電子科技大學出版社,2011.
編輯 陳鮮艷