章文
教材分析
本課是江蘇鳳凰科學技術出版社出版的小學《信息技術》五年級《克隆飛機大戰》一課的外延內容。本課主要學習任務是用“克隆”控件結合“移動”控件模擬人群活動的分布,利用“偵測”結合條件語句實現健康者碰到感染者即被感染的效果。涉及的知識點有:克隆、重復執行、變量的計算和應用、顏色偵測、條件判斷。2019年12月,湖北省武漢市陸續出現多例新型冠狀病毒感染的肺炎患者,疫情逐漸地蔓延、擴散。開學后針對此次疫情,筆者設計了相關外延內容。本課的設計意圖重在讓學生意識到計算機還可以通過建立模型,進行數據模擬,從而借助分析結果做決策。
學情分析
本課教學對象為小學五年級學生,經過可視化編程軟件基礎部分內容的學習,他們已經掌握克隆、偵測、變量、重復語句、條件判斷語句的使用規則。本節課,筆者根據學生的認知基礎,引導學生在創設的生活情境中分析實際問題,在完成任務的過程中掌握知識點,能熟練地將各模塊的指令結合應用。通過學生自主探究,建立模擬“人群活動范圍對疫情傳播的影響”的數據模型,提高學生的知識遷移能力、獨立分析問題的能力和動手實踐能力。
教學目標
知識與技能目標:運用“克隆”控件、“移動”和隨機函數,掌握實現人群隨機活動的方法;運用偵測和判斷控件,掌握實現健康者碰到感染者被感染的方法。
過程與方法目標:通過數據模擬,了解利用可視化編程軟件能建立模型。
情感態度與價值觀目標:了解可視化編程不一樣的用途,產生深入學習的興趣;通過使用可視化編程軟件解決問題,體驗計算機數據模擬的作用。
行為與創新目標:學以致用,嘗試借助可視化編程模擬問題;嘗試借助數據模擬的結果做決策,解決生活中的實際問題。
教學重難點
重點:利用“克隆”控件控制角色變化;巧用偵測實現健康者被感染者感染,結合條件判斷變量的邏輯運算。
難點:了解可視化編程能建立模型,嘗試借助數據模擬的結果做決策。
教學過程
1.創設情境,激趣導入
師:同學們,一場新型冠狀病毒的侵襲讓我們這個寒假被迫延長,居家隔離。在新冠疫情爆發期間,為什么不能出門?網上有一個視頻解釋了原因,讓我們來看一看。(播放視頻《為什么現在不能出門》,揭示本節課任務:借助可視化編程軟件幫助人們理解這個問題做決策)
我們以往使用可視化編程軟件來做動畫和游戲,今天將借助它來模擬人們活動范圍的大小對疫情傳播速度的影響(設置黑色圓點的健康者,通過“克隆”復制出一定數量的健康人群,健康人群隨機出現于舞臺上,朝任意方向按指定的活動范圍——步數進行移動。當人群中出現紅色圓點代表的感染者時,如果健康人群碰到感染者會被感染變成紅色。通過改變變量“活動范圍”的數值,可以觀察其對疫情傳播速度的影響)。
設計意圖:建模是研究系統的重要手段和前提。在此主要用于預測人群活動范圍的大小對疫情傳播速度的影響。通過創設學生身邊的情境,揭示在實際生活中人們時常會使用計算機建模,進行數據模擬,分析問題求解。通過演示可視化編程軟件制作的模型效果和提出本節課研究的問題是什么,讓學生明確接下來要借助什么工具解決什么問題。
2.分析問題,建立模型
(1)角色的分析
師:在模擬問題研究前,首先要明確這個問題中涉及哪幾個角色?
生:健康者、感染者。
師:健康者碰到感染者會怎樣呢?
生:會被感染。
師:所以,健康者有兩個造型,分別是健康狀態和感染狀態。(教師展示半成品,學生打開“學生使用”文件,如圖1所示)
任務一:克隆健康者。
師:我們可以看到舞臺上只有一個健康者,怎樣可以出現一群健康者呢?
生:克隆健康者。
師:克隆多少個呢?
生1:克隆50個。
生2:克隆200個。
生3:克隆500個。
師:克隆的健康者要能全部呈現在舞臺上,還要便于觀察疫情的傳播效果,所以為了模擬的效果更好,我們可以先試試200個健康者,如果參數不合適后面再調整。健康者本體的初始狀態是什么?一開始要出現在舞臺上嗎?克隆出的健康者在舞臺上的初始狀態又是什么?
生:健康者本體隱藏,克隆體出現。
師:是什么控制指令控制克隆體出現?
生:當作為克隆體啟動時。
學生操作完成任務一。
設計意圖:建模過程的主要活動包括確定數據及其相關過程,定義數據,定義操作過程,選擇數據存儲技術。“角色的分析”這一部分通過描述和分析本節課的問題,將抽象的現實問題轉換為計算機能理解的數據。引導學生分析情境,理清角色關系,培養學生分析問題的能力。
(2)問題的分解
師:與問題相關的角色以及角色的狀態都考慮好了,那請你們再想一想模擬這個問題分為哪幾步?
生:健康人群活動,感染者出現,感染健康者……
教師總結:健康人群隨機活動、感染者出現并傳染健康者。
設計意圖:這一部分將本節課的問題分解成兩個小問題,分解時配上不同小問題的視頻效果,更利于學生理解。理清任務順序,培養學生將大問題分解成小問題解決的能力。
(3)用程序解決
任務二:健康人群隨機活動。
分析問題:
師:健康人群一開始出現在舞臺上的什么位置?
生:在隨機的位置,X范圍在-240~240之間,Y范圍在-180~180之間。
師:健康者的活動方向是怎樣的?
生:面向隨機方向。
師:假設我們現在是居家隔離中,活動時移動的步數設置多少合適呢?
生:移動范圍較小,可以設置1步。
師:在這個任務的腳本中,什么指令是重復執行的?
生:面向隨機方向移動。
學生操作完成任務二,如下頁圖2所示。
教師巡視,解決問題,并且提示做完的學生思考右上角的視頻效果是怎么實現的。
設計意圖:教師引導學生分析,注重引導學生思考的方向和全面性。此外,右上角提供下一個任務的視頻,注重上課環節中的“多元學”,為每個學生的學習與發展提供平等的機會,關注學生的個體差異,使每個學生的學習潛能都得到發展。
任務三:感染者出現并傳染健康者。
師:此時出現了一個感染者,他是如何出現在舞臺上的?又是如何活動的?
生:隨機出現并且隨機活動,跟健康者是一樣的。
師:一樣的指令如何快速搭建?注意感染者的出現是另一個事件,觸發該事件的控制指令可以是什么?
學生回答并請學生演示。(提示:需要復制的是哪些腳本?控制感染者出現的指令是什么?健康者本體和克隆體的兩個腳本是不是都要復制?)
學生操作完成任務。
設計意圖:利用復制可以快速編寫腳本,在解決復雜問題時節省編程時間。計算機語言有其特定的規則和思維方式,復制是其便利性之一。但是算法的每一步操作,順序和內容都必須確切定義,而不得有任何歧義。在復制腳本時,教師需要引導學生明確需要復制的腳本是什么,控制其執行的指令是什么,培養學生解決問題時嚴謹、規整的邏輯思維。
師:現在感染者已經出現了,如何實現健康者碰到感染者變成感染狀態呢?
生:判斷語句、顏色偵測和切換造型。
師:是的,這也是用純色表示兩個角色的原因,便于使用顏色偵測控件。
學生操作完成任務,如圖3所示。
教師巡視,解決問題。(預設問題:在使用顏色偵測控件時,“黑色碰到紅色”和“碰到紅色”哪個更好?如果使用“碰到角色感染者”偵測,可不可以呢?)
展示學生作品,邀請學生一邊演示,一邊描述自己編寫的腳本含義。
設計意圖:引入“偵測+判斷”模擬健康者被感染的效果,利用偵測、判斷語句和切換造型完成任務。用語言表達邏輯思路,再將邏輯轉換為腳本。算法的確定性表明,算法的每一步操作,順序和內容都必須確切定義,而不得有任何歧義。在偵測中,不能使用“碰到紅色”,因為必須是黑色碰到紅色,“健康者”才會切換到“感染狀態”;同樣也不能使用“碰到角色感染者”,因為“健康者”的“感染狀態”同樣具有感染性。
(4)程序的完善
任務四:增加變量“活動范圍”。
師:當我們的活動范圍變大時,如何在程序中體現呢?
生:調整移動步數的參數。
師:從觀看者的使用角度考慮,怎么知道活動范圍是多少呢?(展示視頻)這樣是不是更清晰?如何做出這個效果呢?
生:讓活動范圍的數值顯示在舞臺上,建立變量。
師:活動范圍是一個變量,如何賦值呢?如何應用變量呢?
生:將變量的初始值設定為一個數值,直接將變量作為參數使用。
師小結:變量的設置有助于增加模擬過程中的便利性。請同學們設置成功后,修改參數,驗證程序的合理性。
學生操作完成任務四。
設計意圖:進一步完善程序,從用戶視角考慮問題,在需要時提出變量,讓學生理解變量的運用。同時,讓學生知道程序需要被驗證,在驗證中不斷完善。例如,這里增加變量“活動范圍”,一來活動范圍的大小直接顯示在舞臺上,便于使用者了解是什么活動范圍影響下的疫情傳播效果;二來每次試驗時,只需要修改活動范圍的參數即可。
3.拓展提升,繼續完善
師:模擬問題是為了幫助我們確定答案做決策,它需要盡可能精準,這樣顯示結果和事實才能最大程度接近。現在程序已經完成了,如果要讓使用者能更清晰地比較相同時間內不同活動范圍對疫情傳播的影響,我們還能如何完善呢?
生1:增加變量“健康人數”。
生2:增加變量“感染人數”。
生3:增加計時功能。
生4:增加醫療人員。
學生暢所欲言,根據自己的想法繼續完善作品。
教師展示學生作品,如圖4所示。
設計意圖:使用模型模擬問題,具備簡單快捷、經濟有效、便于操作和試驗的優點,通過修改模型中的數據,可以對“不同活動范圍對疫情傳播的影響”做出客觀分析,便于人們根據數據模擬的分析結果做出決策。同時,讓學生意識到解決問題的途徑不止一種,程序總是在不斷修改中完善的。
4.課堂總結,銜接生活
師:生活中遇到問題時,可以借助計算機模擬和預測,如人們應用蒙特·卡羅方法求解圓周率。請同學們仔細觀察N和π值的變化,可以發現一開始數據較少時,模擬的結果并不準確,但是當模擬的數據越來越多時,推測出的范圍越來越接近圓周率的標準值。今天我們將活動范圍轉換為計算機能理解的數據,初步了解到借助計算機數據模擬的分析結果能幫助人們做決策,其實這種方法已經應用到人工智能等更多的領域。
設計意圖:可視化編程的應用領域不只是游戲和動畫,通過將客觀事物轉換為計算機能理解的數據,借助其建模可以進行數據模擬,從而根據數據分析的結果做出決策。
教學反思
在本課的教學過程中,筆者設計了四個任務推進數據建模,以解決問題的一般方法貫穿全課,最終讓學生能獨立分析問題求解。筆者基于學生的原有認知和已具備的能力,設計時下熱門話題的相關活動,通過建模研究“人群活動范圍對疫情傳播的影響”,有利于激發學生對計算機語言學習和應用的興趣。學生在數據模擬的過程中,自主嘗試并且歸納出計算機語言解決問題的一般步驟:角色的分析、問題的分解、用程序解決、程序的完善。在操作中,學生通過數據模擬,了解利用可視化編程建立模型預測的方法,解決生活中的實際問題,認識到計算機語言應用的廣泛性,體驗其便利性。