吳俊杰
基于Mixly的MHPS學習模式
Mixly作為北京師范大學傅騫博士團隊研發(fā)的圖形化程序教學系統(tǒng),從計算思維、設(shè)計思維的角度跨越圖形化編程和代碼編程,讓學生通過具體的項目學習掌握程序設(shè)計和開源硬件系統(tǒng)設(shè)計的基礎(chǔ)知識,并且融合了STEAM教育和創(chuàng)客教育的思想。項目學習的過程有時候很像《西游記》,因為我們發(fā)現(xiàn)《西游記》其實也是由一個個的小項目組成的,每過一關(guān)都經(jīng)歷著“遇到妖怪,師父被抓走,解決掉妖怪,繼續(xù)往前走”四個步驟,而伴隨著一步步地打妖怪,師徒四人更加團結(jié)了,對取經(jīng)的理解日益加深,每個人的本領(lǐng)也提高了不少,而這個過程與STEM課程設(shè)計當中常見的“珠串式”的課程設(shè)計類似,每一顆“珠子”都是一個完整的項目學習過程,而一條主線則貫穿著所有項目。
我們用類似的模式,定義“一個完整的具有一定功能的可以由用戶參與修改的開源軟硬件項目”為一個Mixly系統(tǒng),學生在學習這個項目的過程中經(jīng)歷了以下四個步驟:①制作(Making)。每個Mixly系統(tǒng)使用的都是用Mixly軟件已經(jīng)編好程序下載到下位機的開源硬件,按照說明,制作出這個項目的核心效果,即認識輸入輸出裝置的連接。②改裝(Hacking)。設(shè)計一個情境將輸入輸出裝置以個性化的形式呈現(xiàn)出來,制作一個體現(xiàn)自己情感、個性和天賦的個人作品。③玩轉(zhuǎn)(Playing&Programming)。解密創(chuàng)客項目事先下載的Mixly程序,并且修改個性化的程序,通過項目體會程序設(shè)計中的一些常見算法和規(guī)范。④分享(Sharing)。在學習社區(qū)中分享自己的程序,并且針對朋友圈、專業(yè)人士、普通人等不同的信息接收者設(shè)計不同的分享方案,同時嘗試設(shè)計個人創(chuàng)客作品的生產(chǎn)方案。我們將制作、改裝、玩轉(zhuǎn)、分享的過程定義為創(chuàng)客教育中的MHPS模式(如圖1)。這種模式將硬件連接和軟件編程兩個常見的學習過程分開,將難點分散,此外在改裝環(huán)節(jié),讓學習者先將作品個性化,讓其“愛上”自己的作品,使其在程序設(shè)計階段能夠自己提出很多改進需求。這種真實情境下的自主學習結(jié)合在分享環(huán)節(jié)、網(wǎng)絡(luò)社區(qū)中做同樣項目的互相學習,使得學生可以收獲跨地域、跨年齡段和跨文化的學習體驗,最終將個人作品整理為他們可以分享和重用的設(shè)計方案,給學生獲取知識產(chǎn)權(quán)收入和服務(wù)收入創(chuàng)造了可能性,這樣就構(gòu)成了一個閉環(huán)的覆蓋“家庭—學校—社會”的學習系統(tǒng)。
具體案例實踐
以下我們通過一個具體的案例描述這一學習過程——一分鐘驚喜燈。
1.制作
打開學習套裝,每個學習套裝都是一個用戶參與式開源學具——學習者在學習的過程中會賦予這個物品新的價值。我用的套裝型號是符合Arduino規(guī)范的UNO板,事先已經(jīng)下載了程序,執(zhí)行效果為通電一分鐘以后板子上的綠色燈由熄滅狀態(tài)轉(zhuǎn)變?yōu)殚_啟狀態(tài),這個燈顯示的結(jié)果是UNO板的13號端口的電壓,設(shè)定為高時LED亮,低時LED滅。我們可以將發(fā)光二極管的長的一端插入到13號孔中,短的一端插入到13號旁邊的GND中,發(fā)現(xiàn)其和板子中的綠燈同步亮滅(如圖2)。
使用兩根一針一孔的排線可以將LED延長(如圖3),外接出來方便安裝在其他的位置,一般情況下,兩根顏色不同的排線,顏色較深的接GND,顏色較淺的接13號端口。如果仔細觀察,會發(fā)現(xiàn)UNO板上還有兩個GND端口。
這樣就將LED延長了,如果有更多的排線,可以延長更長的距離,以滿足不同的需求。
2.改裝
我們使用一個T1的紙盒作為構(gòu)建一分鐘延時燈的使用情境的平臺。例如,我們在正面畫上一個生日蛋糕,將LED制作成為蛋糕的蠟燭,當然這只是一個最簡單的創(chuàng)意,更多的創(chuàng)意需要使用盒子的人共同構(gòu)建,或者選擇一張自己喜歡的海報粘貼在盒子上面也可以。盒子表面的圖案設(shè)計如圖4所示。
在盒子表面圖案的重點部位安裝幾個LED燈,這些燈的長腳和短腳并聯(lián)在一起(如圖5)。在改裝環(huán)節(jié),在程序中一般沒有改動,重點在于用電路的連接或者構(gòu)建一個情境,來講述一個故事,使作品變得更有意義。
連接好電路以后,我們就可以得到一個非常棒的一分鐘驚喜盒子了,你可以提前一分鐘將這個燈藏在角落中,然后等待一分鐘,就會有一個角落亮起來,給別人一個驚喜(如圖6)。
3.玩轉(zhuǎn)
一分鐘驚喜燈的原始程序為一個延時程序,然后點亮13號LED(如圖7),使用Mixly可以很容易地編寫這個程序,并且Mixly可以自動將其轉(zhuǎn)換為Arduino代碼,代碼的字體和縮進都是符合專業(yè)規(guī)范的,這有利于后期的代碼教學。
在玩轉(zhuǎn)的環(huán)節(jié)中,我們可以修改延時的時間,或者將延時時間設(shè)定為一個隨機數(shù),做一個擊鼓傳花式的小游戲,或者像下頁圖8這樣,將延時后的效果改為一段閃爍,讓禮物更有趣味。總之改裝的方案最好能和圖案一致,應(yīng)該由學生提出,而教師則可以對學生不同的需求進行總結(jié),適時講解或者給予一些學習資源。
4.分享
在分享環(huán)節(jié),首先可以在圖9的maker.bnu.edu.cn中注冊一個用戶名,這樣就可以在論壇中分享成果,每個以一分鐘驚喜燈為原型的改裝作品,都可以在下面二維碼所顯示的帖子中回帖,這樣就形成了一個系統(tǒng)資源,就像是一鍋老湯,越煮越香,每個人都可以貢獻并集成新的教學資源。
此外建議大家使用網(wǎng)盤建立一種過程記錄的機制,這樣有利于保存階段性的學習成果和在論壇中分享知識,圖10所示的二維碼中有本案例中所涉及的電路連接、編寫程序的詳細教學視頻,方便學習者自學。
這樣就初步完成了一個分享的過程,學習就像釀酒,常?;匚?,往往會得到出乎意料的效果,網(wǎng)盤中的每一個項目的文件夾,就像一個個酒窖,我們將學習的快樂、個人的心得、他人的創(chuàng)意不斷地添加在其中,便構(gòu)成了一個立體的學習過程。
結(jié)語
Mixly系統(tǒng)設(shè)計是一個系統(tǒng)化思維的過程,一開始學習者看到的往往是一個個有趣的案例,但是我們期望在學習結(jié)束以后,學生可以自如地開發(fā)屬于自己的DIY套件,并且知道如何積累資料、分享教程、拍攝營銷視頻?!霸傩〉膫€體都有權(quán)利擁有個人的品牌”,而MHPS學習模式中的那一個個小小的珠子,只是這個美好的學習鏈條的一個開始而已。