馬鳳云
“算法與程序設(shè)計”是從培養(yǎng)學(xué)生的算法思維與創(chuàng)新能力入手,更適用于對高中生培養(yǎng)的模式。但與“多媒體技術(shù)與應(yīng)用”等課程相比,“算法與程序設(shè)計”課程看起來較為枯燥,這也是為什么一提起該課程的教學(xué),很多教師都感到束手無策的原因。我總結(jié)了大家困惑的問題,首先是課程定位問題,如何正確處理算法、程序設(shè)計與語言之間的關(guān)系問題;其次是課程的信心、興趣培養(yǎng)問題,這是怎樣形成以此為趣的態(tài)勢問題;再次是課程體系形成問題,是明確照搬教材還是自己重構(gòu)課程體系才能更符合高中學(xué)生的認(rèn)知規(guī)律;最后是學(xué)生評價體系的問題,即如何建立合理動態(tài)的學(xué)生學(xué)習(xí)效果評價體系。
● 課程定位問題
從高中信息技術(shù)課程標(biāo)準(zhǔn)可以看出“算法與程序設(shè)計”的重點(diǎn)是“對算法的體驗(yàn)和設(shè)計算法解決簡單問題”,即算法和程序設(shè)計是中心,語言是輔助。因此,要把算法的體驗(yàn)和設(shè)計作為“算法與程序設(shè)計”課程的重點(diǎn),避免使課程陷入程序設(shè)計語言的語法命令和方法技巧的細(xì)枝末節(jié)中。這樣既降低了學(xué)生的學(xué)習(xí)難度,同時也能使學(xué)生的“算法思維”得到進(jìn)一步的訓(xùn)練和培養(yǎng)。下面以入門第一課為例做簡單的介紹。
大部分學(xué)生對程序設(shè)計和VB語言一無所知,甚至?xí)X得程序設(shè)計枯燥難懂。因此,在上課伊始,我會首先簡要闡述學(xué)習(xí)這門課程的意義,并展示往屆學(xué)生的一些典型、有趣的作品。然后,我鼓勵學(xué)生們自主探究完成第一個VB程序:計算器。在整個過程中,教師提供輔助學(xué)習(xí)資源:導(dǎo)學(xué)案和微視頻。其中,導(dǎo)學(xué)案從啟動VB→制作界面→編寫代碼→程序調(diào)試運(yùn)行等幾個方面做了詳細(xì)介紹。關(guān)鍵代碼的編寫只給出了一個“減法”運(yùn)算,其他步驟由學(xué)生自主探究完成。微視頻則錄制了計算器界面制作的詳細(xì)過程及“減法”代碼的編寫。有了這個樣例以后,學(xué)生就知道如何編寫代碼,而且能觸類旁通地完成其他運(yùn)算符代碼的編寫,說白了就是修改運(yùn)算符的問題。當(dāng)學(xué)生看到自己制作的計算器能正常運(yùn)行時,欣喜之情溢于言表,他們覺得“算法與程序設(shè)計”原來這么有趣!通過本節(jié)課,學(xué)生認(rèn)識并編寫了程序,體驗(yàn)了可視化程序設(shè)計的完整過程,看到了程序運(yùn)行的結(jié)果。在這樣的課堂上,學(xué)生體驗(yàn)到的是有趣的思維訓(xùn)練,而不是堆積枯燥的代碼,這樣就能逐漸消除畏難情緒,并對后續(xù)的學(xué)習(xí)充滿了期待。
● 課程的信心、興趣培養(yǎng)問題
如何樹立學(xué)生對“算法與程序設(shè)計”課程的信心,并培養(yǎng)其對此課程的學(xué)習(xí)興趣?為了解決這個問題,我是從備課入手的。
1.備課第一步:精選案例,激發(fā)興趣
為了激發(fā)學(xué)生的學(xué)習(xí)興趣,經(jīng)典案例是必不可少的,經(jīng)典案例選取只靠個人可能精力有限,不可能節(jié)節(jié)出精品,需要借助集體的力量。我們教研組每周集體備課一次,每次備課選定一個主講人,負(fù)責(zé)精心選取貼近大家的生活與經(jīng)驗(yàn)、能激發(fā)學(xué)生學(xué)習(xí)興趣的案例,還要兼顧案例的典型性、連貫性、拓展性,同時每個案例要能完成每周兩節(jié)課知識點(diǎn)的學(xué)習(xí)。例如,第二周,我是主講人。本周的知識點(diǎn)為對象的屬性、事件、方法。教材上的例子是“打字測試”,這個案例枯燥、代碼復(fù)雜。學(xué)生剛剛認(rèn)識VB,找一個什么樣的例子能讓學(xué)生既掌握知識點(diǎn)又很容易入手,而且還非常感興趣呢?我想到很多學(xué)生經(jīng)常去吃各種快餐,于是決定做一個“點(diǎn)餐程序”。為了充分激發(fā)學(xué)生的學(xué)習(xí)興趣,我事先準(zhǔn)備了很多的相關(guān)素材和一個優(yōu)秀范例,教學(xué)結(jié)果顯示,這個“點(diǎn)餐程序”獲得了較好的教學(xué)效果。
2.備課第二步:分解復(fù)雜任務(wù),感受學(xué)習(xí)樂趣
我們的課堂教學(xué)主要以任務(wù)驅(qū)動、自主探究教學(xué)方法為主,將知識點(diǎn)的學(xué)習(xí)融入不同任務(wù)的需要中,學(xué)生只有需要了才會用心去學(xué)。我們以任務(wù)為核心,以解決任務(wù)的思想方法為主線,以任務(wù)解決的過程為載體,讓學(xué)生在任務(wù)驅(qū)動、自主探究的過程中學(xué)習(xí)算法與程序設(shè)計的相關(guān)知識。我們通過巧妙地設(shè)置障礙,層層遞進(jìn)地設(shè)置各類的問題,引導(dǎo)學(xué)生自主學(xué)習(xí),讓學(xué)生在不斷突破“障礙”的過程中感受成功解決問題的樂趣。下面以“對象的屬性、事件、方法”兩節(jié)課的“點(diǎn)餐程序”為例進(jìn)行說明。
第一課,首先展示本節(jié)范例,讓學(xué)生初步了解學(xué)習(xí)任務(wù)。然后根據(jù)學(xué)案自主探究設(shè)計界面。界面完成后,合作探究完成代碼的編寫,這需要考慮兩個問題:代碼寫在哪兒和怎么寫代碼?在這個環(huán)節(jié)教師先讓學(xué)生自主探究,然后,教師再次演示范例,簡單引導(dǎo):①當(dāng)單擊“確定”按鈕時,計算出總金額,代碼應(yīng)該寫在哪里呢?很明顯應(yīng)該寫在確定按鈕的單擊事件下面。②總金額怎么計算?等于單價×份數(shù)。“障礙”解除了,學(xué)生可以繼續(xù)自主探究學(xué)習(xí)。
第二課,“實(shí)現(xiàn)點(diǎn)餐時,能即時計算點(diǎn)餐總金額并顯示點(diǎn)餐信息”。課上,教師演示范例,學(xué)生仔細(xì)觀察點(diǎn)餐程序的改進(jìn)之處。本節(jié)的新知識點(diǎn)LostFocus涉及操作步驟較多,給學(xué)生學(xué)案自主探究難以完成。于是我以上節(jié)課學(xué)生的源程序?yàn)槔F(xiàn)場演示修改(修改學(xué)生自己的程序,他們非常感興趣,注意力很集中),很快就將代碼修改完成。學(xué)生明白了lostfocus事件的具體用法,后面的任務(wù)基本都能自主探究完成。本節(jié)課的教學(xué)非常順利,取得了良好的教學(xué)效果。
我在兩課時內(nèi)容之間給學(xué)生設(shè)置了“障礙”。第一課時,完成計算總金額的功能,第二節(jié)課引入lostfocus事件的學(xué)習(xí),完成即時計算總金額與顯示信息的功能。這兩節(jié)課的任務(wù)設(shè)計是循序漸進(jìn)的關(guān)系,如果一開始就把第二節(jié)課的內(nèi)容拋給學(xué)生,估計好多學(xué)生都會知難而退。
回過頭來再看該案例,知識點(diǎn)還是圍繞如何實(shí)現(xiàn)計算功能,是第一周內(nèi)容的重復(fù),但是加入了對對象的屬性、事件、方法等知識點(diǎn)的理解,對初學(xué)者來說這樣“新瓶裝舊酒”式的重復(fù),一遍一遍的訓(xùn)練強(qiáng)化,是完全有必要的。學(xué)生第二課的作品,實(shí)際上是有瑕疵的,光標(biāo)失去時即使沒有點(diǎn)餐也會顯示點(diǎn)餐信息,領(lǐng)悟較快的學(xué)生在課堂上就發(fā)現(xiàn)了這個問題,該怎么樣解決呢?這就是下節(jié)課要學(xué)的選擇結(jié)構(gòu)方面的內(nèi)容,如此環(huán)環(huán)相扣,學(xué)生對后面的學(xué)習(xí)也就充滿了期待。
● 課程體系形成問題
根據(jù)自身教學(xué)特點(diǎn)和學(xué)生們的接收知識能力,“算法與程序設(shè)計”課程可以適當(dāng)調(diào)整教材結(jié)構(gòu),對課程體系進(jìn)行優(yōu)化和重構(gòu)。例如,我在教學(xué)的過程中發(fā)現(xiàn)無論是教材內(nèi)容的選擇還是編排順序都不適合本校學(xué)生。教科版第一章內(nèi)容是體驗(yàn)計算機(jī)解決問題的過程,我認(rèn)為將其融合到第二章的程序設(shè)計中更為恰當(dāng)。程序設(shè)計的過程就是計算機(jī)解決問題的過程,學(xué)生用到了再學(xué)更容易理解。另外,課本上的案例陳舊,引不起學(xué)生的學(xué)習(xí)興趣。由此,我們對教材進(jìn)行了重新編排,構(gòu)建了自己的課程體系。經(jīng)過多年的摸索總結(jié),算法與程序設(shè)計模塊的教學(xué)嚴(yán)格按我們自己的教學(xué)進(jìn)度表授課。并且每節(jié)課都會設(shè)置學(xué)案、學(xué)習(xí)范例、視頻資源、圖片資源、參考資料等學(xué)習(xí)資源,目前已經(jīng)形成了較為完備的課程體系和部分經(jīng)典學(xué)習(xí)資源。
● 學(xué)生評價體系的問題
對學(xué)生評價的重點(diǎn)是學(xué)習(xí)效果的評價,通過當(dāng)堂作業(yè)評價學(xué)習(xí)效果。學(xué)生每節(jié)課都要將本節(jié)的任務(wù)形成作品上交。教師對作品進(jìn)行點(diǎn)評,點(diǎn)評分為部分和全部點(diǎn)評兩種。部分點(diǎn)評就只點(diǎn)評代表性作品,選擇普通的給予肯定,有亮點(diǎn)的給予表揚(yáng),有錯誤的及時解決。如果遇到優(yōu)秀的值得推廣的作業(yè),在其他班級都會給予展示,對作者無形中是一種很大的鼓勵。全部點(diǎn)評,主要是為了激勵學(xué)生,不定期的點(diǎn)評全部作業(yè)。每節(jié)課上交作品并給予點(diǎn)評,可以更好地提升學(xué)生學(xué)習(xí)的積極性,同時也是一種監(jiān)督。為了更好地表現(xiàn)自己,學(xué)生會認(rèn)真完成每節(jié)課的作品,并盡力做到最好。
總之,我們通過準(zhǔn)確的課程定位,降低了學(xué)習(xí)難度,鍛煉了學(xué)生的算法思維;通過精選案例、巧設(shè)任務(wù),引導(dǎo)學(xué)生自主學(xué)習(xí),培養(yǎng)了學(xué)生的信心,激發(fā)了學(xué)習(xí)興趣;通過重新構(gòu)建課程體系,適應(yīng)了學(xué)情,化解了學(xué)習(xí)困難;通過作品評價,激發(fā)了學(xué)生學(xué)習(xí)的積極性。這樣可以使我們的算法與程序設(shè)計的課堂教學(xué)游刃有余,學(xué)生如魚得水。在發(fā)揮學(xué)科優(yōu)勢,鍛煉學(xué)生的算法思維與創(chuàng)新能力的同時,我們又關(guān)注了學(xué)生身心的全面發(fā)展,提高了學(xué)生的自主學(xué)習(xí)能力。