一 現狀分析
八年級信息技術選修教材中安排了程序設計及算法的相關內容,其教學目標包括:認識VB基本程序結構及語句的格式,體驗利用VB解決一些實際問題,經歷分析問題、編寫程序、調試程序的過程,進而初步掌握程序設計的基本理念,為高中階段的進一步學習做好準備工作。通過幾年的教學實踐,教師們普遍感覺在教學中遇到了困難,教學效果不理想。從客觀分析,學生以往學習內容重操作,如畫圖、文檔編輯、網頁設計等,如今,從形象的模仿性設計轉變到邏輯構思為主的程序設計,在知識結構上是一個大跨越;從能力要求來看,程序設計對學生的抽象思維、邏輯思維的要求較高,而初中生邏輯思維的發展尚處于起步階段,理解能力有限;從主觀上看,則需要教師轉變觀念,努力挖掘和嘗試更有效的教學策略,注重課堂教學的實效性,才能扭轉目前教學中的不利局面。
二 具體策略
1.低起點,讓學生收獲自信
俗話說:良好的開端是成功的一半。開始幾節課是關鍵,低起點,甚至零起點的案例實踐有利于學生增強自信心,激發學習動力。程序設計第一課,我避開了抽象的算法介紹,而是給學生出示了一個最簡單的加法程序,此程序只包含兩個控件:文本框和標簽,代碼則僅有一行,在簡單的演示和講解后,我讓學生來嘗試完成,在我的指導和幫助下,所有學生都完成了任務。隨后,在我的簡單提示下,學生又學會了如何把加法程序改為減法程序。下課時,我從學生充滿喜悅的臉上,感受到了一種收獲知識的充實感和對下一節課的期待。從一開始就抓住了學生渴求知識的心,意味著教師的教學邁出了成功的第一步。
2.由淺入深、由易到難,尊重學生的認知規律
由淺入深、由易到難,這是人們正確認知事物、探索知識的一般規律,教師在展開教學時,應有梯度地分解知識點、細化任務。淺顯的內容使基礎較差的學生也能吃得進、消得了,實現知識獲取的“共同富裕”;難一點的內容,鞭策學生往上跳一跳,通過自身的努力也能摘得知識的果實,滿足了更高層次的知識追求。實踐中,我有兩個基本策略來實現由淺入深的教學,一個是在原有案例的基礎上,通過案例的演變和難度的加深,來調動學生積極思考,實現知識、技能的有效鞏固和有序拓展;另一個是通過需求分析、問題拓展引出新知識,實現新、舊知識的無痕遞進。例如,在學習“if語句”的時候,為了讓學生掌握基本“if語句”的語法規則,我引導學生設計一個簡單的密碼檢測程序,若用戶通過文本框輸入的密碼正確,則提示“密碼正確”;若輸入的密碼不符,則提示“密碼錯誤”,通過分析,程序有兩個分支,可以用if語句來實現,待同學完成任務后,我提出更復雜的任務:“猜數字游戲”,用戶輸入的數和系統事先設定的數有三種關系:大于給定數、等于給定數和小于給定數,此問題涉及三分支,而簡單if語句卻只能解決兩個分支的問題,以此激發學生進一步學習新知識的動機,并順利引出“if語句嵌套”的新概念。通過案例的演進,激發學生的學習需求,從而使新知識的引出顯得更自然,實踐證明,這是一種為學生樂意接受的課堂教學推進手段。
3.循序誘導,讓教師成為學生探究知識的領路人、幫扶者
程序設計是一種抽象的邏輯思維,很多學生會存在理解上的困難,因此,教師在教學設計上,要善于分解難點,對于枯燥、艱澀的知識點,能用通俗、形象的語言來講解,幫助學生盡快理解。如在講解對象、屬性及屬性值關系時,我通過舉例來說明,以王×為例,我們可以把這個人理解為VB中的一個對象,他的身高、體重可看做是該對象所具有的兩個屬性,而165厘米、53公斤等數據可看做是這兩個屬性的屬性值,通過類比,讓學生迅速理解相關概念;再如,在設計登錄框時,我出示一個例子,例子里包含了按鈕、文本框和標簽,然后用設問的形式引導學生思考:“為什么要有文本框?”學生回答:“有了文本框用戶才能輸入密碼,”我又問:“那按鈕的作用呢?”學生回答:“按鈕的存在是為了讓用戶確認輸入信息”;接著,用同樣的方法引出標簽是為了給出一些提示信息。以學生為主體,教師作為學生學習的幫扶者,以設問的形式引導學生思考,協助他們找到解決問題的有效方法,這也是一種常見的教學策略。
4.趣味案例活躍課堂氣氛,激發學生的學習積極性
“Education must be fun.”意為“教育必須是有趣的”。這也道出了青少年好奇、好玩、好學的普遍心理特征。在程序設計教學中更要從學生的興趣入手,選擇一些有趣、有現實意義的程序,激發學生的學習興趣。在程序設計第一課上,我就演示了一些自己編寫的有趣的小程序來吸引學生,并告訴他們學習了程序設計后,大家也能編出有趣的小程序,激發學生我要學會用VB編寫程序的動機。挑選案例的時候,我還注重挖掘適合學生年齡特點和貼近學生生活的實例,如在界面設計的課程中,我給學生布置了模仿QQ登錄界面的設計任務,學生普遍興趣高漲,在講解隨機數函數的時候,我給學生演示了電話抽獎的小程序,學生發覺看似很高深的功能,實現起來也很簡單。實踐證明,趣味性的教學案例能極大地激發學生的學習興趣,從而提高課堂效率。
5.巧用“半成品”,支撐高效課堂
半成品加工教學策略的核心是為學生提供一些待完成的教學模具作品。在“半成品”加工成“成品”的過程中開展教與學,從而體現出技術點的功能與意義。這種策略能讓學生在短時間內體會到信息需求的內涵和技術操作的要點,提高課堂講授、概念理解和實踐練習的效率,優化了學習情境與訓練環境。在VB程序設計的教學中,幾乎所有的程序案例都涉及界面和代碼兩大部分,在程序代碼的教學環節中,我把已經設計好的界面半成品文件傳給學生,為學生省去了整體設計、從開始制作的環節,從而直奔主題,進入本課新學知識的練習,進行代碼編寫;甚至,有時我不僅把界面設計好,還為學生編寫好部分代碼,空下關鍵行的程序讓學生來填寫,避免學生受到其他方面的干擾,使得練習和考查的指向性更明確,課堂教學效率也有了大大的提高。
6.重實踐,在調試中找問題、促提高
程序設計是一門實踐性很強的課程,如果只注重理論知識的學習,而不注重上機實踐,是不可能真正學好程序設計的,在課堂上教師不僅要和學生講透語法、歸納算法,更要通過具體的任務讓學生去實踐,學生需分析問題、設計算法、構思界面,整個過程很好地鍛煉了學生分析和解決問題的能力。特別是在代碼調試階段,有時語法正確,但運行結果卻和預期不符,很可能是設計思路有偏差,有時程序的基本思路正確,但由于語法錯誤,也無法得出正確的調試結果。所以在調試階段,有時需要學生重新梳理思路,來糾正設計上的偏差,有時需要學生仔細地閱讀語法規則,找出語法上的漏洞,通過反復的思路梳理和語法糾錯,有利于學生更牢固地掌握知識,進一步提高學生利用所學知識來解決實際問題的能力。
在中學數理化的教學中,教師為了讓學生養成嚴謹的求學態度,從口頭表述到動筆解題,都對學生有嚴格要求,盡管如此,在標點符號等書寫規范上還是有一定的彈性空間,教師在閱卷的時候,也不會太嚴格;而程序代碼編寫則不然,大到語法結構,小到標點符號,哪怕是一點點的錯誤,程序調試就會通不過。程序調試模塊只認規則,不講感情,是真正的“鐵面無私”,這種零差錯的高標準、嚴要求,對學生很有益處,可以幫助他們養成嚴謹、一絲不茍的學習習慣,讓學生終身受益。
三 結束語
總之,程序設計是信息技術學習中非常重要的部分,對提高學生解決問題的能力,發展學生的思維能力、創新能力都有很重要的意義。教師在教學中遇到困難時,不應有畏難情緒,不應把責任推到學生或教材上,而應多找自身原因,從實際出發分析問題、尋找對策。實踐中,我通過上述幾種方法的運用,發覺學生的學習興趣有了極大的提高,積極思考、積極發言的學生越來越多,課堂不再枯燥無味。“教學有法,但無定法,貴在得法”,讓我們一起努力,讓程序設計課堂變得生動有趣,真正成為學生的學習樂園。
參考文獻
[1]葉志堅.《算法與程序設計》模塊教學體系的構建[J].信息技術教育,2006(2)
[2]宗世哲.VB程序設計教學方法淺析[M].北京:人民教育出版社,2006
〔責任編輯:高照〕