謝雪芳
【摘 要】機器人教學已經進入小學信息技術的日常教學中。本文以“機器人沿線行走”一課為例,介紹了如何通過Makeblock mBot可編程教育機器人展開機器人教學。
【關鍵字】Makeblock mBot 機器人編程 編程教學
“機器人沿線行走”是信息技術六年級中的一課,學生在五年級時已學習過Scratch編程,有一定的編程基礎,并形成了一定的計算思維素養。
隨著小學信息技術教材的不斷修訂,六年級教材中的機器人課程的課時安排越來越多。由此可見,結合硬件的編程越來越重要。目前,很多學校都采用了Makeblock mBot可編程教育機器人開展機器人教學。
一、創設情境,激發學習興趣
在我們的日常生活中,隨著科技的飛速發展,機器人已經不是稀罕之物了,一些大城市甚至出現了機器人餐廳。在開展機器人課程教學時,教師要盡可能地拉近學生與機器人的距離,消除陌生感,從而更好地激發學生的學習興趣。例如,在導入環節播放機器人送餐的視頻,讓學生觀察機器人是如何行走的,引導學生發現機器人行走時是沿著黑線行走,從而引出教學內容。在帶領學生一起探尋機器人的奧秘的過程中,學生都忍不住躍躍欲試。
通過這樣的形式,讓去過機器人餐廳的學生產生了一種興奮感,大部分學生當時并沒有關注機器人是如何行走的,從而產生想要研究的想法;沒有去過機器人餐廳的學生好奇心更強,也想參與研究。
教學情景的合理創設,會對課堂教學的實施起到事半功倍的作用。好的情景不僅僅是為了激發學生的學習興趣,在素養導向的教學理念下,我們更傾向于用創設真實的學習情景,拋出富有挑戰性的問題,引導學生去探索問題、解決問題、改進方法、完善程序……
為了與開頭的機器人餐廳送餐相呼應,一位教師在課堂的拓展運用時設計了這樣一個環節:請學生幫助編寫一個程序,實現從食堂到教學樓的機器人送餐,每個小組一張模擬圖紙。這樣的情景既與學生的生活實際聯系了起來,又與課前的導入遙相呼應,讓學生真實地感受到學習就是為了解決生活中的實際問題,學生的學習興趣就更濃了。
二、實戰演練,產生人機鏈接
如何讓學生更好地理解和體驗機器人的行走呢?教師可以讓學生“演一演”,如讓一個學生在教室里沿著某條路線走一走。人的眼睛能夠有效辨別方向,那機器人呢?它的“眼睛”在哪里呢?要讓機器人實現沿線行走就需要巡線傳感器,巡線傳感器實際上是由兩個傳感器Sensor 1和Sensor 2構成,每個傳感器又由一個紅外發射器和一個紅外接收器組成。由于其經常被用來控制機器人沿著線走,故被稱作巡線傳感器,檢測范圍為1~2厘米。紅外發射器在mBot行駛過程中不斷向地面發射紅外光:若紅外光被反射,如遇到白色或其他淺色平面,則接收器收到紅外信號,輸出數值1,此時可觀察到巡線傳感器背面對應的藍色LED指示燈亮起;若紅外光被吸收或無法被反射,則接收器收不到紅外信號,輸出數值0。
通過這樣的形式,學生能很好地產生人機鏈接,從而更好地理解相關知識點,學生在一個真實的學習情景中學習,記憶更加深刻,體驗更加真實,理解也更加透徹。
三、精準分析,了解核心思想
在慧編程Makeblock程序中有一個對應的“巡線傳感器讀數”指令,要實現機器人沿線行走,首先要了解機器人與黑色之間的幾種情況。教師在授課的過程中,一般都是分析4種情況,然后讓學生測一測返回值,做好相應記錄。那么學生真的懂了嗎?
在一次聽課過程中,有一位教師講解得非常清楚到位,后來那位教師說,她在上課之前也不懂,為了上好這節課,她課前以學生的身份來深入研究、思考、學習,正是這樣一種精神,讓她在上課的時候能充分考慮學生的學習情況,使得課堂學習氣氛和學生的學習效果都比較好。機器人的下方有兩個傳感器,所以線是有一定的寬度要求的,當兩個傳感器都在黑線上時,兩個傳感器的返回值都是0,此時“巡線傳感器讀數”為0;當右側的傳感器不在黑線上時,也就是機器人往右偏時,返回值分別是0和1,所以“巡線傳感器讀數”為1;當左側的傳感器不在黑線上時,也就是機器人往左偏時,返回值分別是1和0,所以“巡線傳感器讀數”為2;當速度比較快或者有轉彎情況時,也會產生整個機器人小車都偏離黑線的情況,也就是兩個傳感器的返回值都是1,此時“巡線傳感器讀數”為3。接著,教師讓學生測一測返回值,那返回值為什么是0、1、2、3呢?原來是計算機語言中的“00”“01”“10”“11”,最終都是用二進制來表示的。教師在這里適時地向學生介紹一下二進制數,既讓學生知其然又讓學生知其所以然,而且也滲透了計算機的核心思想,真的是非常巧妙。這些正是這位教師為了更好地搞懂、摸透教材,在自學研究的過程中發現的,然后以學生的心理為出發點來進行課堂設計。
信息技術的發展日新月異,這就要求教師在有限的時間里,教給學生一些終身有用的東西——學習方法和學習能力。
四、知識遷移,巧妙解決難題
機器人沿線行走是如何行走的呢?除了觀看視頻,了解現實生活中機器人的行走,其內核到底是怎樣的?怎樣快速地讓學生理解,并輕松地嘗試搭建腳本?學生在五年級上半學期Scratch編程中學過“賽車游戲”一課,賽車游戲是通過模擬傳感器實現控制賽車的方向的。現在,我們手上的機器人是通過真實的傳感器來實現控制方向的。教師帶領學生一起進行分析,巡線傳感器的返回值一共有4種情況,那如何編寫程序腳本呢?
為了喚醒學生的記憶,一位教師把五年級學過的賽車游戲的腳本拿出來讓學生進行對比,賽車游戲是始終讓賽車在軌道上行駛,一旦出現偏離就要進行糾正,也就是不考慮完全偏離軌道的情況。賽車游戲設置了兩個模擬傳感器,暫且叫橙色傳感器和藍色傳感器,實際上是通過一種顏色是否碰到另一種顏色來進行判斷的。當左側傳感器碰不到軌道的顏色,那就要右轉;當右側傳感器碰不到軌道的顏色,那就要左轉;模擬傳感器是通過“顏色碰到顏色”來實現偵測的。要用到2個“如果……那么”的語句。
機器人沿線行走是通過“巡線傳感器的返回值”進行判斷的。兩者之間存在一定的相似性,但偵測的依據不一樣,用到的指令也不一樣,所以具體細節上編程語句也相差不少。在教學中能合理地實現知識的遷移是一種非常有效的方法。當然,在具體的實踐過程中,教師要把握好度,不能過多地糾結于舊知,點到為止即可。本課中只需讓學生知道其中的聯系,而并不是要去分析賽車游戲的腳本。這樣可以把更多的時間留給學生去探索機器人行走的腳本。因此,進行對比分析花過多的時間并非合適的做法。在新舊知識對比遷移的時候,只要讓學生聯想到要用“如果……那么”的語句即可,2種情況是2個語句,那么4種情況就是4個“如果……那么”語句。而并不需要把整個賽車游戲的腳本拿出來進行一一解讀、對比。
五、合理引導,全面優化程序
在編程教學中,教師要不斷地引導學生分析問題—實踐探究—反思—再實踐—再反思……逐步實現程序的最優化。
在“機器人沿線行走”的程序編寫過程中,學生實現了“機器沿線人行走”以后,教師就要引導學生考慮如何去實現程序的優化。“行走”,第一想到的就是提升速度。
在程序優化的時候,3位教師都是引導學生提升速度,要提升速度一般意義的理解就是提高動力百分比。課堂上,大多數學生都是在調整動力百分比,有的學生有賽車游戲的經驗,逐步嘗試,確實優化了程序,在不斷地調試過程中也體驗到了很多的樂趣。看著學生一絲不茍的探究、嘗試,修改數據,作為教師甚是欣慰。
然而有點遺憾的是,教師并未引導學生作更深入的思考:除了改變動力速度來提升速度以外,還有沒有其他方法了呢?事實上,提高動力速度固然可以提升速度,但是程序的優化要做到極致,恐怕對程序的腳本也有一定的影響。4種情況,4個判斷語句,便于學生理解,假如就完成任務而言,一點錯都沒有,可是每一次判斷,都要去讀一次選線傳感器的返回值,這里都要花費時間,那能否簡化呢?這里教師首先要考慮全面,或者必須對設備有更深、更透的了解,這樣才能把可能的情況都考慮進去,才能很好地進行預設,引導學生編寫出更加完善的程序。因此,教師的合理引導非常重要。
要上好一節課,必須考慮到方方面面的問題,教師自身首先要將教學內容研究透徹。現在信息技術有很多新的教學內容,確實對每一位教師而言是一個新的挑戰。打鐵需要自身硬,每一位信息技術教師都必須與時俱進,不斷去學習新的知識,更新自己的知識結構,實現教學相長。