陳海林
2017年7月,國務(wù)院印發(fā)了《新一代人工智能發(fā)展規(guī)劃》,將人工智能發(fā)展上升到國家戰(zhàn)略層面。而浙江省早在2014年就將人工智能作為浙攝版《小學信息技術(shù)》六年級下冊教材的重要內(nèi)容,安排了《Scratch趣味編程》《與機器人零距離》兩個獨立單元。隨著編程教育的推進和普及,部分教師已經(jīng)開始嘗試在四、五年級甚至三年級就進行基礎(chǔ)的編程教學,但對Scratch教學疑難點的突破鮮有辦法。筆者在本文列舉了Scratch教學中“X,Y坐標”“算術(shù)運算”“平面角度”“程序啟動”這四個疑難點的突破案例,以期起到拋磚引玉之效。
一、搭建支架+巧設(shè)習題:解決“X,Y坐標”的知識難點
坐標是Scratch編程中非常重要的腳本之一,有“移動到X(),Y(),將X,Y坐標設(shè)定為(),將X,Y坐標增加()”等腳本命令。如果學生不理解坐標的含義,也就無法精確控制角色在舞臺中的位置和其他相關(guān)操作。
據(jù)了解,中年級學生尚未接觸坐標概念,使得Scratch編程學習缺少數(shù)學理論的支撐。為了解決這一知識難點,教師可以利用表格搭建學習支架,結(jié)合Scratch坐標的特性,引入概念。
教師先繪制一張表格,用X表示列,Y表示行,且列數(shù)和行數(shù)都有負數(shù)和零的標記,因版面限制,只畫10行和10列即可(見圖1)。教師隨意指出一個單元格的位置,請學生回答所在行和列的值。通過講解和演示,幫助學生初步建立行和列的概念后,就可以比較順利地遷移到Scratch中X,Y的坐標概念。
學生對剛剛建立的Scratch中“X,Y坐標”概念并不牢固,因此教師有意設(shè)計了一組練習題,用于鞏固新知。
1.請將小貓往右移動10步,該用以下哪個腳本?
A.將y坐標設(shè)定為10???B.將x坐標設(shè)定為10
C.將y坐標增加10???????D.將x坐標增加10
2.請將小貓往下移動10步,該用以下哪個腳本?
A.將y坐標設(shè)定為10???B.將x坐標設(shè)定為10
C?將y坐標增加10????????D.將x坐標增加10
3.請將小貓移到舞臺的中心點,該用以下哪個腳本?
A.將y坐標設(shè)定為0??????B.將x坐標設(shè)定為0
C.將x,y坐標都設(shè)定為0
通過以上三道有層次的練習題,學生進一步明晰了“X,Y坐標”的概念,基本能掌握各腳本的使用場景。
二、厘清順序+精準練習:破解“算術(shù)運算”的應(yīng)用難點
Scratch中所有的運算符都是單個呈現(xiàn)的,如果要進行多步驟的混合運算就需要自行搭建混合運算積木。許多初學者對于Scratch中搭建混合運算積木不夠熟悉,容易混淆邏輯順序,出現(xiàn)意想不到且難以發(fā)現(xiàn)的錯誤,造成排除bug的障礙。
例如求正八邊形的一個內(nèi)角角度。求解公式為(8-2)×180/8。該公式中不僅有乘法、除法、減法,還有括號算法的優(yōu)先級。正確的積木搭建如圖2所示,求出角度值為135°。許多初學者在積木疊放順序時就出現(xiàn)了各種搭建錯誤,圖3就是一種常見的錯誤。究其原因,是學生不能理解Scratch進行混合運算時處理各個層疊積木塊的先后順序。
Scratch混合運算層疊積木塊是按照從最上層開始,逐層往下的順序處理運算過程的。當學生掌握了Scratch混合運算的規(guī)律后,就可以根據(jù)數(shù)學中運算的優(yōu)先級來構(gòu)建整個混合運算的疊放順序,并通過腳本區(qū)的放大按鈕審視各個層疊積木塊的疊放順序,避免“算術(shù)運算”的錯誤(見圖4)。
為了鞏固學生構(gòu)建層疊積木塊的疊放順序,教師可以設(shè)計一些精準指向混合運算的習題,幫助學生掌握并牢記“算術(shù)運算”規(guī)律。
通過計算以上8個有代表性的混合運算習題,學生基本能夠突破Scratch中數(shù)字和邏輯運算模塊的應(yīng)用難點。
三、大膽猜想+知識遷移:突破“平面角度”的認知難點
在Scratch編程中表示平面角度值,是用“0°”“180°”“-90°”“90°”分別表示“上”“下”“左”“右”(見圖5)。但這也是學生“平面角度”的認知難點。教師可以鼓勵學生大膽猜想,進行推理論證,再通過知識遷移,突破這一認知難點。
通過角度值的遞增規(guī)律,學生很容易做出猜測——-90°等于270°,并可以通過兩個簡單的腳本來驗證猜想(見圖6):先點擊綠旗角色面向-90°方向,再按下空格角色面向270°方向。但學生運行程序后,角色并沒有改變方向。學生查看角色信息,發(fā)現(xiàn)角色依舊面向-90°方向,所以先前的猜測是成立的。繼而,scratch角度值可以在0°~360°的范圍內(nèi),這樣的表示更為簡化,便于理解。
學生在低年級已經(jīng)學過有關(guān)鐘面的知識,而認知角度值和鐘面有著許多交集區(qū)域(見圖7),如:平面范圍的一圈為360°和時針走一圈是12小時;順時針角度值越來越大,反之越小;360°等價于0°,等等。所以,教師可以將鐘面知識作為學生認知Scratch角度值的一個支架,突破“平面角度”的認知難點。
值得注意的是,2019年1月2日Scratch3.0正式版發(fā)布,其在角度方面的改版如圖8所示,將平面范圍分成左右兩部分,左半部分為-180°~0°,右半部分為0°~180°,這樣更有利于初學者對Scratch平面角度體系有清楚的認知。
四、歸因反思+腳本調(diào)整:解除“程序啟動”的順序疑點
對于在Scratch教學過程中遇到的一些小問題、小疑惑,往往要在全面了解Scratch后才能快速找出答案。其中,程序啟動的順序問題就是一個讓很多學生陷入困境的小問題,教師要引導學生進行歸因反思,調(diào)整腳本,解除“程序啟動”的順序疑點。
以“箭頭射氣球”程序為例,圖9是箭頭角色的主要程序,圖10是氣球角色的主要程序。程序設(shè)計為:當箭頭克隆體觸碰到氣球時,箭頭克隆體與氣球同步消失。很多學生的作品似乎邏輯都很順利,但實際操作后發(fā)現(xiàn),箭頭和氣球只能消失其一。將腳本代入閱讀后,學生發(fā)現(xiàn)箭頭和氣球上的兩個消失腳本都是通過綠旗點擊觸發(fā)的,看似能夠同步運行,實則不能同時進行。也就是說,Scratch處理腳本看似同步,但實際底層代碼的運行并不同時,所以導致其中一個腳本相對滯后。
既然找到了出現(xiàn)bug的原因,就可以通過一個廣播來解決這類問題,也可以編寫一個程序來進一步確定Scratch運行腳本的先后順序。因為程序運行順序與建立腳本順序有關(guān),后建立的腳本先運行。由于篇幅限定,在此不做贅述。
恒者行遠,思者常新。在Scratch編程教學中,教師需要不斷學習和思考,專業(yè)能力才能得到不斷提升,才能不斷突破和創(chuàng)新,很多看似難以突破的瓶頸也就迎刃而解了。
(浙江省常山縣第一小學???324200)