課程背景
隨著時代的快速發(fā)展,信息技術正深刻地影響著社會變革。編程已經成為學生適應數字社會的一種技能,提高信息素養(yǎng)也是將“數字土著”培養(yǎng)成為合格的“數字公民”的一種途徑。
本案例以小程機器人為硬件載體,以mBlock5為軟件支撐,采用軟硬結合的方式,幫助學生對問題的理解與解決有更為直接和感性的認識,引導學生在活動過程中發(fā)現問題、分析問題,通過建模與測試、分析、解釋,發(fā)展學生的思維,培養(yǎng)學生的實踐能力與創(chuàng)新能力,感悟偶然性背后的必然性。
教學目標
知識與技能 能說明齒輪電位器讀數、翻滾角角度的變化規(guī)律;能使用變量解決具體問題;能解釋Python語句的作用。
過程與方法 通過查看設備不同姿態(tài)下的輸出結果,推導齒輪電位器讀數、翻滾角角度的變化規(guī)律,培養(yǎng)觀察、探究、歸納等能力;找出問題與解決方案間的因果關系,分析判斷設備不同姿態(tài)的條件設置,并嘗試編程解決。
情感態(tài)度與價值觀 體驗人機交互的過程,提升學習興趣與創(chuàng)新思維;感悟偶然性背后的必然性。
教學重點與難點
教學重點 推導齒輪電位器讀數、翻滾角角度的變化規(guī)律;分析判斷設備不同姿態(tài)的條件設置。
教學難點 分析判斷設備不同姿態(tài)的條件設置;算法優(yōu)化。
教學過程
一、情境導入
教師請學生與小程一起參與游戲:拋硬幣猜正反面。經過幾輪游戲,鮮有學生全部猜對,而小程顯示的結果全部正確。教師請學生思考:為什么小程能全部猜對?它是怎樣做到的?
簡短討論后,教師揭開謎底:小程并不是真的未卜先知,它能全部猜對是因為控制它的人看到結果后,按照事先設定的規(guī)則調整小程的姿態(tài),使其顯示出人看到的結果。
二、硬幣正反面“百猜百中”的奧秘——齒輪電位器
1.齒輪電位器讀數的變化規(guī)律
請學生運行簡單程序,撥動齒輪電位器,查看顯示數據,可知數據變化范圍:0—100,變化規(guī)律:越靠近小程耳朵方向,數值越大。
2.算法設計——根據齒輪電位器讀數范圍做出判斷
設備初始狀態(tài):小程的姿態(tài)為“背面向上”;
設備終止狀態(tài):小程的姿態(tài)為“正面向上”。
需求分析:根據硬幣的拋擲情況顯示相應的數字1或者2。
規(guī)則設定:小程的姿態(tài)變?yōu)椤罢嫦蛏稀睍r,如果齒輪電位器讀數在0—30,屏幕顯示“1”,即表示硬幣正面朝上;如果齒輪電位器讀數在70—100,屏幕顯示“2”,即表示硬幣反面朝上。
設計要點:使用控制模塊下的“重復執(zhí)行”,實現對齒輪電位器讀數的持續(xù)監(jiān)測;使用控制模塊下的“如果……那么……”和運算模塊下的“與”運算,實現對齒輪電位器讀數的范圍判斷。
具體程序編寫可參考圖1。
學生編寫程序并下載到小程機器人,拋硬幣測試效果,發(fā)現該程序存在缺點:游戲時,齒輪電位器必須撥到指定范圍,導致操作者手指動作幅度較大,容易被識破。
3.算法設計——根據齒輪電位器撥動方向做出判斷
根據前文出現的問題,修改算法,重新設定規(guī)則:小程的姿態(tài)變?yōu)椤罢嫦蛏稀睍r,如果齒輪電位器是向下撥動,屏幕顯示“1”,即表示硬幣正面朝上;如果齒輪電位器是向上撥動,屏幕顯示“2”,即表示硬幣反面朝上。
設計要點:使用控制模塊下的“重復執(zhí)行”實現對齒輪電位器讀數與小程的姿態(tài)進行持續(xù)監(jiān)測;使用兩個變量分別記錄小程的姿態(tài)為“背面向上”和“正面向上”時,齒輪電位器的讀數;使用控制模塊下的“如果……那么……”和運算模塊下的相應運算比較兩個變量的值,進而實現對齒輪電位器撥動方向的判斷——如果“背面向上”時的讀數小于“正面向上”時的讀數,說明是向上撥動齒輪電位器,反之則說明是向下撥動齒輪電位器。
具體程序編寫如圖2。
三、骰子“百猜百中”的奧秘——齒輪電位器、翻滾角角度
1.翻滾角角度的變化規(guī)律
請學生運行簡單程序,調整小程的姿態(tài),查看顯示數據,可知數據變化范圍:-90—0—90。數據變化規(guī)律:從齒輪電位器那一面朝下翻滾到正面向上,數值越來越大(-90→0);從開關那一面朝下翻滾到正面向上,數值越來越?。?0→0);其他姿態(tài)的翻滾角角度為0。
2.算法設計
設備初始狀態(tài):小程的姿態(tài)為“背面向上”;
設備終止狀態(tài):小程的姿態(tài)為“正面向上”。
需求分析:根據骰子的點數顯示相應的數字1—6。根據討論,教師引導學生對小程的姿態(tài)變化進行分析。
規(guī)則設定:參考圖3,詳見下表。
設計要點:使用控制模塊下的“重復執(zhí)行”,實現對齒輪電位器讀數、翻滾角角度進行持續(xù)監(jiān)測;使用控制模塊下的“如果……那么……否則……”與“如果……那么……”的嵌套,實現對六種情況的甄別。
通過齒輪電位器的讀數變化區(qū)分1、2兩種情況。通過對翻滾角角度數值進行判斷,區(qū)分3、4兩種情況:如果翻滾角角度大于50,說明小程經歷過以A邊為軸,水平向左翻面的過程;如果翻滾角角度小于-50,說明小程經歷過以C邊為軸,水平向右翻面的過程。通過對小程“耳朵向下”傾斜與小程的姿態(tài)為“直立在桌面”進行判斷,區(qū)分5、6兩種情況:如果小程“耳朵向下”傾斜,說明小程經歷過以B邊為軸,垂直向上翻面的過程;如果小程的姿態(tài)為“直立在桌面”,說明小程經歷過以D邊為軸,垂直向下翻面的過程。程序編寫如圖4。
程序缺點:由于是通過一些特定范圍的值來鑒別小程的姿態(tài),因此翻面的速度、手勢與傳感器的精度等都可能影響對姿態(tài)的判斷。
四、Python學習
借助mBlock5軟件的代碼轉換功能,將模塊代碼轉換為相應的Python語句代碼,請學生進行簡單解釋?;谀K代碼,學生可以識別出“重復執(zhí)行”“如果……那么……否則……”“如果……那么……”在Python中不同的語句格式,并進行簡單的代碼解釋。
五、思維拓展
作品展示交流后,給學生一些時間梳理設計思路、完善提升作品。教師可以繼續(xù)與學生探討情況甄別的其他思路,引導學生對作品進行進一步完善和創(chuàng)新。
教學反思
不管是硬幣還是骰子,小程可以“百猜百中”??此坪苌衩?,其實它的背后是由算法所支撐的,真正厲害的是那個設計算法的人。通過這個作品的設計,學生可以進一步體會算法在生活中的應用,透過現象看本質,激發(fā)主動學習思維,提升實踐創(chuàng)新能力。另外,學生體驗了從不同層面、不同角度分析問題,自主探究解決問題的過程,也培養(yǎng)了他們問題解決的能力。
吳箏 上海市曹楊第二中學信息科技教師,高級職稱,教育碩士。曾獲上海市教師教學評優(yōu)一等獎,多次獲得中國兒童青少年威盛中國芯計算機表演賽全國總決賽最佳指導教師、最佳組織獎等榮譽稱號,多次指導學生在全國及上海市各類信息技術競賽中獲得一等獎。