張芳菲


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