呂書敏
程序設(shè)計教學長期以來一直是高中信息技術(shù)課教學的重點和難點之一。如何找到一條比較實效的教學方式,使學生通過學習既掌握高級編程語言的知識,又能靈活運用高級語言進行程序設(shè)計,一直是廣大信息技術(shù)教師頗感興趣的課題。本文結(jié)合實例和具體的課堂教學,就如何提高程序計課程的教學質(zhì)量、培養(yǎng)和提高學生分析問題、解決問題的能力和創(chuàng)新能力等方面,談了一些在教學上的經(jīng)驗和體會。
目前程序設(shè)計教學中存在的普遍問題
根據(jù)筆者以前的程序教學經(jīng)驗和通過與學生、同行之間的交流,得知部分學生反映上課時都能聽懂講解,可在涉及到具體的編程及上機操作時,往往會出現(xiàn)沒有思路、無從下手或錯誤百出、不會調(diào)試程序等各種情況。究其原因,在教學方面可能存在以下兩個問題:
1、教材重語法,輕算法
現(xiàn)在的教材通常先給出一般的語法格式,然后逐步講解語法要點,再給出例子。教師鐘情于舉一反三地對使用語句、語法的深入教學,而不是有機地結(jié)合算法思想進行教學。貼近生活并引起學生興趣的編程題講得很少。這往往導(dǎo)致學生上機時不知道寫程序的步驟而無從下手。2、學生厭學,師生溝通少學生對于先講后編、先聽后編這一傳統(tǒng)的課堂教學方式有厭倦心理。同時由于高中信息技術(shù)課的課時少(據(jù)筆者了解一般學校都是兩節(jié)課,而且這兩節(jié)課間隔時間又長),平時課后作業(yè)又很少,師生之間缺乏足夠的交流和溝通,學生沒有有效、實用的學習輔助途徑,也間接影響著學生的學習興趣和學習效果。
在教學中所采取的實踐嘗試
那么,如何就針對現(xiàn)階段程序設(shè)計教學中存在的普遍問題有效開展高中程序設(shè)計課呢?筆者做了以下幾點嘗試:
1、由易到難,逐步深入上好程序設(shè)計的理論課
學習程序設(shè)計的目的就是要培養(yǎng)中學生的結(jié)構(gòu)化程序設(shè)計的邏輯思維,而這種邏輯思維又主要是通過對順序、條件、循環(huán)三種結(jié)構(gòu)化語句和過程、子程序及自定義函數(shù)的學習來獲得的。要讓學生學好上述三個語句,首先要理解各語句的結(jié)構(gòu)、功能和框圖的繪制,然后是多舉例,同時舉例也要由易到難。比如學習條件語句,這時可先舉數(shù)學中的一些數(shù)值判斷的例子,例如有這樣一個關(guān)系式:當X≥0時,y≥0;否則當X<0時,y<0。通過這個例子來教學生認識條件判斷語句的結(jié)構(gòu)、書寫規(guī)則,了解其功能和如何畫流程圖。在讓學生循序漸進學編程時,老師應(yīng)多采用程序填空、補充完整的方式誘導(dǎo)學生進入編程的角色。同時對于編程要用到的很多函數(shù)及其他語句,就可以在講程序設(shè)計時,結(jié)合例子碰到一個講解一個,使學生活學活用,解除學生學習的攔路虎,減輕學生學習的心理壓力。
2、合理把握技術(shù)難度,加強思想方法感悟
技術(shù)難度的把握是程序設(shè)計教學中容易產(chǎn)生困惑的地方,難度過高,大部分學生無法掌握;難度過低,天賦好的學生感覺學不到知識。面向所有學生,要找到一個平衡點,須遵循奧卡姆剃刀原理:即根據(jù)絕大多數(shù)學生的接受能力,在“課標”的基本要求之上,剔除教材中那些不必要的所謂“技巧”,傳達具有廣泛遷移意義的技術(shù)思想與技術(shù)方法。課堂中可以通過講解、觀察、范例模仿、組裝現(xiàn)成模塊等手段降低技術(shù)難度,使其逐步掌握程序設(shè)計的基礎(chǔ)知識,感悟程序設(shè)計的一般流程;對于天賦好、興趣濃的學生,教師可以通過課外引導(dǎo)而不是講授的方法促使其逐步加大技術(shù)難度,探索更廣泛的應(yīng)用領(lǐng)域。
3、改革上機操作的實踐環(huán)節(jié),重視上機調(diào)試
學生編寫的程序,往往含有比較多的邏輯錯誤。對于其中比較典型的錯誤,老師可以挑選出來,引導(dǎo)學生一起糾正。但是如果對所有的錯誤老師都要一一糾正,不僅占用太多時間而且很不必要。老師可以要求學生將編寫的程序輸入到計算機,進行上機調(diào)試。對于語法上的錯誤,老師可以幫助解決。對于邏輯上的錯誤,如得到了不正確的結(jié)果,應(yīng)該讓學生獨立分析、修正、改進程序。以VB為例,教師可以教會學生如何設(shè)置觀察變量和程序單步執(zhí)行。這樣學生通過觀察程序執(zhí)行到每一步時各個變量值的變化,分析出產(chǎn)生錯誤的原因。上機調(diào)試,不僅是學習程序設(shè)計的必要技能,也是學生修正自己錯誤思維的過程。教師在上機實踐的環(huán)節(jié)中只是起引導(dǎo)、輔導(dǎo)的作用。通過改革了的上機實踐可以鞏固和提高前面的知識,不斷地用所學的知識去逐步完善這些程序,并將編程的技能技巧滲透其中。
4、組織課外興趣小組活動,培養(yǎng)學生的特長
在高中階段,每周只有兩節(jié)信息技術(shù)課,由于課時的限制,不可能講得很深。為了滿足對信息技術(shù)課有興趣的同學的學習,需要組織課外興趣活動小組,開展第二課堂活動。例如,可以開展程序封面和程序菜單的設(shè)計比賽、學校運動會運動比賽項目安排等程序設(shè)計比賽。而通過搞比賽,老師也就能輔導(dǎo)這些學生學習書本外的知識或深入講解課本相關(guān)知識,從而提高這些學生的程序設(shè)計水平。同時又培養(yǎng)出了一部分信息技術(shù)課的學習尖子,讓這些學生在上機課中或平時學習中幫助其他同學,達到教學效果的普遍提高。
程序設(shè)計是計算機這一現(xiàn)代工具為基礎(chǔ)教育帶來的一種培養(yǎng)邏輯思維能力的新方法和新手段。高中程序設(shè)計教學的主要目標是圍繞著這個目標,遵循程序設(shè)計教學的基本規(guī)律和基本原則組織教學,一切可行的教學方法都可以在我們的教學過程中加以運用。