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