朱彩蘭
《自相矛盾(二)》《高塔比一比》兩個案例都與程序設(shè)計有關(guān),雖然具體內(nèi)容不同(分別為廣播、比較數(shù)的大?。?,軟件也不同(分別為編程貓、Scratch),但卻體現(xiàn)出一些共性,這些共性是根據(jù)兒童的認(rèn)知特征來進(jìn)行設(shè)計的,后文逐一分析。
案例分析
1.《自相矛盾(二)》案例分析
該案例的幾個關(guān)鍵點(diǎn)提煉如下。
第一,互動游戲設(shè)計。在熱身學(xué)習(xí)環(huán)節(jié),先讓學(xué)生觀看微視頻了解廣播的具體內(nèi)涵以及使用方法。學(xué)生看過廣播的功能介紹之后,只是有了初步的認(rèn)知,未必能真正理解。教師精心設(shè)計了小游戲,引導(dǎo)學(xué)生在游戲的過程中掌握規(guī)則,從而理解廣播的功能。游戲中借助不同的暗號設(shè)計幫助學(xué)生體會或認(rèn)識:一個角色可以給多個角色發(fā)送不同的廣播,一個角色可以給不同的角色發(fā)送相同的廣播,可以給同一個角色發(fā)送不同的廣播,促進(jìn)學(xué)生更為全面、深入地認(rèn)識廣播。在游戲活動中,參與游戲的學(xué)生在接受廣播并做出相應(yīng)的反饋中,獲得了直接的經(jīng)驗,根據(jù)戴爾的經(jīng)驗之塔,這屬于“做的經(jīng)驗”。未參與游戲的學(xué)生通過觀察游戲活動理解廣播,獲得的是“觀察的經(jīng)驗”。在這些經(jīng)驗基礎(chǔ)上,后續(xù)環(huán)節(jié)借助自己編寫程序完成廣播功能,促進(jìn)“做的經(jīng)驗”或“觀察的經(jīng)驗”向“抽象的經(jīng)驗”轉(zhuǎn)化,實現(xiàn)對廣播的真正理解、內(nèi)化認(rèn)識。
第二,任務(wù)漸進(jìn)性安排。三個任務(wù)逐步放手,學(xué)生的探索空間逐漸增多,體現(xiàn)“由扶到放”的過程。在任務(wù)一中,教師帶領(lǐng)學(xué)生完成思路梳理后,讓學(xué)生在上節(jié)課程序的基礎(chǔ)上添加“廣播”和“圍觀”的功能,而且指令積木直接提供給學(xué)生,學(xué)生只需要將指令積木放到合適的位置就行。這種方式,一方面避免了學(xué)生尋找積木浪費(fèi)時間,降低了任務(wù)的難度;另一方面,利用半成品,促進(jìn)學(xué)生將精力集中于對發(fā)送廣播、接受廣播模塊的理解與相應(yīng)的操作,突出重點(diǎn)。任務(wù)一的操作要求是“先在組長電腦完成書生圍觀的積木搭建,再回各自電腦完成書生和小女孩圍觀”,操作安排上先集體完成,再分頭獨(dú)立完成。集體完成時,學(xué)生可以互相討論形成正確的認(rèn)識,從而降低了難度。有了任務(wù)一的鋪墊與基礎(chǔ),任務(wù)二改變要求,“先在各自電腦完成,組長完成后檢查小組完成情況”,即放手讓學(xué)生獨(dú)立完成,且是指定的任務(wù)。通過組長的檢查可以及時發(fā)現(xiàn)問題,確保學(xué)生真正理解并能在計算機(jī)上獨(dú)立實現(xiàn)。任務(wù)三的要求是先在各自電腦完成再進(jìn)行組內(nèi)展示,同樣是學(xué)生獨(dú)立完成,但任務(wù)性質(zhì)發(fā)生了變化,具有一定的開放性,且組內(nèi)展示時可以相互借鑒。從任務(wù)一到任務(wù)三,盡管探索程度不同,但整個過程都是學(xué)生探索,沒有教師的直接告知,借助半成品、小組合作等多種方式促進(jìn)學(xué)生探索的成功。
第三,尊重成語寓意。任務(wù)三“天馬行空”要求在不改變成語寓意的基礎(chǔ)上,“充實故事情節(jié),添加創(chuàng)意”。這一要求與知識與技能無關(guān),更多的是涉及情感態(tài)度與價值觀。因為創(chuàng)意環(huán)節(jié)如果只關(guān)注好笑、好玩,甚至惡搞,便失去了教育本來的意義。實際上,“課程思政”大環(huán)境下,類似素材教學(xué)都需要關(guān)注此類問題。增加這樣有意識的提醒,學(xué)生在作品設(shè)計中便能加入自己的貼近現(xiàn)實的思考。聽課中發(fā)現(xiàn),有一位學(xué)生的作品是,書生質(zhì)疑之后,便與女孩揚(yáng)長而去,不等待賣家回答,說明根本不相信。也有作品增加了書生的表達(dá),“呵呵”一聲,用以表示對賣家的嘲笑。還有的作品最后增加了成語的寓意,并且借助隱藏功能實現(xiàn)了場景的變換??梢?,這樣有一定限制性的作品,可以引導(dǎo)學(xué)生對成語的理解,并利用技術(shù)來表達(dá)自己的理解,實現(xiàn)技術(shù)學(xué)習(xí)與成語教育的雙重目標(biāo)。
第四,評價多元。評價環(huán)節(jié)雖然僅有四個問題,但分別涉及編程技能、動畫設(shè)計、成語故事寓意、小組合作,學(xué)生可以選擇其中之一來談本節(jié)課的收獲,四個維度的提供潛移默化地對學(xué)生形成了影響,發(fā)揮了評價的引導(dǎo)作用。
2.《高塔比一比》案例分析
該案例的特點(diǎn)主要體現(xiàn)在以下兩個方面。
第一,借助動畫完成流程圖。這一點(diǎn)體現(xiàn)在任務(wù)二中,學(xué)生不知道如何比較兩組數(shù)據(jù)的大小,教師引導(dǎo)學(xué)生借助流程圖來梳理編程思路。但學(xué)生畫流程圖顯然難度較大,因此教師提供了半成品流程圖框架,學(xué)生只需補(bǔ)充剩下的三個部分即可。只有三部分空白看似簡單,但實際上隱含著對比較結(jié)果的處理。如果學(xué)生能夠根據(jù)兩座高塔比較的結(jié)果準(zhǔn)確設(shè)定最高塔,說明學(xué)生真正理解了思路。因此,此處半成品策略幫助學(xué)生將精力集中在理解上,為后續(xù)程序?qū)崿F(xiàn)奠定認(rèn)識基礎(chǔ)。
第二,借助對比促進(jìn)學(xué)生探究。這一點(diǎn)體現(xiàn)在任務(wù)三即“師生交流梳理編程思路,明確需要經(jīng)過兩次數(shù)據(jù)的大小比較,方能得出結(jié)果”中。案例中只給出了簡單的描述及靜態(tài)的圖示,在實際教學(xué)中,這里是借助自定義動畫逐步呈現(xiàn)內(nèi)容,從而循序漸進(jìn)地引導(dǎo)學(xué)生形成認(rèn)識,這也是本課難點(diǎn)突破的重要環(huán)節(jié)。第一步,第一、第二座塔比較得到最高塔之后,呈現(xiàn)最高塔與第三座塔的比較再次得到最高塔。這樣,通過兩個數(shù)大小比較與三個數(shù)大小比較的對比,幫助學(xué)生理解基本思路,明確思路的相似性,促進(jìn)思路遷移。第二步,呈現(xiàn)第一、第二座塔比較的具體指令模塊,幫助學(xué)生在思路與實現(xiàn)指令之間建立直觀的聯(lián)系。這里也可以看作是對比,即思路與指令的對比,其目的是建立聯(lián)系并為第三座塔加入比較奠定指令應(yīng)用的基礎(chǔ)。第三步,呈現(xiàn)第三座塔與已有最高塔比較的指令。這里再次采用了半成品策略,提供了結(jié)構(gòu)框架及部分指令,學(xué)生只需要完成一條指令即可。要完成這一步,學(xué)生可以根據(jù)思路,同時參照第一、第二座塔比較的具體指令模塊,因此難度被有效降低。這一步實際上也利用了對比,即第三座塔與已有最高塔比較的思路與具體指令的對比,考查學(xué)生將思路轉(zhuǎn)化為程序的能力。此外,還有第一、第二座塔比較的程序與第三座塔與最高塔比較的程序的對比,考查學(xué)生的遷移能力。在這兩種對比的雙重加持之下,難點(diǎn)得以有效突破。整體來看,任務(wù)三通過思路對比、思路與程序?qū)Ρ取⒊绦蚺c程序?qū)Ρ扔行崿F(xiàn)了教學(xué)目標(biāo)。
案例共性解讀
盡管兩個案例在教學(xué)內(nèi)容上有差異,但兩者在許多方面都有共性,例如,教師定位于指導(dǎo)者與引導(dǎo)者充分發(fā)揮學(xué)生的主體地位,又如,通過拓展促進(jìn)學(xué)生認(rèn)識加深。此處想要探討的是,兩個案例在編程思路的引導(dǎo)上具有共性。一般來說,編程的基本步驟為分析問題、設(shè)計算法、編寫程序、運(yùn)行調(diào)試,而設(shè)計算法環(huán)節(jié)往往又會借助流程圖來實現(xiàn)。但對于小學(xué)生來說,嚴(yán)格按照這種標(biāo)準(zhǔn)流程,多數(shù)情況下學(xué)生難以理解。因此,兩個案例不約而同地采用了一些輔助的方式促進(jìn)學(xué)生對思路的理解?!蹲韵嗝埽ǘ肥峭ㄟ^梳理成語故事的過程幫助學(xué)生了解思路,即用成語故事流程代替程序流程圖。在編寫程序環(huán)節(jié),則是通過給定指令積木的方式凸顯重點(diǎn)?!陡咚纫槐取穭t是讓學(xué)生在動畫中拖動完成半成品的流程圖,雖然使用了流程圖,但由于只是補(bǔ)充,所以難度降低。在編寫程序環(huán)節(jié),則是通過多種方式的對比,促進(jìn)學(xué)生理解并將所學(xué)遷移,從而突破難點(diǎn)。兩個案例采取策略的選擇是尊重小學(xué)生認(rèn)知結(jié)構(gòu)的結(jié)果,值得借鑒。
還有更多的小學(xué)程序設(shè)計案例圍繞流程圖做了某些變換,以促進(jìn)學(xué)生理解。例如,《足智多謀的小海龜》案例中也采用了流程圖,且是學(xué)生完成。但教師事先將流程圖打印出來并打散成卡片,讓學(xué)生分組來給卡片排隊組成完整的流程圖,在此過程中了解算法。顯然,學(xué)生重新組合流程圖比自己來畫難度要低許多,也有利于將精力集中在對思路的理解上。
還有些案例是通過其他方式促進(jìn)學(xué)生對編程思路的理解。例如,《機(jī)器人方陣——聲控機(jī)器人》案例中,教師先引導(dǎo)學(xué)生了解實現(xiàn)機(jī)器人方陣需要經(jīng)歷的環(huán)節(jié),即設(shè)計意圖—流程圖—程序編寫—演示,然后通過分析聲控的工作原理引出流程圖,這里的流程圖是教師提供的,繼而通過流程圖與程序的對比,促進(jìn)學(xué)生對思路的把握。值得一提的是,在這個案例中,多次運(yùn)用到對比,包括流程圖與聲控?zé)舫绦驅(qū)Ρ取⒙暱責(zé)舫绦蚺c聲控機(jī)器人行走程序?qū)Ρ?、聲控機(jī)器人唱歌程序塊位置的對比,在對比中促進(jìn)學(xué)生理解、遷移所學(xué)。又如,《聞雞起舞》(青島富源路小學(xué)趙虹)案例中,教學(xué)根據(jù)分析問題、設(shè)計算法、編寫程序、運(yùn)行調(diào)試的步驟展開,但在設(shè)計算法部分,將任務(wù)做了分解,分解到角色、背景等的相關(guān)變化,再引導(dǎo)學(xué)生逐步完成。采取任務(wù)分解的方式也是為了降低難度。
高中的編程教學(xué)中有時候也會做些變換,例如,《算法的表達(dá)——畫程》(南京一中張鈺)案例中是借助畫程軟件實現(xiàn)算法的表達(dá),要求學(xué)生在畫程中畫出流程圖。與在紙上畫出流程圖不同,畫程中有相應(yīng)的要求,需要符合軟件及編程規(guī)則。符合規(guī)則的流程圖,可以直接編譯,即畫程中的流程圖,實際上介于我們慣常認(rèn)識的流程圖與程序之間。這樣,學(xué)生畫流程圖的過程,既是梳理思路,同時還是完成部分程序的過程。