摘 要:Scratch是一款積木式的兒童編程軟件,學(xué)生可以把自己的所思所想以作品的形式進(jìn)行呈現(xiàn)。在創(chuàng)作的過程中他們也會(huì)遇到各種問題和困難,通過創(chuàng)角色表、問題分解、策略變換、遷移應(yīng)用、善于查錯(cuò)等解決問題的策略指導(dǎo),讓他們體會(huì)到學(xué)習(xí)的樂趣,提高解決問題的能力。
關(guān)鍵詞:Scratch;小學(xué)生;解決問題;策略
Scratch是一款面向少年兒童的可視化編程軟件,通過積木組合的形式讓兒童創(chuàng)造出個(gè)性化的故事、動(dòng)畫、游戲、音樂、藝術(shù)。小學(xué)信息技術(shù)課堂教學(xué)引入Scratch,給學(xué)生的想象力和創(chuàng)新思維提供了施展的舞臺(tái),讓創(chuàng)作變得如此輕松和快樂。在創(chuàng)作過程中遇到的各種問題,通過教師進(jìn)行有效地解決策略指導(dǎo),使學(xué)生獲得創(chuàng)造性思考、邏輯推理和協(xié)調(diào)工作的機(jī)會(huì)以及利用算法思維方式去解決實(shí)際問題的能力。
一、 創(chuàng)角色表——理清關(guān)系,描述指令
一個(gè)完整的Scratch作品,必定包含著多個(gè)角色,它們都有自己所要實(shí)現(xiàn)的功能,并且存在著相互間的各種聯(lián)系。利用角色分析表,幫助學(xué)生清楚直觀地描述角色,理解它們間的相互關(guān)系。以創(chuàng)作《天亮了》動(dòng)畫為例,先讓學(xué)生觀察范例,了解動(dòng)畫的基本內(nèi)容:太陽(yáng)從左下角慢慢升到了天空,草地漸漸清晰起來(lái),母雞媽媽領(lǐng)著一群小雞來(lái)覓食啦。在此基礎(chǔ)上指導(dǎo)學(xué)生完成角色分析表:
學(xué)生剛接觸角色分析表時(shí)可以使用填空的方式,如上述表格中的動(dòng)作描述填空,旨在幫助學(xué)生理解每個(gè)角色出現(xiàn)的時(shí)機(jī),相應(yīng)的動(dòng)作等要素。再逐步指導(dǎo)學(xué)生自己獨(dú)立完成相應(yīng)作品中的角色分析。
二、 問題分解——化整為零,各個(gè)擊破
小學(xué)生在Scratch作品的開發(fā)過程中,最大的障礙不在于技術(shù)儲(chǔ)備的不足,而在于不能正確分析和分解問題,沒法將一個(gè)看似復(fù)雜的未知問題分解成已知的,簡(jiǎn)單的問題。造成學(xué)生學(xué)習(xí)自信心下降,作品完成度不盡如人意。教師要幫助學(xué)生學(xué)會(huì)把作品進(jìn)行合理的分解,把復(fù)雜的、籠統(tǒng)的問題拆解成一個(gè)個(gè)小的、可執(zhí)行開展的問題,找到合適的切入口,通過擊破一個(gè)個(gè)“點(diǎn)”來(lái)完成最終的“面”。在設(shè)計(jì)“吃豆人”游戲時(shí),通過角色分析表的幫助,學(xué)生理清了豆子、吃豆人、怪物、迷宮等角色間的關(guān)系,這時(shí)就著重引導(dǎo)學(xué)生對(duì)每個(gè)角色所要實(shí)現(xiàn)的功能逐一分解解決。如在實(shí)現(xiàn)“吃豆人”角色的功能時(shí),先解決如何實(shí)現(xiàn)“上下左右移動(dòng)”,再解決“遇到墻壁怎么辦?”、如何吃掉豆子?遇到怪物如何處理等問題。
再比如:用Scratch繪制如下圖形時(shí),指導(dǎo)學(xué)生觀察出基本圖形是正方形,逐步實(shí)現(xiàn)一個(gè)正方形、橫向一排、向上疊加的繪制方法,最終實(shí)現(xiàn)效果圖的繪制。
把問題逐步分解的策略,在學(xué)生的學(xué)習(xí)和生活中應(yīng)用廣泛,通過這種能力的培養(yǎng)可以幫助他們解決許多看似復(fù)雜的問題,從而更好地適應(yīng)社會(huì)和生活。
三、 變換思路——改變想法,優(yōu)化腳本
在解決相似問題的過程中,學(xué)生往往容易造成一定的思維定勢(shì),會(huì)形成公式化地解決方法。一旦問題稍有變化,會(huì)出現(xiàn)用習(xí)慣性的方法行不通的情況。如在設(shè)計(jì)小鳥邊飛邊說話的作品中,學(xué)生習(xí)慣思維是把說話指令放在小鳥角色里,但這樣會(huì)出現(xiàn)小鳥飛行不流暢,畫面出現(xiàn)閃爍現(xiàn)象,通過反復(fù)修改腳本仍無(wú)法達(dá)到滿意的效果。通過分析發(fā)現(xiàn)這是因?yàn)樵煨颓袚Q的過程中,不同造型的中心位置發(fā)生了改變,沒辦法統(tǒng)一中心位置。這時(shí)就要幫助學(xué)生嘗試變換思路,另辟蹊徑:新建一個(gè)新角色,可以是一個(gè)小點(diǎn),把它放置在小鳥角色身邊,不要讓人發(fā)現(xiàn)它,讓這個(gè)小點(diǎn)角色來(lái)說話,這樣我們看到的效果就如同小鳥在說,并且也不會(huì)再閃爍了。
同一個(gè)作品,因?yàn)槊咳说乃悸凡煌磫栴}的角度不同,解決問題的方法也截然不同。在此情況下,引導(dǎo)學(xué)生對(duì)作品、腳本的對(duì)比,優(yōu)化解決問題的思路,并能根據(jù)不同的應(yīng)用場(chǎng)景選擇相對(duì)優(yōu)化的方法來(lái)解決。如:在作品的創(chuàng)作中學(xué)生經(jīng)常會(huì)涉及如何控制角色的運(yùn)動(dòng)的問題,用鍵盤方式可以使用“事件”中的“當(dāng)按下…鍵”,也可以使用“偵測(cè)”中的“按鍵…是否按下?”。用鼠標(biāo)方式可以使用“移動(dòng)鼠標(biāo)指針”或是“面向鼠標(biāo)指針\\移動(dòng)..步”等指令。采用的方式不同,相應(yīng)的腳本程序也不一樣,效果也有所不同。這就需要指導(dǎo)學(xué)生根據(jù)作品的要求來(lái)選擇合理的解決方法,使腳本更優(yōu)化,作品效果更好。
四、 遷移應(yīng)用——舉一反三,融會(huì)貫通
孔子說過:“舉一隅,不以三隅反,則不復(fù)也?!边w移是學(xué)生掌握學(xué)習(xí)方法的最優(yōu)途徑之一。培養(yǎng)學(xué)生遷移能力,是實(shí)現(xiàn)“教”且為了最終“不教”的關(guān)鍵,是提高學(xué)生解決問題能力的有效途徑。教師要幫助學(xué)生整理同一類問題的基本解決方法,并把它們遷移到新作品的創(chuàng)作中。如:學(xué)生解決了畫樓梯的問題,可以嘗試改變基本形狀、改變疊放方法等,創(chuàng)作出不同的圖形。
掌握了使角色能夠隨機(jī)位置出現(xiàn)的方法,就可以應(yīng)用到“接紅包”“打飛機(jī)”等作品中,使角色出現(xiàn)的位置不固定,增強(qiáng)了作品的可玩性。同時(shí)也要引導(dǎo)學(xué)生善于把其他學(xué)科知識(shí)遷移到Scatch作品中。如:要用腳本程序來(lái)解決“雞兔同籠”問題,就可以借鑒數(shù)學(xué)學(xué)科中“解決問題的策略”的相關(guān)方法。
五、 善于查錯(cuò)——正視錯(cuò)誤,積極改進(jìn)
Scratch本質(zhì)是一種編程語(yǔ)言,在用它來(lái)創(chuàng)作時(shí)難免會(huì)出現(xiàn)各種各樣的錯(cuò)誤(bug)。許多學(xué)生在遇到錯(cuò)誤時(shí)不善于按照一定的流程或方法去檢查問題,經(jīng)常會(huì)發(fā)生草草了事和輕易放棄創(chuàng)作的情況,使得作品達(dá)不到預(yù)期的效果。在實(shí)際教學(xué)過程中,師生可以一起收集和整理常見錯(cuò)誤,形成幫助手冊(cè),創(chuàng)作中遇到問題時(shí)嘗試先從常見錯(cuò)誤中尋找答案。如:使用“如果……”指令時(shí),不把它嵌套在“重復(fù)執(zhí)行”腳本里經(jīng)常會(huì)得不到所設(shè)想的效果,而這恰恰又是初學(xué)者最容易犯的錯(cuò)誤。還要教給學(xué)生一些查錯(cuò)的技巧,對(duì)于一些隱藏很深,一時(shí)無(wú)法查找的問題,使用“說……2秒”積木是一個(gè)不錯(cuò)的方法。把它嵌入到懷疑的腳本處,通過觀察相應(yīng)的數(shù)據(jù),可以較快地判斷出程序的執(zhí)行情況。
作者簡(jiǎn)介:
王惠強(qiáng),江蘇省太倉(cāng)市,江蘇省太倉(cāng)市金倉(cāng)湖小學(xué)。