張芳菲
[摘 要]文章以五年級《克隆飛機(jī)大戰(zhàn)》教學(xué)為例,以Scratch搭建平臺,結(jié)合小學(xué)生的邏輯思維發(fā)展特點、認(rèn)知特點、已有的認(rèn)知水平及生活經(jīng)驗,探討如何通過編程來設(shè)計游戲,如何在課堂教學(xué)中關(guān)注學(xué)生信息核心素養(yǎng)的培養(yǎng)、計算思維能力的提升,從而為后續(xù)Scratch編程教學(xué)及培養(yǎng)學(xué)生的編程興趣奠定基礎(chǔ)。
[關(guān)鍵詞]Scratch;計算思維;程序;克隆;核心素養(yǎng)
[中圖分類號] G43 [文獻(xiàn)標(biāo)識碼] A [文章編號] 1007-9068(2022)09-0088-03
案例:《克隆飛機(jī)大戰(zhàn)》
一、前端分析
(一)教材分析
《克隆飛機(jī)大戰(zhàn)》是蘇科版小學(xué)信息技術(shù)教材五年級上冊第12課的內(nèi)容,是學(xué)習(xí)Scratch基礎(chǔ)部分的延續(xù),旨在讓學(xué)生認(rèn)識和理解“克隆”控件,為后面獨立設(shè)計程序打下基礎(chǔ)。
教學(xué)目標(biāo):認(rèn)識與理解“克隆”控件;掌握利用“克隆”控件控制角色變化的方法;通過使用“克隆”控件,掌握多個角色相同動作的實現(xiàn)方法;通過使用“克隆”控件,感受編程的樂趣。
教學(xué)重點:認(rèn)識與理解“克隆”控件。
教學(xué)難點:掌握利用“克隆”控件控制角色變化的方法。
預(yù)計課時:1課時
(二)學(xué)情分析
在本節(jié)課教學(xué)之前,學(xué)生已經(jīng)掌握了使用條件語句、循環(huán)語句以及偵測、外觀、動作等模塊,還未涉及“克隆”控件,更不知如何使用。學(xué)生有復(fù)制角色的直覺思維,而這節(jié)課旨在提升學(xué)生的計算思維能力,即解決問題的能力,復(fù)制雖然也可以實現(xiàn)無數(shù)架飛機(jī),但是會使程序冗長,而克隆就簡化了解決問題的步驟?!胺治隹赡艿慕鉀Q方案,找到最有效的方案,并且有效結(jié)合這些步驟和資源?!边@是國際教育技術(shù)協(xié)會和計算機(jī)科學(xué)教師協(xié)會于2011年給計算思維做的可操作性的定義中提到的。
二、教學(xué)設(shè)計
(一)體驗游戲——激趣導(dǎo)入
1.教學(xué)實錄
(課前播放空戰(zhàn)短片)
師:同學(xué)們,你們玩過“飛機(jī)大戰(zhàn)”這個游戲嗎?想不想體驗一下?現(xiàn)在請打開桌面的飛機(jī)大戰(zhàn)游戲,玩一玩吧!
師:好不好玩?今天我們就來一起制作一個“飛機(jī)大戰(zhàn)”的游戲?。ò鍟?/p>
2.過程解析
激趣導(dǎo)入,讓學(xué)生對本節(jié)課的學(xué)習(xí)內(nèi)容充滿期待。課始,通過感知游戲,直接引出課題。
(二)分析游戲——了解規(guī)則
1.教學(xué)實錄
師:請思考并介紹在這個游戲中,這兩個角色分別有哪些行為事件?(多媒體出示,如下)
火炮:會開火,左右鍵控制轉(zhuǎn)向。
飛機(jī):多架,不斷下落,碰到火焰即爆炸并消失,到底部自動消失。
2.過程解析
通過問題,讓學(xué)生產(chǎn)生對游戲規(guī)則的思考,及對兩個重要角色的認(rèn)知。
(三)分析游戲——完成飛機(jī)
1.教學(xué)實錄
師:請大家打開桌面的“飛機(jī)大戰(zhàn)”文件?,F(xiàn)在只有一架飛機(jī),玩“飛機(jī)大戰(zhàn)”游戲,一架飛機(jī)夠嗎?那該怎么辦呢?
生:復(fù)制很多個角色,可以克隆……
(1)多架飛機(jī)
師:如果復(fù)制很多個飛機(jī)角色,我們的工作量會很大,程序也會變得冗長。在控制模塊里,有一個“克隆”(板書)功能,它可以讓角色實現(xiàn)分身效果,也可以極大簡化程序。(PPT出示“克隆”的定義)
師:請大家嘗試讓飛機(jī)在點擊綠旗后不斷分身為無數(shù)架飛機(jī)。
(教師巡視,演示典型問題,請學(xué)生解決)
師:為什么看不到克隆體飛機(jī)?
生:原位分身,在本體背后。
師:當(dāng)克隆體飛機(jī)產(chǎn)生的時候,它們的位置應(yīng)該是怎樣的?有什么規(guī)律嗎?
生:舞臺最高處隨機(jī)出現(xiàn)。
師:角色的位置由坐標(biāo)決定,你能用坐標(biāo)來表述如何實現(xiàn)克隆體飛機(jī)的定位嗎?
生:x:-240~240,y:180。
師:請嘗試設(shè)計克隆體飛機(jī)產(chǎn)生后的定位程序。
(教師巡視,演示典型問題,請學(xué)生解決)
(2)向下飛行
師:現(xiàn)在飛機(jī)還需要做什么?
生:不斷向下飛行。
師:結(jié)合坐標(biāo)思考,向下飛行意味著改變什么?
生:高度改變,y減小。
師:請嘗試完成飛機(jī)不斷向下飛行的程序。
(教師巡視,演示典型問題,請學(xué)生解決)
2.過程解析
回顧課前的導(dǎo)入環(huán)節(jié),查找對比目前還沒有實現(xiàn)無數(shù)架飛機(jī)效果的原因,引出對實現(xiàn)無數(shù)架飛機(jī)效果的需求。闡明“克隆”在計算思維中的重要意義,及其與直覺思維的區(qū)別,體現(xiàn)對計算思維的要求,讓學(xué)生自主探究“克隆”的用法。在試誤后,再聚焦克隆體的定位問題,符合學(xué)生的認(rèn)知特點和心理需求。課堂上及時捕捉學(xué)生的問題資源,并將其還給學(xué)生,再讓學(xué)生來解決,體現(xiàn)學(xué)生的學(xué)習(xí)主體地位。這樣通過坐標(biāo)的復(fù)習(xí)與運用,為后續(xù)幾次程序設(shè)計作鋪墊。通過知識的遷移,讓學(xué)生自主探究飛機(jī)的定位程序。這可能會涉及x范圍的縮小問題,看學(xué)生的學(xué)習(xí)情況和需求而定。坐標(biāo)問題的第二次遷移,y的改變讓學(xué)生自主探究,這是對坐標(biāo)的二次強(qiáng)化。
(四)直面bug——完善程序
1.教學(xué)實錄
師:目前,火炮和飛機(jī)各自的基本動作已經(jīng)完成,大家看看有什么問題?
生:有一架飛機(jī)不動,飛機(jī)到舞臺底部會堆積。
(1)本體滯留bug
師:知道這架不動的飛機(jī)是哪一架嗎?請大家猜一猜。
生:本體。
師:看看腳本區(qū)的程序,我們?nèi)绾翁幚硭?/p>
生:隱藏。
(教師巡視,演示典型問題,請學(xué)生解決)
師:克隆體也不見了,再看看程序,如何解決?
生:克隆體顯示。
(教師巡視,演示典型問題,請學(xué)生解決)
(2)底部堆積bug
師:我們希望克隆體飛機(jī)到達(dá)底部后消失,也就是刪除本克隆體。那么,怎么判斷到達(dá)了底部呢?嘗試結(jié)合前面提到的坐標(biāo)(y=-180時)來思考。
師:請嘗試解決底部堆積的問題。
(教師巡視,演示典型問題,請學(xué)生解決)
2.過程解析
到這一步,飛機(jī)和火炮的基本動作已經(jīng)設(shè)置完成,學(xué)生會直觀地發(fā)現(xiàn)畫面中出現(xiàn)的bug,這時及時解決,體現(xiàn)學(xué)生的學(xué)習(xí)主體地位。把問題和矛盾拋給學(xué)生,讓學(xué)生在發(fā)現(xiàn)問題、解決問題、再發(fā)現(xiàn)問題、再解決問題的過程中,提升計算思維能力。第二個bug是一個關(guān)鍵點,用這個bug教結(jié)構(gòu),因為邏輯結(jié)構(gòu)關(guān)聯(lián)且相似,到下個擊中環(huán)節(jié)就是用結(jié)構(gòu)。學(xué)生會用“隱藏”來實現(xiàn)“消失”,但很快就會發(fā)現(xiàn)游戲畫面越來越卡,并且當(dāng)克隆體超過300個就停止克隆,畫面中不再有飛機(jī)出現(xiàn)。這時及時強(qiáng)調(diào)刪除本克隆體,并介紹兩者的區(qū)別。
(五)飛機(jī)大戰(zhàn)——爆炸消失
1.教學(xué)實錄
師:如果碰到火焰紅色,飛機(jī)就會爆炸,隨后消失不見。我們曾經(jīng)用過類似的判斷嗎?(迷宮游戲)
師:誰來說一說自己的思路?(生答略)
師:請大家完成飛機(jī)擊中后炸毀的程序吧!
(游戲開始飛機(jī)就已是爆炸狀態(tài))
(教師巡視,演示典型問題,請學(xué)生解決)
2.過程解析
用結(jié)構(gòu),遷移舊知,通過游戲引發(fā)學(xué)生共鳴,再次自主探究,體現(xiàn)學(xué)生的學(xué)習(xí)主體性。如果游戲開始飛機(jī)就是炸毀狀態(tài),就順應(yīng)介紹編程的習(xí)慣,初始狀態(tài)的設(shè)定。如果暫時沒有出現(xiàn),就從青蛙過河和迷宮游戲引導(dǎo),提醒學(xué)生編程的嚴(yán)謹(jǐn)性,幫助建立良好的編程習(xí)慣,避免留bug。
(六)總結(jié)拓展——開放式延伸
1.教學(xué)實錄
師(總結(jié)延伸):今天你學(xué)會了什么程序?讓你設(shè)計一個游戲的話,可以怎么做?第一步,第二步,第三步……
師(作業(yè)設(shè)計):還有什么希望能在游戲中實現(xiàn)的?如增加boss飛機(jī)或障礙角色,并使用克隆,給游戲增加難度。
2.過程解析
這個環(huán)節(jié)旨在反思梳理,內(nèi)化知識。作業(yè)設(shè)計是擊中爆炸的延伸,既檢驗了學(xué)生對“克隆”的理解,也是對使用“克隆”的強(qiáng)化。同時,檢驗學(xué)生在游戲設(shè)計中解決問題的能力,即計算思維能力的檢驗。
三、教學(xué)反思
“克隆”本身就是一個很前沿的詞匯,它源自生物學(xué)對物種的完全復(fù)制,本體和克隆體從外表到DNA都是完全相同的。學(xué)生對于“克隆”的認(rèn)知可能僅僅是復(fù)制一個已有的角色,再粘貼出一個一模一樣的角色。然而,克隆出來的角色通過程序的編寫,也可以實現(xiàn)不一樣的狀態(tài),如從不同位置出現(xiàn)、不同的特效等。本體和克隆體的程序可以獨立編寫,并且它們都存在于同一個角色中。本體甚至可以隱藏起來,我們往往要使用的是克隆體,這也是這節(jié)課學(xué)生能感知體會到的?!翱寺 笨丶膶W(xué)習(xí),讓學(xué)生編寫復(fù)雜程序的能力進(jìn)一步得到提升,為編寫復(fù)雜程序打下良好的基礎(chǔ)。當(dāng)然,在這個過程中,“克隆”也只是對于Scratch中控件的廣度學(xué)習(xí)。為什么要學(xué)習(xí)“克隆”,而不是用復(fù)制角色的辦法,這里蘊(yùn)含著信息意識、計算思維等信息核心素養(yǎng)。優(yōu)化是學(xué)習(xí)編程,或者說解決問題的辦法的更優(yōu)選擇。提升計算思維能力,采用更合適、更優(yōu)的解決辦法,這是我們要培養(yǎng)學(xué)生的信息核心素養(yǎng)。