滕麗瑩
(敦化市實驗中學,吉林 敦化 133700)
算法與程序設計是高中信息技術課的選修課程,教材采用的程序設計語言是Visual Basic(簡稱VB)。這個模塊的理論性和知識性都比較強,學習內容比較枯燥乏味,缺乏趣味性,學生學習興趣不高。而且相比 PowerPoint、Flash、Photoshop、Authorware 等這些通過操作和設計能做出繪聲繪色的作品的軟件來說,在Visual Basic 環(huán)境下編寫程序的過程中,需要不斷地反復地調試、修改、運行程序,學生很難體會到成就感與滿足感。
愛因斯坦說過,“興趣是最好的老師”。興趣是一種無形的動力,當我們對某件事情或某項活動感興趣時,就會很投入,而且印象深刻。同樣,當學生對所學的知識產(chǎn)生興趣和熱情的時候,就會從內心迸發(fā)出向往和求知的欲望,產(chǎn)生積極的、主動的學習動機。這時,學習就不再是一種負擔,而是一種樂趣,一種享受,一種愉快的體驗,學習的效率也會大大提高。
因此,在算法與程序設計教學中,如何激發(fā)學生的興趣、調動學生的積極性,并使學生能夠通過程序設計解決實際問題,在編寫調試程序的過程中體驗成功的喜悅是值得思考與探究的,本文結合本人幾年來的教學實踐,談談我在教學中采取的一些方法。
俗話說,良好的開始是成功的一半。課堂的導入是一節(jié)課的開始,如果新課的導入新穎、恰當就會激發(fā)學生的學習熱情和激情,從而達到良好的教學效果。增強新課導入的趣味性,是激發(fā)學生學習興趣的關鍵。
教材第一章的內容理論知識多且抽象難懂,學生感覺枯燥乏味,為了激發(fā)學生的興趣,在“算法和算法的描述”這節(jié)課中,老師可以采用以游戲導入的方法, 選定“農(nóng)夫過河”這個小游戲作為切入點。雖然游戲很簡單,但學生們的熱情很高,玩過游戲之后,學生們都能用自然語言準確地描述出這個問題的算法。這個小游戲對于學生們理解算法的描述事半功倍,使學生們在玩游戲的過程中學到了新的知識,達到了很好的教學效果。
愛玩是每一個孩子的天性,學生們都對電腦游戲有著深厚的興趣,電腦游戲又都是程序設計語言開發(fā)出來的,告訴學生們只要學好程序設計語言,大家也能設計出好玩的電腦游戲,這更增強了學生們學好這門課的信心。
創(chuàng)設合適的情境、營造良好的學習氛圍,使學生融入其中,有利于激發(fā)學生的學習主動性,加深學生對知識的理解。
在講解“韓信點兵”這個經(jīng)典的程序設計問題時,老師可以在課件中插入了一段電視劇《楚漢傳奇》的視頻,內容講述的是“秦朝末年,楚漢相爭”。學生們觀看之后,對“韓信點兵”這個歷史故事產(chǎn)生了深厚的好奇心,教師可趁勢啟發(fā),“同學們知道韓信是怎么算出士兵的人數(shù)的嗎?今天我們就來當一次韓信,用程序設計語言點兵?!比缓笙驅W生講解這個問題算法與程序代碼,學生理解起來就輕而易舉了。
在教學過程中,應從教材、學生實際情況及信息技術學科的特點出發(fā),創(chuàng)設一定的問題情境,吸引學生的注意力,啟發(fā)和引導學生的思維活動,激發(fā)學生的學習動機,讓學生在具體的情境中學習算法與程序設計,提高課堂教學效率。例如在講授“For 循環(huán)語句的嵌套結構”這節(jié)課時,教師可以“破解密碼鎖”為新課的導入,問大家是否想像電影電視劇里的黑客一樣破解密碼,學生們聽到要用程序破解密碼,產(chǎn)生了極大的好奇心。這樣既吸引了學生們的注意力,激發(fā)學生們的學習興趣,又使其對學好算法與程序設計產(chǎn)生了極大的動力??梢娨粋€好的問題情境,能撥動學生的思維之弦,激活學生的求知欲,調動學生學習的積極性,使看似枯燥、抽象的知識充滿親和力和吸引力,從而使學生更加自主地參與到知識的獲取和問題的解決過程之中。
任務驅動是指在教學過程中,以具體的任務為中心,通過完成任務的過程,介紹和學習基本知識和技能,讓學生在完成具體任務的過程中,逐步接受新的知識和新的技術。
算法與程序設計是一門實踐性很強的課程,為了使學生樂于編程并學有所得,激發(fā)他們學習的自信和興趣,提高他們的學習主動性和積極性,在設置教學任務時,應改變以往硬性規(guī)定、呆板單一的做法,采取以下幾種方法:
1.任務的設置要貼近生活,有親和力
高一學生在高中以前基本上都未接觸過算法與程序設計這方面的知識,可以說學生們都是零基礎,在初學者的印象中,編程就是一些復雜難懂的程序代碼,算法與程序設計是枯燥乏味、遙不可及的。為了避免學生們產(chǎn)生畏懼的想法,在任務的設置上應選擇貼近生活的案例,使學生們產(chǎn)生親切感。
在講授“雙分支選擇結構”這節(jié)課時,教師可以現(xiàn)在網(wǎng)絡上最為流行的聊天工具QQ 的登錄界面作為例題。QQ 用戶登錄賬號時如果輸入的賬號密碼是錯誤的,程序就會提示“密碼錯誤,請重新輸入”,如果用戶輸入的賬號密碼是正確的,程序就會提示“用戶密碼正確,成功登錄”,并出現(xiàn)另一個登錄成功的窗體,這實際上是一個雙分支選擇結構。學生們看到教師用VB 設計的模擬QQ 登錄的程序很感興趣,他們不知道VB 語言還有這么強大的功能,都躍躍欲試,迫不及待地想自己親手也做一個。而且不用做過多的講解,學生們通過親自做這個例題就完全掌握了雙分支選擇結構的格式及用法了,達到了很好的教學效果??梢娺x取聯(lián)系生活實際的例題,可以使學生看到自己所學知識的用途,能夠親身去體會運用所學知識解決生活問題的樂趣,也就進一步增強了學好這門課的信心。
2.任務的設置要新穎生動,有吸引力
如果教師在課堂上恰如其分地以帶有趣味性的小程序作為任務,可以使學生積極地去思考,能夠鍛煉學生的獨立思考能力、邏輯思維能力,能夠喚起學生的學習興趣和探究熱情,會十分有效地調動學生的學習積極性和情緒。
在講授“For 循環(huán)結構”這節(jié)課時,如果教師以“畫100 個不同顏色的同心圓”為例題,學生們就可能很好奇VB 語言是怎么畫出100個不同顏色且半徑逐漸增大同一長度的同心圓的呢。在接下來講解For 循環(huán)語句的格式及執(zhí)行過程時,學生們都聚精會神地聽講,并在演示程序時都驚嘆不已。教師可以告訴學生們,VB 語言不但能畫圓形,還能畫正方形。學生們在完成任務的過程中,經(jīng)過教師的指導,進行自主探究,在不知不覺中學會了舉一反三,最終就可以出色地完成了這節(jié)課的任務,達到了很好的教學效果。
3.任務的設置要由淺入深,讓學生有成就感《算法與程序設計》這個模塊的教學目標就是通過學習,使學生能從簡單的實際問題出發(fā),親歷分析問題、設計算法、編寫程序、調試程序這個用程序設計語言解決問題的過程中,感受程序設計的魅力,增強學生學習程序設計的自信心,體驗成功的喜悅,培養(yǎng)學生分析處理問題的能力,增強邏輯思維能力,激發(fā)學生的求知欲。這就要求在每節(jié)課的任務設置時,首先選擇簡單且容易操作的案例,由淺入深,讓學生通過自己的努力,得到正確的答案,從而產(chǎn)生成就感,增強自信心。
在講授“單分支選擇結構”這節(jié)課時,教師可以用“生肖查詢”這個小程序作為課堂任務,即在軟件中輸入出生的年份就能查詢出對應的生肖,因為一共有十二個生肖,就需要有十二條If條件語句,雖然程序看上去有很多條語句組成,但其實就是對If 條件語句的反復應用,而且學生只要把第一個生肖的查詢語句編寫成功了,其它的十一個生肖的查詢就都迎刃而解了。學生們通過自己親手編寫程序代碼,并反復調試測試程序,最終查詢到了正確的生肖,體驗到興奮的情緒,從而達到了預期的教學效果。
通過完成任務,使學生感到自己智慧的力量,體驗到自己獲得知識的快感,就會大大激發(fā)學生的學習積極性和興趣,并使他們有了求知的欲望,在學習中不斷探索、進取,進而提高了自己。
在高中算法和程序設計教學中以新穎的課堂導入創(chuàng)設情境,激發(fā)學生興趣是提高教學效率的關鍵; 精心設計教學內容、設置合理的任務驅動,由淺入深,調動學生的積極性是提高教學效率的動力。教師在教學中,只有注重教學、教法的探究,才能在教學實踐中不斷提高算法和程序設計這門課程的教學效率。