林娟 林建斌
教學背景
當今時代,編程教育逐步走向低齡化,越來越多的青少年較早地與編程和人工智能相關產品深度接觸,這已經是科技發(fā)展所形成的不可阻擋的趨勢。而國家對編程教育的低齡化發(fā)展也愈加重視,中小學編程教育課程逐漸得到普及,信息技術(含編程)也開始被納入高考范圍。這些無不彰顯著編程教育在我國教育體系中的地位正穩(wěn)步提高。
青少年學習編程,更多地需要基于興趣這個出發(fā)點。在枯燥的代碼書寫中掌握編程的理念與邏輯性,培養(yǎng)青少年的創(chuàng)新創(chuàng)造意識,并不是一件容易的事。針對這個問題,圖形化編程與開源硬件或許是個潛在的突破口。圖形化編程將密密麻麻的英文代碼轉化成一個個積木式的功能模塊,通過模塊的調用與模塊間的穿插組合實現各種代碼功能,使得編程的邏輯性變得顯然,而色彩豐富的界面也讓孩子眼中的編程更加有趣。開源硬件則將原本純軟式的編程轉變?yōu)檐浻步Y合的形式。孩子們在電腦上編寫的程序,都可以在相應的硬件中得到真實可感的呈現,讓編程過程真正成為一個創(chuàng)造性過程。從虛擬界面中的一行行代碼,映射到真實世界里一個個可操作的編程項目,孩子們能在動手創(chuàng)造的過程中體會到編程的樂趣與作用,從而大大提高他們對于編程學習的積極性。
教學主題
本節(jié)課基于圖形化編程與micro:bit開源硬件,以“炫彩多變的燈珠矩陣”為主題,引導學生在材料準備與組裝、模塊學習、項目設計與實施的過程中了解圖形化編程的邏輯原理,掌握燈珠控制模塊的使用,利用燈珠矩陣創(chuàng)作出自己的燈光作品。
教學實施
主題引入
每當夜幕降臨,城市的夜晚總是被炫目多彩的霓虹燈光點亮。一些建筑高樓的外墻上還會借助變換的燈光呈現出各種美麗的圖案。不同燈光的點亮和熄滅、各類燈光顏色的變幻,構成了每一座城市獨特的夜景。如何做到精確地控制這些燈光,這其中便是編程在發(fā)揮作用。而本節(jié)課所要學習的燈珠矩陣,就能夠通過模塊代碼控制各色燈珠的亮滅,創(chuàng)作出一個個精致的燈光項目。
燈珠矩陣(如圖1),顧名思義,就是由一個個可以通過編程控制點亮的燈珠整齊排列形成的方陣。而我們所要講的6×6燈珠矩陣,則是由6行6列,一共36個燈珠組成的方陣。方陣中,每一個燈珠的顏色都由3部分組成:紅色、綠色和藍色。沒錯,這是光的三原色。因為矩陣的每一個燈珠都能夠進行單獨編程精確控制,我們只需要通過調控這3種原色的配比,就可以讓每一個燈珠都能呈現出不同的顏色。36個燈珠的亮滅狀態(tài)與炫彩多變的光色結合起來,就可以做出十分豐富而有趣的作品。
材料準備、組裝與硬件測試
材料清單見表1。
材料組裝:將micro:bit下端插入主板的長插槽;將燈板驅動插入主板的插槽A或者插槽B;將6×6燈珠矩陣與燈板驅動相連接;在主板后方的電池槽中裝入電池(如圖2)。
硬件測試:組裝完成后,將主板左側電源開關撥至“on”,右側模塊開關撥至“test”,進行硬件測試。如果燈珠矩陣上的燈珠全部點亮,并不斷變換顏色,表明硬件運行正常。
聲明燈珠位置
組裝完micro:bit和燈珠矩陣,接下來要做的就是控制矩陣中的這些燈珠了。矩陣里有36個燈珠,我們要精確控制每一個燈珠的亮滅與顏色,就必須以某種方法聲明每一個燈珠的位置,也就是告訴計算機,我們現在要控制的是哪一個燈珠。那應該怎樣表達這些燈珠的位置呢?
像素位定位:從矩陣左上角的燈珠開始,按照先從左到右,后從上到下的順序給每一個燈珠編號。左上角的燈珠記為0號,往右依次是1號、2號、……一直到5號;從第2排開始就是6號、7號……以此類推,右下角最后一個燈珠是35號。這些編號,相當于就是每一個燈珠的名字,叫作像素位。按照以上規(guī)則完成編號后,我們只需聲明是第x號(x在0~35之間)燈珠,就能確定它的位置(如圖3)。
坐標定位:燈珠的位置還可以用“第幾列”“第幾排”這樣的描述確定。我們將矩陣中的每一列,按從左到右的順序依次標記為第0列、第1列……一直到第5列,一共是6列;再將矩陣中的每一排,按從上到下的順序依次標記為第0排、第1排……一直到第5排,一共是6排。這樣每一個燈珠,我們都能夠說出它所在的是第幾列、第幾排了。但是燈珠數量增多之后,這樣的描述顯然有些繁瑣,不如像素位定位法簡單。所以為了簡化這種描述,我們就將第x列、第y排的燈珠位置,記作(x,y),這就是燈珠的坐標。例如,我們只需聲明燈珠(3,0),別人就能知道我們所說的是第3列、第0排的燈珠(如圖4)。
燈珠的控制方法
解決了燈珠位置的確定問題,燈珠的控制就簡單了許多。在圖形化編程的DinoStick擴展包中的DxK模塊里,通過表2中的幾個功能模塊,就能夠控制燈珠矩陣了。
案例學習
有了以上幾個功能模塊,我們就可以開始控制燈珠做一些有趣的事情了,別看功能模塊不多,但能做到的事情可豐富了,下面我們用2個案例學習一下這些模塊的實際運用。
項目展示
教師挑選具有代表性的學生作品進行展示與評價,其余作品可由學生進行組內分享與討論。作品的挑選與評價可以參考如下幾個方面。
·案例要求的完成度:是否實現了案例描述的基本功能?
·個人創(chuàng)新程度:加入了哪些具有特色的變化?
·是否反映了編程過程中學生普遍存在的問題?
反思與總結
燈珠矩陣將圖形化的編程與炫彩燈光的呈現效果相結合,從生活中絢麗多彩的霓虹燈觸發(fā),用簡潔的功能模塊,與各種不用的代碼邏輯相互碰撞,從而衍生出豐富的成果。五顏六色的實物作品既能讓學生學習到編程的邏輯性和思維模式,又能激發(fā)出他們的學習熱情與創(chuàng)新創(chuàng)想。而硬件的組裝與效果展示不僅鍛煉了學生的動手操作能力,更讓他們體會到編程的真實可感,并在展示作品的同時帶來自信心和成就感。這種軟硬結合、寓教于樂的教學模式無論是在提高學生的邏輯思維能力上,還是在為他們未來一步一步走向計算機前沿領域的道路鋪墊中,都是極具前景的方式。
在本節(jié)課的實踐當中,也存在一些值得思考與改進的地方。比如,在案例分析環(huán)節(jié)更多地由教師帶領,學生自主思考的時間較少;在案例的延伸優(yōu)化與展示環(huán)節(jié)上,需要給學生更充足的時間進行案例的改進與展示,但課堂時間有限,可以考慮定期開設額外的展示課進行個人項目的展示。