摘 要:嘗試《算法與程序設(shè)計(jì)》模塊教學(xué)的學(xué)校非常少,其實(shí)在我國(guó)信息技術(shù)課程發(fā)展史中,“程序設(shè)計(jì)”一直占據(jù)著不可或缺的重要地位。算法的學(xué)習(xí)比較抽象、枯燥、難理解,很難調(diào)動(dòng)學(xué)生積極性。學(xué)習(xí)算法與程序設(shè)計(jì)就是要讓學(xué)生了解并掌握如何使用計(jì)算機(jī)解決問(wèn)題,尤其使學(xué)生進(jìn)一步體驗(yàn)算法思想,了解算法和程序設(shè)計(jì)在解決問(wèn)題過(guò)程中的地位和作用,這是學(xué)習(xí)本模塊的關(guān)鍵。從簡(jiǎn)單程序入門(mén),激發(fā)學(xué)生興趣;從學(xué)生實(shí)際生活出發(fā),巧妙解決問(wèn)題;從設(shè)置懸念中,提高課堂效率;從錯(cuò)誤中總結(jié)經(jīng)驗(yàn),教會(huì)學(xué)生自己調(diào)試程序。
關(guān)鍵詞:算法;興趣;程序
算法與程序設(shè)計(jì)是高中信息技術(shù)選修課程之一,學(xué)習(xí)算法與程序設(shè)計(jì)就是要讓學(xué)生了解并掌握如何使用計(jì)算機(jī)解決問(wèn)題,尤其使學(xué)生進(jìn)一步體驗(yàn)算法思想,了解算法和程序設(shè)計(jì)在解決問(wèn)題過(guò)程中的地位和作用,這是學(xué)習(xí)本模塊的關(guān)鍵。
那么作為計(jì)算機(jī)教師,我們?nèi)绾尾拍芙毯眠@門(mén)課呢?下面是我在教學(xué)上的一些心得和體會(huì)。
一、 從簡(jiǎn)單程序入門(mén),激發(fā)學(xué)生興趣
《算法與程序設(shè)計(jì)》選用的程序設(shè)計(jì)語(yǔ)言是VB,我就從比較有趣的VB小程序開(kāi)始,我從相關(guān)書(shū)籍上查找了一些現(xiàn)成的小例子,然后經(jīng)過(guò)改進(jìn),給同學(xué)們演示。如幸運(yùn)數(shù)小游戲,時(shí)間轉(zhuǎn)換小程序,青蛙跳井,畫(huà)同心圓等,看完這些學(xué)生是既興奮又羨慕,個(gè)個(gè)都摩拳擦掌,躍躍欲試。我找了一些簡(jiǎn)單的小程序如計(jì)算圓面積、超市打折等,讓學(xué)生自己練習(xí),增強(qiáng)了學(xué)生的自信心。
二、 從學(xué)生實(shí)際生活出發(fā),巧妙解決問(wèn)題
算法來(lái)源于生活,是解決問(wèn)題的策略和步驟的提煉,將算法融入生活,我們的課也會(huì)通俗易懂、多姿多彩。例如,在講遞歸調(diào)用時(shí),我由“從前有座山,山里有個(gè)廟,廟里有個(gè)老和尚給小和尚講故事,講什么呢?從前有座山,山里有個(gè)廟……”這個(gè)故事開(kāi)始。相信這個(gè)故事我們都不陌生,這個(gè)故事有什么特點(diǎn)呢?就是故事里面又包含了故事本身,也就是說(shuō)自己調(diào)用了自己,這與算法中的遞歸思想不謀而合。通過(guò)這個(gè)故事學(xué)生就很容易理解了遞歸的特點(diǎn)。
在學(xué)習(xí)多分支選擇結(jié)構(gòu)語(yǔ)句時(shí),我沒(méi)有采用書(shū)上宇宙飛船的例子,而是采用了根據(jù)時(shí)間計(jì)算星座的例子。中學(xué)生都比較熱衷于星座,對(duì)此比較有興趣,我編寫(xiě)了一個(gè)小程序,只要輸入自己的生日就可以查出自己所屬的星座。通過(guò)這類小程序,學(xué)生對(duì)算法不再懼怕,知道了算法并不是學(xué)會(huì)了一點(diǎn)用也沒(méi)有,原來(lái)還可以解決好多實(shí)際問(wèn)題的。
三、 從設(shè)置懸念中,提高課堂效率
“學(xué)貴知疑,小疑則小進(jìn),大疑則大進(jìn)”,學(xué)生的積極思維,往往是從疑問(wèn)開(kāi)始的,疑問(wèn)是撥動(dòng)學(xué)生思維的琴弦,有了疑問(wèn),才會(huì)進(jìn)一步思考、探索,激起求知欲。教師若能根據(jù)這一心理特征,以問(wèn)題引路,故布疑陣,創(chuàng)設(shè)矛盾,設(shè)置懸念,則會(huì)強(qiáng)烈地激發(fā)學(xué)生探求問(wèn)題奧妙的積極性,誘導(dǎo)學(xué)生由疑到思,由思到知。比如在教FOR循環(huán)語(yǔ)句時(shí),我把Print Tab(10-i)后面的分號(hào)漏掉不寫(xiě),雖然程序能夠運(yùn)行,但花形卻不對(duì)。我故意一臉茫然的樣子,讓學(xué)生幫忙分析原因。
*
***
*****
*******
*********
***********
Private Sub Command1_Click()
Dim i As Integer定義i為整型變量
Dim j As Integer定義j為整型變量
For i = 1 To7 Step 1
Print Tab(10-i);
For j = 1 To 2*i-1 Step 1
Print “*”;
Next j
Next i
End Sub
這就激起了學(xué)生的疑惑,引發(fā)了學(xué)生的思考。發(fā)現(xiàn)問(wèn)題的學(xué)生就像哥倫布發(fā)現(xiàn)新大陸一樣的興奮,原來(lái)是漏掉了一個(gè)小分號(hào)導(dǎo)致的。我又把分號(hào)變成逗號(hào),花形又不一樣。我隨機(jī)引出Tab(n)函數(shù)及分號(hào)的作用。經(jīng)過(guò)這一次的陷阱,學(xué)生對(duì)此處知識(shí)記憶牢固,再犯同樣錯(cuò)誤的幾率大大縮小了。
這樣通過(guò)設(shè)疑激疑,引導(dǎo)學(xué)生將程序完善,最終解疑,不僅可以激發(fā)學(xué)生的學(xué)習(xí)熱情,調(diào)動(dòng)他們的學(xué)習(xí)積極性,其解決問(wèn)題后的成就感也會(huì)油然而生。
四、 從錯(cuò)誤中總結(jié)經(jīng)驗(yàn),教會(huì)學(xué)生自己調(diào)試程序
學(xué)過(guò)、鉆研過(guò)程序設(shè)計(jì)的人都有同樣的感受,很多情況下,調(diào)試程序的過(guò)程會(huì)比程序編寫(xiě)的過(guò)程更為困難,更加費(fèi)時(shí)。任何人都不敢說(shuō),他編的程序是百分之百正確的,哪怕是比較有經(jīng)驗(yàn)的程序員。幾乎每一個(gè)稍微復(fù)雜一點(diǎn)的程序都必須經(jīng)過(guò)反復(fù)的調(diào)試、修改,最終才完成。所以說(shuō),程序的調(diào)試是編程中的一項(xiàng)重要技術(shù)。很多老師都深有體會(huì),學(xué)生編寫(xiě)程序只能是紙上談兵,一上機(jī)運(yùn)行就錯(cuò)誤百出,自己又不會(huì)查錯(cuò),一節(jié)課下來(lái),老師是馬不停蹄的修改學(xué)生程序,同時(shí)這也打擊了學(xué)生學(xué)習(xí)算法的積極性。
我教給學(xué)生調(diào)試程序的步驟為先手寫(xiě),再自查。在上機(jī)房之前我已經(jīng)布置好任務(wù),學(xué)生可以先把程序?qū)懞?,先在紙上檢查一遍,自己真的檢查不出什么錯(cuò)誤,可以讓同學(xué)幫忙再檢查一遍。這樣就可以把一些基本的書(shū)寫(xiě)錯(cuò)誤扼殺在上機(jī)之前。例如標(biāo)點(diǎn)符號(hào)錯(cuò)誤或者漏掉標(biāo)點(diǎn)。其次是上機(jī)調(diào)試,上機(jī)調(diào)試的過(guò)程中還要檢查自己輸入的是否和書(shū)上或自己寫(xiě)的一致。在這個(gè)過(guò)程中學(xué)生更容易發(fā)現(xiàn)一些語(yǔ)法錯(cuò)誤,例如關(guān)鍵詞與變量名之間沒(méi)有空格;語(yǔ)句不完整,IF沒(méi)有END IF,F(xiàn)OR沒(méi)有NEXT;對(duì)象名或?qū)傩圆徽_等。再次看運(yùn)行結(jié)果,如果結(jié)果正確,證明調(diào)試成功。如果不對(duì),再仔細(xì)檢查比對(duì),設(shè)置斷點(diǎn),逐語(yǔ)句跟蹤程序,監(jiān)視變量值等。也可進(jìn)行組內(nèi)討論,真解決不了,再來(lái)請(qǐng)教老師。每次上完課我都會(huì)專門(mén)記下學(xué)生容易犯的錯(cuò)誤,以便在以后上課時(shí)進(jìn)行總結(jié)。
通過(guò)以上訓(xùn)練學(xué)生不但能自己調(diào)試程序,同時(shí)也幫助了他們理解程序,尤其是到循環(huán)結(jié)構(gòu)以后,這種作用就更明顯了,而且這種能力完全可以遷移到今后的學(xué)習(xí)和生活中去。
“世上吳難事,只怕有心人”,只要教師用心去教,學(xué)生用心來(lái)學(xué),算法并不難。新課程對(duì)教師也提出了新的要求,我們也要不斷學(xué)習(xí),吸納新知識(shí),不斷更新自己的知識(shí),成為一個(gè)能夠適應(yīng)現(xiàn)在社會(huì)發(fā)展的教師。還要不斷的反思,提高自己的教學(xué)水平。
參考文獻(xiàn):
[1]普通高中信息技術(shù)課程標(biāo)準(zhǔn)(實(shí)驗(yàn))[S].人民教育出版社,2003.
[2]中小學(xué)信息技術(shù)課程指導(dǎo)綱要(試行)[S].
[3]算法與程序設(shè)計(jì)教師教學(xué)用書(shū)[M].教育科學(xué)出版社,2005.
作者簡(jiǎn)介:
王新珍,江蘇省徐州市,江蘇省徐州市豐縣順河中學(xué)。endprint