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