教學背景
本課基于生活中的情境——垃圾分類,將生活中的場景轉(zhuǎn)移到Scratch程序中,以問題解決為線索開展本課的學習。在解釋變量的基礎(chǔ)上,引導學生建立變量,實現(xiàn)垃圾分類程序的計數(shù)功能,進而讓學生通過討論、分析和探究,建立新的變量,實現(xiàn)程序的計時功能。讓學生經(jīng)歷從認識變量到使用變量的過程,在問題解決中提升計算思維。
教學目標
知識與技能
描述變量的基本作用;區(qū)分變量名和變量值;參照本課中的案例,設計垃圾分類小程序。
過程與方法
1.通過實現(xiàn)程序的計數(shù)功能,梳理變量使用的一般步驟。2.經(jīng)歷腳本編寫、運行和糾錯的過程,嘗試使用變量解決相關(guān)問題。
情感態(tài)度與價值觀
1.認同垃圾分類的必要性,增強保護環(huán)境的責任感。2.體會程序設計的快樂,激發(fā)學習興趣,形成應用所學解決現(xiàn)實問題的意識。
教學重點與難點
教學重點 使用變量實現(xiàn)程序的計數(shù)功能。
教學難點 參照本課案例,設計完善垃圾分類小程序。
教學過程
一、觀看視頻,進入學習情境
創(chuàng)設垃圾分類情境,播放有關(guān)上海市垃圾分類的視頻,提問相關(guān)問題,并呈現(xiàn)本課主題:制作垃圾分類小程序。
二、分析問題,完善程序雛形
教師提供垃圾分類程序支架,請學生運行程序,并根據(jù)垃圾分類的規(guī)則,分析程序運行過程中,垃圾投遞正確和投遞錯誤時程序應該執(zhí)行何種行為,修改完善香蕉皮角色的腳本,初步實現(xiàn)垃圾分類程序的雛形。
三、變量計數(shù):模仿+糾錯
優(yōu)化程序,使用變量為程序添加計數(shù)功能,實時統(tǒng)計用戶的完成數(shù)量。教師通過生活實例對變量的作用、變量名和變量值進行說明,引導學生在Scratch中新建變量,學生在模仿和糾錯中實現(xiàn)程序的計數(shù)功能。最后師生共同回顧在計數(shù)功能實現(xiàn)過程中變量值的變化情況,梳理變量使用的一般步驟。
四、變量計時:分析+探究
學生在區(qū)分變量名、變量值和熟悉變量基本操作的基礎(chǔ)上,對本課的知識進行遷移和運用,進一步使用變量為程序添加計時功能。學生通過討論,分析計時功能中變量值的變化情況,根據(jù)小組設計的方案應用變量實現(xiàn)計時功能,解決問題。
五、展示交流,延伸拓展
學生運行程序,記錄小組最佳成績,并交流實現(xiàn)過程中遇到的問題,以及小組是如何解決的。最后,教師引導學生課后繼續(xù)優(yōu)化垃圾分類程序,并幫助身邊的人了解垃圾分類的知識。
案例詳解
一、Scratch中的變量
變量存放的內(nèi)容是數(shù)據(jù),是信息的載體,是計算機識別、存儲、加工的對象。由于變量的值是可變的,人們根據(jù)現(xiàn)實需要,設計算法,處理變量的值,將相關(guān)的數(shù)據(jù)保存下來。在Scratch中的變量位于“數(shù)據(jù)”模塊,在“數(shù)據(jù)”模塊下新建變量后會新增四個模塊指令(如圖1),可對變量的顯示、隱藏和變量的值進行設置。
二、程序設計
(一)需求分析
根據(jù)需求,學生操作變量為垃圾分類程序設計計數(shù)和計時功能,此處將實現(xiàn)計數(shù)功能的變量取名為“完成數(shù)量”,將實現(xiàn)計時功能的變量取名為“時間”?!巴瓿蓴?shù)量”的初始值為0,變化規(guī)則為每個垃圾投遞正確時,變量值+1;“時間”的初始值為0,變化規(guī)則為每隔1秒,變量值+1,直到游戲結(jié)束。
(二)程序?qū)崿F(xiàn)
1.垃圾分類程序雛形
舞臺中有四個垃圾箱,地面有四個垃圾角色(如圖2),根據(jù)垃圾分類的規(guī)則,每個垃圾被拖動到正確的垃圾箱時投遞成功,該垃圾角色消失,被拖動到錯誤的垃圾箱時,垃圾角色返回地面原點。以上功能主要通過“如果—那么”程序指令實現(xiàn),以香蕉皮角色為例,香蕉皮屬于濕垃圾,其程序腳本如圖3所示。
2.應用變量實現(xiàn)計數(shù)功能
新建變量,輸入名稱“完成數(shù)量”,在每個垃圾角色中添加指令,使得每個垃圾角色碰到正確的垃圾箱時,變量“完成數(shù)量”的值增加1,如圖4所示。
部分學生會在初次編程中忽略變量初值的設置,不過在測試時,當學生運行一次程序投遞完所有垃圾后,變量的值從0增加到4,但當學生再次運行程序時,“完成數(shù)量”的值仍然為4。此時學生會發(fā)現(xiàn)并關(guān)注變量初始值的問題,進而在程序開始時將“完成數(shù)量”的值設置為0。(如圖5)
3.應用變量實現(xiàn)計時功能
新建變量,輸入名稱“時間”,先將其初始值設置為0,然后讓變量等待1秒后增加1,并且重復執(zhí)行。(如圖6)
此時變量“時間”相當于一個秒表,隨著時間的增加,變量“時間”會一直增加下去。但垃圾分類小程序不需要“時間”一直增加下去,而是在所有垃圾投遞完成(完成數(shù)量=4)時停止,從而記錄用戶完成垃圾投遞的時間,以顯示其答題水平(快慢)。此時,學生需要修改圖6中的重復執(zhí)行指令。一種做法是設置重復執(zhí)行指令的結(jié)束條件,當“完成數(shù)量=4”時,結(jié)束循環(huán)(如圖7);另一種做法是在重復執(zhí)行指令中對變量“完成數(shù)量”的值進行判斷,當“完成數(shù)量=4”時,停止腳本運行(如圖8)。
(三)延伸拓展
請學生運行程序,統(tǒng)計最佳成績,引導學生思考還可以從哪些方面繼續(xù)完成作品,如:根據(jù)完成時間,為用戶評定星級(一顆星、兩顆星、三顆星等);增加更多的垃圾角色,使得垃圾分類小程序更有宣傳價值。
教學反思
本課的主題與時事結(jié)合,充分激發(fā)學生學習興趣,將德育滲透于無形。學生在垃圾分類背景知識的基礎(chǔ)上活學活用,設計完善垃圾分類程序。教學中為學生搭建支架,幫助學生快速建立程序雛形,任務設計由易到難,沿著“變量概念講解—模仿變量計數(shù)—使用變量計時”的學習主線,引導學生從模仿到創(chuàng)造,不斷解決問題。解決問題的方法是不唯一的,例如實現(xiàn)計時功能中,可以以1秒為間隔單位,也可以以0.1秒為間隔單位,學生根據(jù)自己設計的方案予以實現(xiàn)。隨著學生操作能力和思維能力的不斷提升,后續(xù)教學中可以給學生更開放的空間,讓學生從更高層次上提出方案、實現(xiàn)方案、解決問題。