2018年5月10日 星期四

如何讓零編程經驗學生成功
應用編程教具?

簡介

本人在 2018 年 5 月 10 日應 Makeblock HK 邀請,分享「如何讓零編程經驗學生成功
應用編程教具?」,以下為分享會中的文字內容。

背景

本人任職教師前主修電子工程學及計算機工程學,略懂編程,而現在則主要任教小學三至六年級的數學、常識及電腦科。學校的 STEM 課程由 2015 - 16 年度開始,以常識科主導,每級有最少一個單元加入 STEM 元素,並且沒有編程的內容。而學生方面,在 2017 - 18 年度前,只有小六學生會學習 Scratch;2017 - 18 年度開始,小四及小五學生亦開始學習簡單編程。

選擇編程教具

為了讓零編程經驗學生能夠成功應用陌生的編程教具,必須要選擇合適的編程教具。

少組裝(上螺絲)

對於不常接觸電子、電器的學生來說,要用螺絲批上螺絲或是組裝支架是有難度的,更重要是會令大量螺絲不知掉到哪兒,因此,使用感應器或模組應以方便組裝優先。

少積木/文字編程,著重邏輯思維

學習編程不是為了背誦程式命令,而且為了培養邏輯思維,因此,編程軟體應盡量積木或文字形式的編程,或能夠突顯邏輯思維當中的思路。

容易看到即時成果

經過了一節課堂,學生最開心是看到自己所學習的成果,相比起在電腦螢幕上看見熊貓在走來走去,拿在手裡遊玩的滿足感更大。配合顯示屏的教具讓成果能夠更多元化地展示出來。

方便攜帶

理由和上面一樣,總不能讓學生困難地帶著他的成果向同學、父母展示吧!

自學方便

我們在校推動學生自主學習,當學生遇到問題時,我們都希望學生能自行先行嘗試解決問題,再請教老師。因此編程教具必須提供全面的網上學習資源,讓學生能在互聯網上,找到合適的資源,協助他們解決問題。

教案分享

我們考慮來年在現有的課題上,加入編程部份,令學生的創意能夠更容易實體化。近日,Makeblock 推出 Codey Rocky(程小奔),並可以與 Neuron 作結合,發揮功能性,並符合我們所想。因此,以下教案將分享如何在舊有教案上,加入新的編程元素,令學生學習更有樂趣。

解決日常生活中遇到的難題(小五,常識,電的探究)

這個課題是我們自 2017 年開始的 STEM 教案,往時我們會先以「不會亮的手電筒」作引入,帶出甚麼是「閉合電路」及它的功用。然後透過一系列實驗,讓學生了解不同的電路接駁方法、導電體和絕緣體、不同的開關效果等等。

實驗後,我們希望學生綜合不同電路的接駁方法,選取其中一個電路效果作為研習主題,
設計一個日常生活中遇到的情境或難題,並以該電路作為解決方法
及解釋它的理念。我們只提供了 5 條鱷魚夾電線、4 粒 LEDs、1 粒蜂鳴器和 1 個 3V 電池座。學生的設計情境或難題雖有不同,但電路卻是同出一轍。其中一組學生設計一個「下雨警報器」,以雨水作為導電體,通知人下雨天收衣服:


他們完成後,我很喜歡問他們:「如果你有錢,有資源,你會如何改善你的設計呢?」


現在他們可以利用 Codey Rocky + Neuron 重新製作設計,以 Codey 作編程,配合 Neuron 作功能性發展,不再是空口說白話。

為甚麼選擇 Codey Rocky + Neuron  這個配搭呢?主要原因是因為 Neuron 的功能選擇多元化,比 mBot 系列的選擇更多更有趣。使用安全膠面及 Pogo Pin 磁吸設計,即使組裝支架亦十分簡單。Codey 自帶顯示屏,顯示表情有趣。處理 IoT 簡單直接。亦可用 Neuron 先以 Flow-based Programming 控制學習。

舉一個例子,用濕度感應器預測下雨,以 Rocky 控制移動,加入 IoT 收集資料,並且用Codey 互相通訊,模擬智能家居,簡單直接。

隔音物料測試(小五,常識,聲音的探究)

較早前,我設計了隔音物料測試的裝置,當時 Codey Rocky 還沒到手,沒法使用。


近日參觀友校的課堂,他們用了 mBot 作教具,提供了完整的程式讓學生測試。



但學生學習了如何使用感應器後,不讓他們試用實在有點可惜。建議可讓學生自行設計整個隔音測試器,感應器和聱源的擺放位置,也可抽走較難處理的部份,例如外接的線路。讓學生先以流程圖描繪程式的流向,並在實作時提供部份程式,指示學生加入使用感應器及處理數據的部份,能更有效達到培養邏輯思維的目標。


使用了 Codey Rocky + Neuron 讓聲源和檢測更容易受控制,不需處理外接電源的煩惱。在收集數據和分析時可讓學生反覆檢查流程圖,再認真檢查程式
是否出現微小錯誤。多讓學生自己思考方法,或以問題刺激他們思考。

最小公倍數及最大公因數(小四,數學,倍數和因數)

數學科一直是我認為最難有意義融入 STEM 的科目。Codey 因為本身有顯示屏,用來顯示數字比 mBot + 數字管(7 Segment)方便得多。我準備了顯示及輸入的程式部份,讓學生先畫流程圖,以「短除法」的概念設計程式。


在過程中,學生不斷反覆想要「短除法」的過程。到成功後,看到的成果,相比起反覆做的練習更有趣,更有滿足感。

提供的程式部份:



而學生需要完成的部份可以是這樣的:


總結

  • 多讓學生自己思考問題,或以問題刺激他們思考
  • 借助流程圖幫助思考,而且流程圖有助於編程時減少混亂
  • 提供非教學目標的程式,加入提示逐步指引
  • 只教需要用的程式,教太多會令學生感覺複雜
  • 盡量減少組裝(上螺絲),選用簡單易用的編程教具
  • 除錯時可先依流程圖檢查,再認真檢查程式
是否出現微小錯誤

2018年3月15日 星期四

mBot x STEM:隔音物料測試

簡介

小學五年級常識科中有一個課題,叫作「光、聲、電」,內容處處與 STEM 掛勾,其中有一部份介紹隔音物料。一般做法都讓學生帶不同物料回校測試,其實可以多做一步,讓學生自行設計隔音物料的測試,發揮創意,加強邏輯思維的訓練,進一步掌握設計循環的理念。

設計循環

STEM 教育是為了促進學生運用課堂及書本上學到的知識與技能,配合創新思維,解決日常生活上遇到的困難。當中,學生設計產品時,可參考設計循環的流程,令整個產品的設計及開發更加流暢:


現在需要解決的問題十分清晰,接下來就需要讓學生開始進行設計。

外觀設計

除了 mCore 外,必須的就是 Me 聲音感應器,顯示方面有很多選擇:數字顯示板、表情面板、LCD 顯示屏……另外還需要一個容器,放置蜂鳴器及隔音物料。


容器的材質並不會影響測試,因為只要一直使用相同容器,測試就能一直保持公平。顯示方面最後選用了 Me TFT 2.2 寸 LCD 顯示屏,更好的選擇是 Me TFT 2.4 寸 LCD 顯示屏,但因為尚未入手,所以先屈就用螢幕小一點的。

畫上草稿,在真正建構時可以減少出錯的機會,加快產品製成的速度。



程式設計

程式中,有兩項主要的工作:一、不斷經蜂鳴器播放音調;二、不斷檢查現在的音量。


如果使用上面的程式,效果則會是先播放音調,再偵測音量,並不能同時進行。因此,我們需要稍為修改一下程式,讓兩件事同步進行。


使用兩個「mBot 主程式」即可解決問題,雖然會有少許停頓,因為我們不是要求蜂鳴器一直播放的。

(更正:根據邱老師提供的意見,兩個「mBot 主程式」不能做到同步,如此可不用蜂鳴器轉用鬧鐘,或是有什麼用 mBlock 做到同步的方法歡迎留言)

測試


程式在一開始會先等候 LCD 顯示屏準備好及蜂鳴器已經在播放音調,再偵測沒有隔音物料時的音量數值,再以黃色線表示。然後可以加入不同的隔音物料,並繼續測試音量數值,並以綠色點在螢幕顯示出來。


2017年11月11日 星期六

Makeblock應用:水溫指標屏

前言

近日和朋友談起學生將 mBot 應用在創客(Maker)方面時的問題,很多人都無法破除「mBot 是一輛車」的看法,很設計都是讓 mBot 保持在一輛車的狀態。對我而言,「mBot 是一部有車身的電腦」,因此,只要把 mBot 的車身拆走,它就是一部電腦了。

適逢近日我在準備小學五年級的 STEM 課堂,他們在學完電的課題後,要設計一個能解決日常生活的裝置。縱然大部份的設計都未能成功,但不少的設計都令我十分驚嘆,畢竟他們不是從小就被訓練創意思維。

其中一組的設計令我印象深刻,他們的設計原文是:

「有時開了煤氣爐後,洗手盆的水喉會發熱,所以我們想做一個發光器。當水喉擰得太過時(太熱),就會開紅燈;當太凍時就會亮綠燈。」


當時我看到覺得非常有趣,但由於硬件的配套不足,而未能成功,實在可惜。但我認為 Makeblock 正好可以作為一個平台,讓學生完成他們的設計。因此,我仿效了這個設計,將設計放在 mBot 上實體化。

設計


設計以簡單為主,模組只用上了數字板和防水溫度感應器。程式設計亦十分簡單,只是將水溫顯示在數字板上,然後根據水溫顯示轉換 LED 燈的顏色,溫度越高越紅,越低越藍。

測試

測試一開始,我先將水瓶注入熱水,水溫迅速由室溫的攝氏25度跳升到攝氏60度,LED 燈亦由藍色轉為紫色。相信大家都知道水的沸點是攝氏100度,而溶點是攝氏0度,因此我們不會看到絕對的藍色或是紅色。



在後期,我逐漸加入冰塊令水溫快速下降,到最後水溫降至攝氏13度,LED 燈亦變回藍色。


總結及延伸

在發展創意思維方面,Makeblock 真的提供了一個很好的平台,讓學生將自己的設計實體化。簡單的組裝,簡單的程式設計,就已經將複雜的硬件配置問題解決了,絕對能在 STEM 發展上幫上忙。

將這個設計延伸下去,其實可以做到很多事情,我舉其中兩個例子:

  1. 按照當時天氣的溫度,調較出適合的洗手溫度;夏天出冷水,冬天出熱水。
  2. 加入可控制的功能,讓用家可以調較出想要的水溫,確保嬰孩在洗澡時的溫度保持在合適溫度。
謹記,mBot 不僅是一輛車,適當地運用,它絕對能做到你想做的事。