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