陳染



創客教育和編程教育都是科技教育的組成部分,許多學校教師往往同時承擔著這兩部分的教學工作。我們能否運用計算機模型將二者結合起來,讓學生在科技活動中同時收獲科學知識、提高動手能力和建立計算思維呢?下面我們以繩波為例討論計算思維和科技活動結合的方法。
把石頭丟進水里,我們會看到水面形成了一個一個漣漪。仔細觀察,我們會發現漣漪的本質是水周期性地上下起伏,并逐漸向外擴散。這種周期性的起伏便是機械波。機械波是機械振動在空間傳播的現象,生活中很多物體都會產生機械波,繩波就是一個典型的例子,我們可以通過一個有趣的陶泥波制作,認識波的現象。
陶泥波的制作方法非常簡單,首先準備十幾根竹簽,將橡皮泥切成大小均等的正方體安插在竹簽兩頭。再剪裁1段長1米以上的膠帶,將準備好的竹簽以5厘米左右的間隔粘貼在膠帶上,最后,用另一端等長的膠帶覆蓋在上面,陶泥波就做好了(圖1)。
將陶泥波粘貼在2把椅子之間,用手撥動陶泥波的一側。我們看到膠帶上出現了一個波,并向前移動,我們將這種波稱之為行波。當波前進到另一端時,我們看到波會從另一端往回走,這就是波的反射。
如果我們以同樣的頻率反復按壓一側,會看到前進的波與反射的波互相疊加,波似乎在原地振動,不再往前進了。這種現象稱之為駐波。
通過陶泥波的實驗,我們對行波和駐波有了一些基本的認識。有什么因素影響波的形狀呢?我們可以引導學生作出一些假設,比如“波的形狀和繩子材料有關嗎?與頻率、振幅有關嗎?”然后讓學生通過實驗驗證假設。例如,我們可以用小馬達和棉線制作一個自動抖繩子的裝置,通過改變馬達轉速、改變繩子材質等方法探究不同因素對繩波形狀的影響。
除了用物理實驗之外,我們還可以在計算機中建立模型,探究繩波的物理性質。科學實驗和計算機模擬二者各有各的優勢,它們互相補充,幫助學生全面而深入地認識波的性質。
NetLogo模擬庫中的Rope便是一個可以換個角度認識波的性質的模型(圖2)。在這個模型中,我們可以探索不同因素對繩波形狀的影響。
這個模型把完整的繩子分解為一個個質點,并用海龜主體表示。模型的最左側有一個綠色的圓點,表示動點,即繩子開始振動的地方;模型的最右側有一個藍色的圓點,表示固定點,即繩子固定不動的地方;其他紅色的點表示的是繩子的主體。在模型的左側,我們可以調整振動的頻率和振幅,以及繩子的阻尼系數。我們可以調整模型中的各個參數,探究不同要素對波的形狀的影響。
這個模型很好地體現了計算思維的特點。模型中將繩子的整體分解為一個個連續的質點,除了綠色的動點和藍色的不動點之外,剩余的質點的運動狀態只取決于前后相鄰的質點,這種構建模型的方式就是計算思維中遞歸的方法。
我們可以將科學實驗的結果與模型運行的結果進行印證,如果能夠互相印證,則說明我們建立的模型能夠反映真實情況;如果不能互相印證,我們應該思考在建立模型或者實驗中是否忽略了某些要素,或者是否出現了建模錯誤,模型和實驗的互相印證能夠幫助學生更深入地理解波的性質。
完成實驗后,我們還可以將一維的繩波拓展到二維空間,觀察在平面中駐波會發生什么變化。NetLogo模型庫中的Wave Machine展示的是在二維空間中波的形狀變化(圖3)。
這個模型的構建邏輯與繩波是一致的,綠色的點表示動點,藍色的點表示不動點,我們可以調整振動的頻率、幅度、振動的位置、平面的阻尼值等參數,探究在二維平面內不同因素對駐波的影響。
將模型運用于科技教育中,可以很方便地幫助我們設計不同的探究實驗,觀察不同因素的影響。相對于科學實驗,模型能夠更好展現科學現象背后的本質,還能排除其他不確定因素,以便我們更好地觀察單一要素的影響。另一方面,模型也有一定的局限性。首先,模型的建立需要我們對事物有更深入的認識,建立錯誤的模型會導致我們產生認識的錯誤;其次,模型排除了其他影響因素,可能會導致我們忽視了一些應該考慮的變量。