【摘要】《算法與程序設(shè)計(jì)》是普通高中信息技術(shù)課的選修模塊,是高中信息技術(shù)課教學(xué)的重點(diǎn)和難點(diǎn)之一,也是訓(xùn)練學(xué)生的邏輯思維能力的一門重要的計(jì)算機(jī)課程。學(xué)生們掌握該門課程對(duì)進(jìn)入大學(xué)學(xué)習(xí)程序設(shè)計(jì)具有重要意義。本文作者從教學(xué)方法方面談了在《算法與程序設(shè)計(jì)》教學(xué)中的一些經(jīng)驗(yàn)和體會(huì)。
【關(guān)鍵詞】算法程序設(shè)計(jì)教學(xué)方法
【中圖分類號(hào)】G632【文獻(xiàn)標(biāo)識(shí)碼】A【文章編號(hào)】1674-4810(2012)11-0155-01
《算法和程序設(shè)計(jì)》在教學(xué)中一直存在“難教”和“難學(xué)”的問(wèn)題,因?yàn)槌绦蛟O(shè)計(jì)本身比較抽象、枯燥和邏輯思維性強(qiáng)。學(xué)生普遍認(rèn)為程序設(shè)計(jì)充滿著神秘感,高深莫測(cè)、遙不可及,對(duì)程序設(shè)計(jì)存在畏懼心理。因此,教師一方面應(yīng)培養(yǎng)學(xué)生對(duì)學(xué)習(xí)《算法與程序設(shè)計(jì)》的信心,激發(fā)學(xué)生對(duì)該課程的學(xué)習(xí)興趣,使學(xué)生從難學(xué)到樂(lè)于學(xué)的轉(zhuǎn)變;另一方面,教師應(yīng)該從教學(xué)的方法入手,引入新的教學(xué)方法,把抽象、枯燥的程序設(shè)計(jì)講得簡(jiǎn)單易懂。在算法與程序設(shè)計(jì)中,在總結(jié)前人的教學(xué)經(jīng)驗(yàn)和結(jié)合學(xué)生們的實(shí)際學(xué)習(xí)情況的基礎(chǔ)之上,本文對(duì)幾種不同的教學(xué)方法進(jìn)行了探討和實(shí)際應(yīng)用,并且分析了不同的教學(xué)方法所適用的學(xué)生群體。
一 游戲教學(xué)法
游戲教學(xué)法是指學(xué)生們通過(guò)做游戲,了解完成游戲的步驟,以此來(lái)設(shè)計(jì)程序算法,達(dá)到訓(xùn)練的目的。
益智游戲有很多種,其中,學(xué)生們樂(lè)于玩并且易懂游戲也數(shù)不勝數(shù),如《農(nóng)夫過(guò)河》。游戲規(guī)則:農(nóng)夫要把狼、羊和青菜帶過(guò)河去,但是每次只能攜帶一個(gè)物品,為了保證不讓狼吃掉羊、羊吃掉青菜,請(qǐng)問(wèn)如何過(guò)河?
學(xué)生們?cè)谕妗掇r(nóng)夫過(guò)河》時(shí),有的學(xué)生很容易想到辦法;而有的學(xué)生則想到了其他的辦法,如把狼綁起來(lái)等;另外一些學(xué)生則沒(méi)有辦法。老師通過(guò)請(qǐng)一位順利過(guò)關(guān)的同學(xué)演示過(guò)河的步驟,然后引出算法的概念。這種教學(xué)方法課堂氛圍較活躍,不枯燥,讓學(xué)生們感覺(jué)《算法與程序設(shè)計(jì)》就像玩游戲一樣簡(jiǎn)單,學(xué)生們樂(lè)于參與其中,并且對(duì)其感興趣。同時(shí)讓學(xué)生們感覺(jué)算法可能不止一種。這不失為一種很好的教學(xué)方法。對(duì)《算法與程序設(shè)計(jì)》課程感到恐懼的學(xué)生尤為奏效。在實(shí)際教學(xué)經(jīng)驗(yàn)中,也取得了較好的課堂效果。
二 比喻教學(xué)法
比喻是語(yǔ)言藝術(shù)中的藝術(shù),在《算法與程序設(shè)計(jì)》的教學(xué)中,巧用比喻,妙用比喻,是一種行之有效的并且易懂的教學(xué)方法。例如在講解交換變量的值時(shí)運(yùn)用比喻法,可以把抽象枯燥的程序具體化和形象化,有利于學(xué)生對(duì)該部分知識(shí)點(diǎn)的理解和掌握。例如,a籠子里有老虎,b籠子里有獅子,現(xiàn)在要把老虎和獅子交換一下。根據(jù)日常生活中的經(jīng)驗(yàn),學(xué)生很自然想到需要借助于第三個(gè)籠子c。交換步驟如下:將a籠子的老虎放到c籠子去(c←a);將b籠子的獅子放到a籠子里(a←b);最后將c籠子的老虎放到b籠子中(b←c),此時(shí)完成籠子里老虎和獅子的交換。在此基礎(chǔ)上,學(xué)生很容易就編寫出程序來(lái)交換兩個(gè)變量a和b中的數(shù)據(jù)。這種方法對(duì)學(xué)生群體都適用,不失為一種把復(fù)雜問(wèn)題簡(jiǎn)單化的一種方法。
三 “半成品加工”教學(xué)法
“半成品加工”是指為學(xué)生提供一些“待完成的教學(xué)模具作品”,提供一種真實(shí)的問(wèn)題解決環(huán)境,是一種基于“問(wèn)題解決”的教學(xué)方法。這種教學(xué)方法避免學(xué)生從頭開(kāi)始制作的繁瑣過(guò)程,對(duì)基礎(chǔ)有差異的學(xué)生都進(jìn)行了很好的回避,讓教學(xué)更具針對(duì)性,通過(guò)完成作品的方式讓學(xué)生體驗(yàn)到了學(xué)習(xí)的成功,感受到學(xué)習(xí)的快樂(lè),從而有效地提高教學(xué)效率。
例如在《用解析法解決問(wèn)題》中,繪制鉆石圖案的關(guān)鍵是求出圓周上各點(diǎn)的位置(坐標(biāo)),繪制各點(diǎn)之間的線段。如何求出各點(diǎn)的位置呢?我們把繪制鉆石圖案這個(gè)問(wèn)題轉(zhuǎn)化為數(shù)學(xué)問(wèn)題,首先建立坐標(biāo)系,坐標(biāo)原點(diǎn)位于圖形的中心點(diǎn)上。在圓上平均取n個(gè)點(diǎn),將圓平分為n份。學(xué)生利用數(shù)學(xué)的知識(shí),能夠?qū)懗龈鼽c(diǎn)的坐標(biāo)。在此基礎(chǔ)上,向?qū)W生展示算法的偽代碼,提供給學(xué)生半成品的程序文件(代碼是不完整的),要求學(xué)生填空補(bǔ)全程序代碼,調(diào)試程序,完成鉆石圖案的繪制,此處就是運(yùn)用了“半成品加工”教學(xué)法。這種教學(xué)方法旨在避免學(xué)生基礎(chǔ)的差異,提供“半成品”,在實(shí)際運(yùn)用中,這種教學(xué)方法具有普適性,對(duì)全體學(xué)生都有較好的效果。
四 問(wèn)題式教學(xué)法
問(wèn)題式教學(xué)法是一種現(xiàn)代啟發(fā)式的教學(xué)方法,是教師根據(jù)學(xué)生已有的認(rèn)知水平,提出相關(guān)的問(wèn)題,引導(dǎo)學(xué)生獨(dú)立思考、大膽嘗試、學(xué)會(huì)質(zhì)疑、學(xué)會(huì)探究的一種教學(xué)方法。
在《用解析法解決問(wèn)題》教學(xué)中,教師通過(guò)精心設(shè)計(jì)的若干問(wèn)題,逐步啟發(fā)、步步深入、環(huán)環(huán)扣緊,引導(dǎo)學(xué)生質(zhì)疑教材中繪制鉆石圖案的偽代碼,學(xué)生意識(shí)到了程序中出現(xiàn)的冗余循環(huán),并且能夠修改程序的冗余代碼,提高算法的效率。
提問(wèn)1:鉆石圖案是由多少條線段組成的?學(xué)生很自然的根據(jù)已有的數(shù)學(xué)知識(shí)回答:14+13+12+……1=(1+14)×14/2=105條。
提問(wèn)2:當(dāng)i=1,j=2時(shí),所畫線段和當(dāng)i=2,j=1時(shí)所畫線段是什么關(guān)系?學(xué)生回答:是同一條線段。
提問(wèn)3:在循環(huán)嵌套中,Line語(yǔ)句實(shí)際上被執(zhí)行多少次?說(shuō)明什么問(wèn)題等?
讓學(xué)生自己獨(dú)立思考。類似的提問(wèn),直到學(xué)生們能自己把程序修改正確為止。
提問(wèn)式教學(xué)方法通過(guò)引導(dǎo)學(xué)生,讓學(xué)生們自己獨(dú)立思考,對(duì)有基礎(chǔ)的學(xué)生尤其重要,他們的理論基礎(chǔ)較好,可以很容易的解決問(wèn)題,提高教學(xué)的成績(jī)。
參考文獻(xiàn)
[1]李藝.信息技術(shù)教學(xué)研究與案例[M].北京:高等教育出版社,2006
[2]王愛(ài)艷.算法與程序設(shè)計(jì)教學(xué)之我見(jiàn)[J].信息技術(shù)教育,2008(2)
〔責(zé)任編輯:李繼孔〕