算法與程序設計是高中信息技術選修課程之一,學習算法與程序設計就是要讓學生了解并掌握如何使用計算機解決問題,尤其使學生進一步體驗算法思想,了解算法和程序設計在解決問題過程中的地位和作用,這是學習本模塊的關鍵。
那么作為計算機教師,我們怎樣才能上好這門課?下面是我在教學上得一些心得和體會。
一、游戲導入,激發學生興趣
“興趣是最好的老師”。學生有興趣時,注意力高度集中,思維異常活躍,求知欲異常激烈,能夠發揮出潛在的學習積極性、主動性和自覺性。它在學生的學習中具有重要的作用,而算法是一門枯燥的學科,學生感興趣與否關鍵看教學方法的選擇。《算法與程序設計》選用的程序設計語言是VB,我就從比較有趣的VB程序開始,我從網絡上查找了一些現成的小實例,然后經過改進,給同學們演示。如猜數小游戲,出題小程序,貪吃蛇,小球碰撞等,看完這些學生是既興奮羨慕,個個都摩拳擦掌,然后我找了一些小程序如計算圓面積。以激發學生的學習興趣。
二、聯系生活,巧妙解決問題
算法來源于生活,是解決問題的策略和步驟的提煉,將算法融入生活,我們的課也會通俗易懂多姿多彩。排序算法是《算法與程序設計》中較難理解的一種算法,如果純粹地以數字為例進行介紹,給予學生的印象不會太深刻,而且會顯得過于抽象,不通俗易懂。所以針對這一現象,我們可以充分利用學生對排隊這一活動的熟悉程度來引出排序算法,加深學生對排序算法的直觀印象,促進學生對排序算法的理解。具體可以這樣操作,在提出排序算法之前,教師可在班級內隨機抽取10名高矮不一的學生隨機站立,并在這十名學生背后依次貼上10、9、8、7、6、5、4、3、2、1這十個數(高的同學對應大的數,矮的同學對應小的數),然后請這十位學生演示以不同的方法從矮到高的排隊過程,教師可在一旁指導學生先按照冒泡排序的方法進行排隊演示,并記錄他們演示過程中的每一次移動。
通過這樣的演示活動,學生對排序算法就會產生相對直觀的認識,也不會對排序算法望而生畏,對排序算法的理解也將更加清晰明了。還有一些如超市購物打折,郵局寄包裹等,都是與我們得生活密不可分的問題。
三、設置疑問,活躍課堂氣氛
學起于思,思起于疑。學生的積極思維,往往是從疑問開始的,有了疑問,才會進一步思考、探索,激起求知欲。教師若能根據這一心理特征,以問題引路,故布疑陣,創設矛盾,設置懸念,則會強烈地激發學生探求問題奧妙的積極性,誘導學生由疑到思,由思到知。比如在教FOR循環語句時,我把j的終始值寫成了一個自然數,雖然程序能夠運行,但花形卻不對。
'@
'@@
'@@@
'@@@@
'@@@@@
'@@@@@@
Private Sub Command1_Click()
Dim i As Integer '定義i為整型變量
Dim j As Integer '定義j為整型變量
For i = 1 To 6 Step 1
For j = 1 To i Step 1
Print "@";
Next j
Next i
End Sub
這就激起了學生的疑惑,引發了學生的思考。我隨機引出外循環控制行數,內循環控制每一行的個數,經過仔細推敲,學生發現每一行的個數與所在行保持一致,j的終始值應該為i。
這樣通過設疑激疑,引導學生將程序完善,最終解疑,不僅可以激發學生的學習熱情,調動他們的學習積極性,其解決問題后的成就感也會油然而生。
四、授之以漁,教會學生自己調試
一個程序如何順利的 “脫產”,調試的過程是非常重要的。學過、鉆研過程序設計的人都有同樣的感受,很多情況下,調試程序的過程會比程序編寫的過程更為困難。任何一個天才都不敢說,他編的程序是100%正確的。幾乎每一個稍微復雜一點的程序都必須經過反復的調試、修改,最終才完成。所以說,程序的調試是編程中的一項重要技術。很多老師都深有體會,學生編寫程序只能是紙上談兵,一上機運行就錯誤百出,自己又不會查錯,一節課下來,老師是馬不停蹄的修改學生程序,同時這也打擊了學生學習算法的積極性。
實際上對于剛剛接觸程序的學生來說,犯的錯誤具有共性,主要是標點符號錯誤,“:”與“;”分不清楚或者漏掉標點;關鍵詞與變量名之間沒有空格;語句不完整,IF沒有END IF,FOR沒有NEXT;對象名或屬性不正確等。只要學生稍微掌握一些調試、運行程序的方法就能大大提高程序運行得效率。因此,每次上機課后我都會在自己的備課本上記錄學生出現得問題,以便在以后上課時進行總結。我把學生分組,遇到問題組內先討論,真解決不了,再來請教老師。
當然通過以上方法多半只能發現語法錯誤,對邏輯錯誤則無能為力,因而在學生能初步檢查語法錯誤后,就教他們調試程序技巧,設置斷點,逐語句跟蹤程序,監視變量值等。通過以上訓練學生不但能自己調試程序,同時也幫助了他們理解程序,尤其是到循環結構以后,這種作用就更明顯了,而且這種能力完全可以遷移到今后的學習和生活中去。
以上是我對該課程十幾年來的教學心得,隨著機器人大賽的火熱,算法與程序教學再次成為熱點。算法存在著很大的探索空間,我想教師不應該只是教學者,更應該成為研究者和學習者,要加強教學反思,才能提高自己的教學水平。
(作者單位:江蘇省徐州市豐縣順河中學)