
教學背景
為進一步落實“雙減”工作,探索課后服務新思路,我校結合實際積極開展了豐富多彩的社團和活動課程,編程社團就是其中之一。本社團以培養學生計算思維,提高學生學習電腦編程興趣為主要目的。學校從二至六年級選拔有編程基礎或對編程感興趣的學生,并根據年級分成低階編程和高階編程兩個社團。
本案例屬于低階編程的教學內容,運用圖形化編程軟件Scracth設計制作草船借箭游戲。該課時是在前面學習的基礎上,新增加了“克隆”指令,從而實現舞臺上出現成千上萬支箭的效果。
學情分析
本節課是Scracth初級課程,教學對象是本校36名來自二、三年級的學生,經過第一節課的初步調查,教師了解到36名學生中有11名是有編程基礎的,這11名學生在外或報過編程班或在一些網站上自學過類似的圖形化編程。其他學生中有幾名二年級的學生在此之前未使用過電腦。
之前的社團課學習,學生學會了制作幾個簡單的小游戲,會在Scratch中對角色的基本屬性進行編寫,控制角色做一些簡單的動作。這節課將在前面學習的基礎上,讓學生認識舞臺“坐標系”,學習“克隆”這個新的指令。對他們來說,本節課可能理解起來有一定的難度,尤其是需要達到隱藏“本體”,顯示“克隆體”的效果。
教學目標
1.知道Scratch舞臺橫坐標與縱坐標的范圍。
2.理解Scratch軟件中“克隆”的含義。
3.通過創設草船借箭的情景,掌握“克隆”這個指令的使用方法。
教學重點與難點
教學重點:理解Scracth軟件中“克隆”的含義。
教學難點:掌握“克隆”這個指令的使用方法,以及動畫互動的方式。
教學過程
環節一:故事導入
師:上節課我們講到劉備等人三顧茅廬,終于請到了諸葛亮的故事,后續諸葛亮帶他們取得了多次勝利,那同學們知道哪些關于諸葛亮的事跡呢?(學生自由討論回答)
師:空城計、七擒孟獲、草船借箭等故事都充分體現了諸葛亮的足智多謀,這節課我們就來了解一下草船借箭的故事。(教師播放有關草船借箭的視頻,請學生敘述故事發生的過程)
師:周瑜故意刁難諸葛亮,讓他在10天之內造10萬支箭。諸葛亮借了魯肅20條小船,船上裝滿稻草人,利用大霧讓曹操上當受騙,奉送上10萬支箭。那下面我們利用之前學習過的程序來協助諸葛亮借到箭。(引出課題)
環節二:編寫程序,實現萬箭齊發
1.認識坐標軸范圍
學生打開Scratch軟件,上傳本節課的初始程序。
師:箭是從對面“曹操軍隊”發射過來的,我們需要為箭設置初始位置,這時候需要先來了解一下舞臺的坐標范圍。我們將x坐標取值范圍設定為-240到240;y坐標取值范圍設定為-180到180,最大值180表示舞臺最頂端。
2.重復執行,控制箭的運動
師:箭從舞臺頂部移動到舞臺底部時,坐標發生了什么變化?
學生思考并舉手作答,教師對學生的回答做出指導和評價后,總結出“y坐標不斷減少”的規律,然后讓學生編寫實現箭從頂部不斷移動到底部的程序。學生完成任務,教師展示正確的程序樣例,如圖1所示。
教師提問:箭移動到舞臺底部時,會卡住不動,那如何處理卡在底部的箭呢?(學生思考并作答)
師:判斷箭是否到達舞臺底部,需要將箭的y坐標值和-180進行比較,如果小于-180,則表示達到了舞臺底部。
學生根據要求編寫程序,運行程序觀察最終的效果。但是學生會發現再次運行程序時,箭消失了,那如何再將箭顯示出來呢?(學生自由回答,并動手操作實踐添加“顯示”腳本)
教師講解“重復執行直到( )”命令,如圖2所示。當滿足條件時,執行循環外面的程序;不滿足條件時,執行循環里面的程序。接著,教師將重復執行和重復執行直到( )兩個命令進行對比講解。
3.克隆箭,實現萬箭齊發
師:現在可以成功地發射一支箭了,但是箭的位置卻是固定的,那我們如何讓箭從頂端的任意位置發射呢?這時需要使用運算模塊中的“在( )和( )之間取隨機數”腳本,還記得舞臺x坐標的取值范圍嗎?(學生動手操作)
要想實現“萬箭齊發”,我們需要不斷地復制箭,就像孫悟空拔一根毛可以變成若干個孫悟空一樣,在程序中我們將具有復制功能的語句稱為“克隆”,如圖3所示,同時要想讓克隆體發生變化,還需要用到“當作為克隆體啟動時”腳本,如圖4所示。學生嘗試使用克隆的指令,讓箭從舞臺上方紛紛落下。教師展示程序范例。
師:運行程序后,我們發現一段時間后就不再發射箭了,這是為什么呢?(學生思考并回答)
當我們將克隆體都隱藏在舞臺邊緣,達到最大的克隆體數量時將不再克隆,此時需要將底部的克隆體刪除,使用控制模塊中“刪除此克隆體”腳本,學生們修改程序并運行程序觀察效果,如圖5所示。
學生以小組為單位,討論如何處理箭發射速度過快的問題?小組代表給出解決方案。
教師總結:添加一個等待時間,讓克隆速度變慢。
環節三:利用方向鍵控制船只,收集發出的箭
實現萬箭齊發的效果后,教師繼續布置任務,讓學生利用方向鍵來控制船只的左右移動,達到控制船只收集箭的效果。學生根據教師給出的提示腳本,嘗試編寫程序。教師展示正確的程序示例,如圖6所示。
師:如何統計不斷變化的箭的數量?如何表示收集到了箭?
變化的數據需要借助變量存儲,可以新建一個變量,用來統計收集到的箭的數量。當箭碰到草船時,將箭的數量增加1,同時記得刪除克隆箭,如圖7所示。
學生會觀察到箭的數量確實發生了變化,但是教師要提醒他們注意如果每次不是從0開始計數的,那就需要設置一下變量的初始值。
環節四:教學總結
本節課通過對克隆案例的學習,學生們掌握了“克隆”指令的使用方法。教學過程中,教師對學生已經掌握的內容,采用讓他們自主學習的方式;對新的知識點教學,讓學生們討論、探究并嘗試解決問題,在解決問題的過程中學習新的知識,提高解決問題的能力。
教學反思
在本節課的教學過程中,教師介紹“克隆”指令之后,引導學生思考如何使用這個指令達到萬箭齊發的效果,其中會遇到什么特殊情況,如何處理這些問題。學生在這些問題和任務的指導下,一步步由淺入深地思考如何在Scracth環境中使用指令解決這些問題。
學生練習中出現的學習能力分層是教師本節課要面臨的問題,由于前面分析時間比較長,加上調試環節,可能部分學生來不及實現想要的效果,而基礎較好的學生可能早早就完成了任務,這時候教師應該再布置一些拓展提升的任務,例如游戲成功與失敗的反饋,讓快速完成任務的學生能夠進一步探究。教師還可以安排一些時間給學生分享勞動成果,分享時也要分層次進行,給基礎薄弱的學生更多的機會,讓他們體驗Scracth軟件的樂趣。
章麗
安徽省蕪湖市弋江區信息科技教師,多次指導社團人員參加全國中小學信息技術創新與實踐大賽,成績斐然,積極帶領學生參加蕪湖市信息化素養展示活動,屢次獲得優異成績。2022年被評為弋江區“教壇行星”,弋江區中小學智慧教育“種子教師”。