摘?要:文章主要在探討樂高硬件結(jié)合小學(xué)Scratch3.0編程教學(xué)對學(xué)生的學(xué)習(xí)效果及問題解決能力的影響,研究方法為案例研究法。研究結(jié)果顯示,學(xué)生對于樂高硬件結(jié)合Scratch3.0編程教學(xué)課程非常感興趣,學(xué)生也覺得可以幫助自身理解程序設(shè)計的邏輯概念以及問題解決能力。
關(guān)鍵詞:Scratch3.0程序設(shè)計;樂高硬件;編程教學(xué)
一、 Scratch軟件簡介
Scratch是麻省理工學(xué)院媒體實驗室(MIT Media Lab)Resnick教授所領(lǐng)導(dǎo)Lifelong Kindergarten小組開發(fā)的一套圖形化編程軟件,主要目的是幫助程序設(shè)計語言初學(xué)者不需要先學(xué)習(xí)語言語法便能設(shè)計創(chuàng)作作品。它專為8~16歲年齡的青少年設(shè)計,是學(xué)習(xí)程序設(shè)計的入門軟件,兼具教育性和娛樂性,容易學(xué)習(xí)。Scratch3.0相比之前的版本,支持移動設(shè)備操作,可以在平板電腦(iPad)和移動設(shè)備(iOS和Android 6.0+)上運行,可以自由地為人物上色,有更多新的音效和顏色等,同時保留Scratch2.0中的JSON文件,聲音編輯模塊中可以對聲音文件進(jìn)行細(xì)微的操作和調(diào)整,擴(kuò)展模塊中添加了以前不支持的一些功能,例如視頻、翻譯等。
二、 樂高硬件簡介
LEGOMindstorms EV3是樂高公司在2013年初開發(fā)的Mindstorms系列的第三代機(jī)器人,采用可編程積木,擁有輸出輸入端,讀取各類傳感器的輸入值,并控制輸出端的伺服馬達(dá)運轉(zhuǎn)等,另配有各式各樣的積木。
LEGO Education WeDo 2.0包括控制器(Smarthub)、馬達(dá)、運動傳感器、傾斜傳感器和積木組件??刂破饔?個端口,傳感器和電機(jī)可以任意組合連接,可以吸引學(xué)生并激發(fā)他們對科學(xué)和工程的興趣。
樂高硬件的工作原理是組合可編程化積木,結(jié)合傳動裝置、輪胎、馬達(dá)、傳感器等制作機(jī)器人,再編寫程序下載至可編程積木內(nèi),執(zhí)行程序,控制輸入傳感器或輸出伺服器馬達(dá),也就是控制機(jī)器人來完成動作。
三、 樂高硬件和Scratch3.0軟件連接
Scratch3.0要和樂高硬件藍(lán)牙連接,須安裝Scratch Link軟件,Mac版本下載地址:https://apps.apple.com/cn/app/scratch-link/id1408863490?mt=12
Win版本下載地址:https://downloads.scratch.mit.edu/link/windows.zip。
安裝成功后,在任務(wù)欄會出現(xiàn)Scratch Link的圖標(biāo)。這時,我們打開Scratch軟件,開啟LEGO Mindstorms EV3可編程主機(jī),連接之前需打開藍(lán)牙,在Scratch3.0軟件中單擊添加擴(kuò)展,選擇LEGO Mindstorms EV3,點擊刷新,顯示出設(shè)備名稱,點擊連接,用默認(rèn)識別碼(PIN)1234連接EV3主機(jī),然后返回編輯器,這時軟硬件之間已經(jīng)完成連接。LEGO Education WeDo 2.0連接的方法還要簡單,只要添加LEGO Education WeDo 2.0擴(kuò)展,點擊開始搜索,按下控制器上的綠色按鈕,控制器上的藍(lán)色指示燈亮起表示連接完成。
四、 利用LEGO Mindstorms EV3硬件體驗Scratch彈球游戲交互性
彈球游戲教學(xué)案例是Scratch中一個經(jīng)典的案例,從Scratch1.4官方實例中就有了。案例中一個小球在屏幕中移動,碰到邊緣反彈回來,下面有一塊擋板在左右移動,接到球之后就反彈,沒有接到球的話,則失敗。接下來我們利用LEGO Mindstorms EV3硬件給彈球游戲加入交互性,我們用兩個觸碰傳感器分別接在EV3控制器的1號和2號端口上。
(1)在角色庫中導(dǎo)入3個角色,分別是彈球、擋板、停止線,分別調(diào)整大小,把停止線移動到舞臺區(qū)底部,當(dāng)彈球碰到停止線的時候,游戲就結(jié)束。
(2)編寫彈球的腳本。將小綠旗添加到編輯區(qū),在程序的一開始先讓它停留在(0,160)的位置。Scratch中的方向用角度值來表示,既然彈球的初始位置為舞臺的上邊緣中部,則初始運動方向可以向下以一定角度運動,則角度值范圍為135度到225度之間,為了增加游戲的不確定性,使用隨機(jī)數(shù)模塊。
(3)編寫擋板的腳本。擋板Y坐標(biāo)值是固定不變的,所以在程序的一開始,將Y坐標(biāo)值設(shè)為120,通過LEGO Mindstorms EV3按鈕傳感器對擋板左右移動控制,來攔截彈球。接下來就是程序的關(guān)鍵之處,編寫按鈕控制擋板移動的腳本。這里要用到控制模塊里面的“如果……那么”指令,還要用到LEGO EV3模塊里的“按下按鈕”指令。當(dāng)按下按鈕1,將X坐標(biāo)增加-5,實現(xiàn)擋板的左移;當(dāng)按下按鈕2,將X坐標(biāo)增加5,實現(xiàn)擋板的右移。
(4)編寫彈球碰到擋板的腳本。在彈球腳本中,繼續(xù)拖動控制模塊“如果……那么”指令,把偵測模塊中的“碰到”指令拖動到“如果”后面,選擇“擋板”,彈球碰到擋板之后,先播放聲音“pop”,接著讓彈球面向-45至45這個區(qū)間移動。
(5)編寫彈球碰到停止線的腳本。程序編寫到這里,我們發(fā)現(xiàn)整個程序不會結(jié)束,角色“停止線”還沒有派上用場,我們還要對彈球碰到停止線進(jìn)行設(shè)定,繼續(xù)在彈球腳本的下面拖動“如果……那么”指令,在偵測模塊中選擇“碰到鼠標(biāo)指針”,拖動到如果后面,選擇“停止線”角色,最后在“控制”模塊中選擇“停止全部腳本”。這樣一旦彈球沒有被擋板接住,掉落到紅色停止線的話,游戲就結(jié)束了。
(6)編寫得分的腳本。擋板每接住一次小球,加1分。得分是彈球游戲最重要的反饋機(jī)制之一,添加得分,需要新建一個變量。游戲開始時,得分為0,所以需要在腳本開頭處,將變量“得分”設(shè)為0。當(dāng)小球碰到擋板時,變量“得分”的值增加1。
(7)增加彈球游戲的難度,小球隨著得分的增加,速度越來越快。之前的腳本,小球的運動速度為恒定的“5步”,我們可以將小球的運動速度設(shè)定為“5+得分”。這樣,當(dāng)?shù)梅衷礁?,速度就越快?/p>
五、 利用LEGO Education WeDo 2.0硬件提升Scratch彈球游戲交互性
在LEGO Mindstorms EV3硬件中我們用2個觸碰傳感器完成擋板的左移和右移,實現(xiàn)了用硬件控制角色的動作,接下來我們嘗試用LEGO Education WeDo 2.0硬件中的傾斜傳感器模擬手勢控制擋板的移動。
LEGO Education WeDo 2.0硬件中的傾斜傳感器可以偵測機(jī)器人的六種狀態(tài),即前、后、左、右、平放、抖動。在彈球游戲例子中,我們只用到左、右兩種狀態(tài)。把傾斜傳感器固定在WeDo 2.0控制器上之后,前面的弧形箭頭代表左、右方向,側(cè)面的弧形箭頭代表上、下方向,這里我們改變擋板角色的腳本。在程序的一開始,將Y坐標(biāo)值設(shè)為120,通過LEGO Education WeDo 2.0的傾斜傳感器對擋板左右移動控制,來攔截彈球。這里要用到控制模塊里面的“如果……那么”指令,還要用到WeDo 2.0模塊里的“向任意方向傾斜”指令。當(dāng)向左傾斜時,將X坐標(biāo)增加-5,實現(xiàn)擋板的左移;當(dāng)向右傾斜時,將X坐標(biāo)增加5,實現(xiàn)擋板的右移。
這樣我們就可以用手握住控制器,模擬手勢控制擋板的移動,相比用LEGO Mindstorms EV3硬件的兩個觸碰傳感器來控制擋板的移動,用傾斜傳感器控制更加提升了彈球游戲的交互性。
六、 利用樂高硬件結(jié)合問題導(dǎo)向助力中小學(xué)編程教學(xué)
中小學(xué)編程教學(xué)是指在計算機(jī)環(huán)境中解決問題的所有任務(wù),包括思考和解決問題的過程。出于這個原因,當(dāng)前教學(xué)越來越多地使用計算思維的概念來描述獲取和實施編程教學(xué)所需要的思維過程。計算思維不僅有助于發(fā)現(xiàn)解決問題的方法,還利用人類的創(chuàng)造力和批判性思維使計算機(jī)增強(qiáng)解決問題的能力。要在編程教學(xué)領(lǐng)域獲得成功,個人必須首先發(fā)展和獲得高級思維技能,例如解決問題的能力、邏輯能力、數(shù)學(xué)思維能力、批判性思維能力和創(chuàng)造性思維能力。此外,也可以說,學(xué)習(xí)計算機(jī)編程也是培養(yǎng)這些技能的有效途徑。在這種情況下,解決問題和邏輯數(shù)學(xué)思維能力對于編程教學(xué)至關(guān)重要。為了確保學(xué)生在計算機(jī)編程中表現(xiàn)出色,首先需要培養(yǎng)他們的解決問題和邏輯數(shù)學(xué)思維能力,這可以通過學(xué)習(xí)編程來實現(xiàn)。
Scratch3.0編程軟件可以方便地讓教師設(shè)計情境問題,學(xué)生在面對情境問題時,必須先去設(shè)計程序,并且分析程序的難度,將問題分為各個小問題,再去搜集相關(guān)的資料,經(jīng)過分析、推理與歸納的過程后,寫出解決問題的程序,最后加以驗證,再不斷修正程序來真正完整的解決問題。Scratch3.0軟件圖形化的創(chuàng)作方式讓編程更為方便,而且作品創(chuàng)作的過程與問題解決的過程相融合。Scratch軟件在教學(xué)上具有提升學(xué)生問題解決能力的作用,它使每位學(xué)生更容易理解計算機(jī)編程。作為一個圖形化編程軟件,它使得學(xué)生更輕松的理解和掌握編程邏輯和算法思維技能,有助于提高學(xué)生數(shù)學(xué)思維、解決問題的能力。
樂高硬件系統(tǒng)包括控制器、傳感器和樂高積木等,基于樂高硬件的編程教學(xué)相比基于Scratch傳統(tǒng)編程教學(xué)活動對學(xué)生解決問題的能力有更大的幫助。樂高硬件編程教學(xué)活動通常是基于項目的教學(xué)應(yīng)用,要求學(xué)生通過設(shè)計自己的方案來解決預(yù)先確定的問題,基于樂高硬件的編程教學(xué)活動將對解決問題的能力產(chǎn)生積極影響。
問題導(dǎo)向?qū)W習(xí)(Problem-Based Learning,PBL)是指在教學(xué)過程中,教師設(shè)計一個符合真實情境的問題為核心,建立學(xué)習(xí)目標(biāo),鼓勵小組合作討論,經(jīng)過不斷的試驗后,最終提出問題的解決方案,借此讓學(xué)習(xí)者透過問題解決的過程,培養(yǎng)主動學(xué)習(xí)、批判思考和問題解決的能力,并學(xué)習(xí)建構(gòu)知識的過程,獲得新知。
中小學(xué)教學(xué)領(lǐng)域中最被廣泛認(rèn)可的提升問題解決能力的教學(xué)策略就是問題導(dǎo)向?qū)W習(xí),所以利用樂高硬件結(jié)合問題導(dǎo)向進(jìn)行編程教學(xué),設(shè)計適用于中小學(xué)生的編程教學(xué)課程,能夠提升學(xué)生的問題解決能力。
七、 結(jié)語
在彈球游戲這個課例中,我們使用LEGO Mindstorms EV3按鈕傳感器、LEGO Education WeDo 2.0傾斜傳感器來控制彈球的左右移動,使得經(jīng)典的彈球游戲玩法更加豐富,學(xué)生對Scratch3.0擴(kuò)展硬件項目有了更深入的了解。在這個課例中體現(xiàn)了對象、指令、數(shù)據(jù)、順序、條件、循環(huán)等編程思想,在調(diào)試程序的過程中又培養(yǎng)了學(xué)生的計算思維,在小組和全班同學(xué)的合作與討論中又體現(xiàn)了創(chuàng)意與表達(dá)、交流與協(xié)作、理解與質(zhì)疑等計算理念。樂高硬件拓展了Scratch3.0的應(yīng)用,使得編程變得更加有趣,更具有互動性。LEGO Mindstorms EV3還配備了豐富的傳感器,例如聲音、超聲波、陀螺儀、顏色等傳感器,學(xué)生可以在彈球游戲的基礎(chǔ)上舉一反三,利用這些傳感器制作更加具有交互性、更加有趣的Scratch作品。
參考文獻(xiàn):
[1]錢晨露.基于Scratch3.0的圖像識別程序制作[J].北極光,2019(11).
[2]顧曙敏.淺談教師的心理健康及訓(xùn)練策略[J].石家莊師范專科學(xué)校學(xué)報,2003(3).
作者簡介:
朱春健,江蘇省南通市,南通市海門實驗學(xué)校附屬小學(xué)。