2022年3月27日

用Scratch 實作「反應時間程式」的探究課程

幾個月前,應邀「國民中小學探究課程設計與執行能力提升計畫」的線上揪團研習,主講了一個STEM研習。我設計了一個課程,實作從提出問題、提出假設、設計實驗、收集數據進行實驗分析的探究歷程。

我給的課程大綱如下:

探究的主題為「反應時間」,你覺得紅色的刺激物會比綠色刺激物,有更快的反應時間嗎?大的刺激物會比小的刺激物有更快的反應時間嗎?你可以用這次的課程學會如何設計屬於自己的程式。

整個課程中,你將實作以下過程:

1.練習預測,在做實驗之前,依照現有的知識及理論,推論可能發生的實驗結果。

2.使用scratch或micro:bit開發線上測試反應時間的程式。研究者將根據自己提出的問題,設計不同刺激類型的程式,觀察其對反應時間的影響。

3.統整實驗數據,學習以EXCEL進行實驗分析,製作解決不同問題所需的圖表。但在進行實驗之前,你想過應該如何設計紀錄表格嗎?紀錄收集後,又應該使用哪種圖表來呈現資訊,來解釋你所提出的問題?

4.寫出結果和結論,「結果」是將實驗數據以適合的圖表客觀呈現,並輔以合宜充分的圖說進行說明,使圖表得以獨立於報告正文存在。「結論」是回應你所提出的問題,並提出假說,在觀察到這些現象之後,猜測背後可能的原因。


當天實作是採用Scratch進行的,相對於Micro:bit有更多可以加入操縱變因的部份,而且也能方便匯出數據進行後續分析。

當天課程採用了混成式學習,包含線上同步與非同步方式進行。非同步的部份,由我事先錄製影片說明,教學影片和範例程式如下。有興趣學習的,可以藉由以下的影片連結,自己學習。

1.用scratch製作反應時間測試程式-01-基礎程式


2.用scratch製作反應時間測試程式-02-設計等待時間為操縱變因


3.反應時間的EXCEL分析-分析刺激物出現前的等待時間與反應時間關係


4.用scratch製作反應時間測試程式-03-改變刺激物的顏色為操縱變因


程式的邏輯如下圖:畫面一開始有一個藍色按鈕,按下後,按鈕會消失,過一段時間會出現紅色刺激物。使用者在看到刺激物之後,就立刻按下刺激物,隨後藍色按鈕會再度出現。程式會計算紅色刺激物從出現到被按下所經過的時間,此為反應時間。


程式如下面兩張圖



自己做完幾次實驗之後,可以在清單上看到自己歷次的反應時間。在程式編輯畫面上,可以在清單按下右鍵,就可以匯出數據進行後續分析。
在課程中的要求是讓每個學員都自己測過50次後,再自己分析這50次的數據。分析的方式有很多種,你可以分析平均值、標準差,或是畫出折線圖、直方圖等等。

最簡單的分析方式是直接將匯出的檔案貼到Google試算表上,按下右下角的「探索」就可以即時分析數據和產生圖表。


直方圖可以幫助你分析在這50次反應時間中,你的數據的集中程度

也可以看到偶有幾次會產生異於其他的數據點,可能是因為分心恍神。而最能代表反應時間的數據應該是中位數。



想想看這樣的數據還可以告訴我們什麼?

下一步就是加入變因去看看,這些變因會對反應時間造成什麼樣的結果。

第一個改變的就是「等待時間」,這是指按下按鈕到出現刺激物之間的時間。程式只要作一些小修改就可以。




在匯出資料後,由於等待時間是隨機出現不同的數字,所以分析時可以應用IF函數和陣列公式,快速計算出平均值、標準差和計數。


如果是要繪製出具有誤差線的圖,還是只能使用Excel來做。雖然Google試算表有繪製誤差線這個功能,但是它的設計非常奇怪,過了好多年還是沒有改進,建議還是放棄。



在收集了許多人的資料後,會看到一個很特別的趨勢。在還沒看到圖之前,你猜想等待時間和反應時間會呈現什麼樣的關係?等越久?反應越慢嗎?結果是這樣。


下圖是17個人的測試數據,每人測試50次之後的圖表,在等待1秒的時間時,大家的反應時間都變長了。怎麼解釋這個現象呢?這就是論證的過程了。請提出一個假說,並且想想,如何去驗證這個假說?




整個課程的簡報和影片連結、分析試算表等,我都一起放在這個資料夾中。

https://drive.google.com/drive/folders/1u6v58dSuJ5wM89-fRISsLqmTqCvRThNe?usp=sharing