顏春梅
摘 要:隨著現(xiàn)代信息技術日新月異的發(fā)展,算法已經(jīng)融入到人們生活的的許多方面,并在我們的生活中扮演著及其重要的角色。本文從筆者的教學實踐出發(fā),針對這門課程的教學現(xiàn)狀,談談在教學上的幾點體會。
關鍵詞:算法;程序設計;教學
一、算法與程序設計在高中信息技術課程中的地位
隨著現(xiàn)代信息技術日新月異的發(fā)展,算法已經(jīng)融入到人們生活的的許多方面,并在我們的生活中扮演著及其重要的角色?!八惴ㄅc程序設計”是高中信息技術課程的選修模塊之一。該模塊以算法和程序設計、問題解決為主線,從實際需求(問題)出發(fā),分析問題,發(fā)現(xiàn)問題的本質(zhì),構建相應的算法,采用程序設計語言實現(xiàn)問題的解決。由此可見,學習算法與程序設計,對培養(yǎng)學生的邏輯思維能力具有重要意義,并且為學生進入大學學習計算機相關專業(yè)做了一個很好的鋪墊。
二、算法與程序設計的教學困難
算法與程序設計這門課程在2013年新課改后,才成為了廣西普通高中指定選修模塊。由于算法與程序設計這門課程本身的抽象性,使得教師在教學過程中面臨各種各種的困難??偨Y歸納起來,主要有以下幾個方面:
(一)學生信息技術水平參差不齊造成的教學困難
高中生源范圍廣,學生信息技術水平個體差異巨大。隨著教育信息化的不斷發(fā)展,信息技術課程的普及覆蓋了我國大部分地區(qū)的學校。但是也有許多鄉(xiāng)鎮(zhèn)、農(nóng)村中學在思想上并沒有改變對信息技術課程重要性的認識,并沒有認真開展教學工作。這就造成了來自鄉(xiāng)鎮(zhèn)和農(nóng)村地區(qū)的孩子信息技術水平幾乎為零,復雜和抽象的算法與程序設計,理解起來就更加困難。而另一部分來自城市的學生,他們從小接觸網(wǎng)絡,具有良好的信息素養(yǎng)。有些學生甚至在初中階段已經(jīng)初步接觸過了算法與程序設計的學習,只要稍加點撥和指導,就能進行有效的自主學習。
面對差異如此巨大的學生,對于教師來說,是一種巨大的挑戰(zhàn)。教師在選擇教學方法和教學策略時,受這一情況的制約,相對來說是比較被動的。
(二)教學條件造成的教學困難
隨著教育信息化的不斷發(fā)展和推進,大部分高中學校,都加強了計算機教室的建設,初步具備了進行信息技術教學的條件。但是后續(xù)的維護和維修很難跟上教學的進度。電子產(chǎn)品設備質(zhì)量良莠不齊,在使用過程中容易出現(xiàn)問題和損壞。而配件的維修和更換由于制度的原因,需要經(jīng)過比較繁瑣的程序,這就不能有效的保證信息技術課程的開展,因為算法與程序設計是一門注重實踐的課程,需要大量的上機練習才能有效的鞏固知識,加深學生對知識的理解。如果沒有辦法滿足一人一機的要求,勢必會對教學效果產(chǎn)生不利的影響。
另一方面,受高考壓力的影響,無論是學校還是學生,都會把更多精力投入到高考科目的學習中去。學校會在課時的安排上有所偏重,教學時間緊張,實踐課少。這些因素都給算法與程序設計這門課程的順利開展增加了難度。
(三)課程自身特點造成的教學困難
算法與程序設計這門課程本身邏輯性、抽象性、系統(tǒng)性強,教材相對枯燥乏味,與之前所學的信息技術課程相比較,有以下幾個特點:
一是新概念難于理解。算法與程序設計中引入了很多新的概念,比如控件、對象、事件、方法和屬性。這些新概念,與學生知識建構體系中的原有概念并不相符學生很難理解。
二是程序的閱讀與編寫需要一定的英語基礎。眾所周知,從小學開始,學校、家庭和社會就投入了大量的人力物力來培養(yǎng)學生的英語水平,但是卻收效甚微。大多數(shù)學生英語的讀寫聽說能力都不高。然而,程序中的控件、相應的屬性代碼以及程序語句都用到了大量的英語單詞。
三是算法與程序設計具有較強的抽象性。面向?qū)ο蟮某绦蛟O計的本質(zhì)就是抽象。抽象就是提取特征,忽略細節(jié)。那么學習算法與程序設計就需要有邏輯思考、分析、想象、設計、整合、創(chuàng)造等各種能力。盡管隨著年齡的增長,高中生的抽象思維有了很大的提高。但是他們在進行抽象概括、理論論證時,在很大程度上還依賴具體經(jīng)驗的支持。
課程本身的這些特點,造成了在教學上的困難。只有想方設法,突破這些難點,才能上好這門課。
三、有效提高算法與程序設計教學效果的途徑
在長期的教學活動中,針對這門課程的教學現(xiàn)狀,解決教學難題,我不斷的學習和實踐,在教學方法上也有一些心得體會,總結出來,與大家分享。
(一)巧用實例,激發(fā)學生的學習興趣
首先用實例,向?qū)W生揭開算法與程序設計的神秘面紗。萬事開頭難,在上第一節(jié)課的時候,我向?qū)W生展示前幾屆學生編寫的小程序,并讓學生運行一些有趣的小程序,以此來激發(fā)他們學習的興趣,打消學習的恐懼。當然,激發(fā)學生的學習興趣不是能夠一朝一夕就能完成,如果學生在后續(xù)的學習當中沒有找到興趣的支撐點,就很容易失去學習的熱情。在《初試身手,體驗編程》這一節(jié)課中,我首先運行了一個用于顯示系統(tǒng)時間的程序。當學生看到時間顯示在屏幕上,并且每秒都在變化時,非常好奇,求知欲被點燃。接下來演示和講解程序的設計過程。此時,學生剛接觸算法與程序設計,應該淡化代碼的編寫,而將重點放在程序的設計過程。這樣一來,學生就會發(fā)現(xiàn),原來學習算法與程序設計是一件簡單而有趣的事情。在教學中如果能夠選取恰當?shù)睦?,從學生的興趣和生活當中尋找切入點,往往能達到事半功倍的效果。
(二)因材施教,分層教學
學生由于家庭經(jīng)濟,知識背景以及自學能力等因素存在著個體差異性。早在兩千多年前,孔子就提出了因材施教的主張。但是現(xiàn)在學校所采用的班級授課往往又成了因材施教的制約。而分層教學能夠有效的緩解這兩者之間的矛盾。課堂教學分層就是教師在課堂教學中,顧及不同層次學生的學習要求和學習能力,開展有差異的教學活動。在進行《可視化編程的一般步驟》的教學時,我首先針對全體同學進行了一次演示和講解,學習能力較強的學生可以根據(jù)我在課前錄制的教程視頻進行實踐。對學習能力一般和較差的學生,進行第二次演示和講解,然后在他們實踐的過程中,再對一些操作仍然有困難的學生進行一對一,手把手教學。采用這樣的教學策略,不僅能夠在課堂上減輕教師的負擔,也不失為一種長善救失的手段。
(三)注重邏輯思維能力的培養(yǎng)
本門課程的教學重點應該在于對學生邏輯思維能力的培養(yǎng)。通過直接經(jīng)驗的類比,能夠幫助學生逐漸形成邏輯思維能力。比如說,在學習交換兩個變量的值的時候,學生一開始往往不能夠想到需要一個中間變量來進行交換。這個時候可以通過生活中的具體例子來引導他們。比如有一杯水和一杯飲料,怎樣才能將它們互相交換呢?學生會馬上想到,需要一個空杯子先騰出來。然后通過類比的方法,他們就能很快理解了。
四、結束語
算法與程序設計既是一門抽象性很強的課程,又是一門有趣的課程,對培養(yǎng)學生的邏輯思維能力具有重要意義。要上好這么課程,作為教師的我們要不斷學習,用深入淺出的教學方法,行之有效的教學手段來提高教學效果。
參考文獻:
[1]廣西普通高中新課程信息技術學科教學指導意見(試行)
[2]王愛艷.算法與程序設計教學之我見[J].信息技術教育,2008年02期endprint