王嘉煥
【摘要】本文以編程教育為出發(fā)點,結(jié)合計算思維的特征,以比例巡線算法為基點,構(gòu)建編程教育中學(xué)生計算思維培育的“G-A-C-O”教學(xué)范式。通過教學(xué)實踐解決存在的問題。從而達到培育計算思維的目標。希望此范式為計算思維的培養(yǎng)提供思路與方法。
【關(guān)鍵詞】計算思維? 編程? 比例巡線算法? “G-A-C-O”教學(xué)范式
一、引言
信息技術(shù)之所以得到進步和發(fā)展,其根本在于充足的信息技術(shù)人力資源支撐。培養(yǎng)信息技術(shù)人才成為世界需求,而計算思維又是信息技術(shù)人才的必備能力。這是當今時代對教育的新要求。新版《普通高中信息技術(shù)課程標準》提出:計算思維是信息技術(shù)核心素養(yǎng)的重要組成。計算思維作為解決問題的能力特征,滲透在整個問題解決過程中。
二、思考:“G-A-C-O”范式的由來
筆者認為編程是邏輯流動的體現(xiàn)。借助計算機領(lǐng)域的編程技術(shù),形成合理的形式化方案將問題解決。可見,編程體現(xiàn)了計算思維。
筆者以比例巡線算法為基點對中學(xué)生計算思維培育展開思考:如何提升學(xué)生解析能力,助力編程學(xué)習(xí);如何訓(xùn)練學(xué)生思維嚴謹,適用學(xué)習(xí)生活;如何培養(yǎng)學(xué)生計算思維,適應(yīng)信息社會發(fā)展?
歷經(jīng)一年教學(xué)實踐,資料匯總分析后,筆者總結(jié)歸納了編程教育“G-A-C-O”范式,即Gather-Abstract-Conclude-Optimize,將編程的抽象映射到具體的問題,實現(xiàn)復(fù)雜問題一般化,從而解決問題。
三、發(fā)現(xiàn):“G-A-C-O”范式中的計算思維
以“樂高機器人比例巡線”為例——基于光電傳感器調(diào)整巡線轉(zhuǎn)向從而優(yōu)化巡線過程的控制算法。
(一)計算思維本質(zhì):人的思維主導(dǎo)計算機完成指令
學(xué)生看到提示,首先想到路線的復(fù)雜度而非機器人如何巡線,這是人的思維決定的,圖像優(yōu)先。從機器人巡線看,就是通過樂高編程控制機器人自動完成。這對機器人而言是思維復(fù)刻,是一種機械化操作,是人的思維主導(dǎo)機器人完成。這說明計算思維雖在機器人中體現(xiàn),本質(zhì)上仍是人的思維。
(二)計算思維要求:像計算機科學(xué)家那般嚴謹?shù)厮伎紗栴}
完成比巡線算法,不單是編程,更重要的是將任務(wù)進行抽象分析,將任務(wù)一般化,通過思考形成結(jié)構(gòu)化解決方案。一些學(xué)生會忽視“比例”,直接套用“Z字形巡線”。實際上前者主體是順序結(jié)構(gòu),后者主體是選擇結(jié)構(gòu),雖能實現(xiàn)巡線但與“優(yōu)化”無關(guān)(如圖2)。
這歸根結(jié)底是不嚴謹?shù)乃伎紝?dǎo)致。說明計算思維不只是需要我們學(xué)會編程,而是需要我們像計算機科學(xué)家那般嚴謹?shù)厮伎紗栴}。
(三)計算思維核心:抽象與自動化
根據(jù)圖2描述,實現(xiàn)比例巡線算法需更多的數(shù)據(jù),顯得更復(fù)雜抽象,需要有良好的數(shù)學(xué)和邏輯思維能力為基礎(chǔ)。從具象感官到抽象分析,再到模型建構(gòu)形成自動化方案,探索比例巡線算法的過程可以輔助學(xué)生理解計算思維的自動化和抽象兩個特點。
四、探究:“G-A-C-O”范式使用
理解巡線任務(wù)情境,明確巡線工作原理——讓顏色傳感器始終停留在線的邊緣,保障機器人平穩(wěn)巡線行進。這一點非常關(guān)鍵。類似數(shù)學(xué)學(xué)習(xí),只有知道了某條定理或概念,才會運用相關(guān)知識解題?!癎-A-C-O”范式遵循認知規(guī)律,有效輔助教學(xué)。
(一)Gather:獲取數(shù)據(jù),形成圖表
為排除手動測量的誤差,一般采用程序獲取場地反射光強度,并記錄于數(shù)據(jù)表格。
(1)確定測量路徑
圖中紅圈表示傳感器檢測點,黑色長條表示路線。
(2)編寫測量程序
編寫程序控制從上往下對場地進行測量,電機旋轉(zhuǎn)角度為前進距離。
(3)記錄測量數(shù)據(jù)
將測量顯示的結(jié)果記錄在數(shù)據(jù)表格中,如表1。
表1中,加粗部分表示點位3—點位7的反射光強度和對應(yīng)電機轉(zhuǎn)過角度。從表1可見,當傳感器到達點位3之前,讀數(shù)在60以上;到達點位3時讀數(shù)立馬下降;過了點位3直至傳感器完全在黑線上(點位5),讀數(shù)驟降,約為5;之后讀數(shù)開始上升,直到過點位7,讀數(shù)有恢復(fù)到60以上。
至此,基本可以鎖定巡線的關(guān)鍵數(shù)據(jù)在點位3-點位7產(chǎn)生??s小分析范圍后,借助本環(huán)節(jié)的數(shù)據(jù)采集技巧對該區(qū)間進行詳細地測量并記錄數(shù)據(jù)。
(二)Abstract:處理數(shù)據(jù),明確原理
(1)生成數(shù)據(jù)折線圖。借助Excel將記錄數(shù)據(jù)生成平面坐標數(shù)據(jù)圖(如圖6,其中黑色長條表示黑線)。
由圖可以得出2號、3號區(qū)域讀數(shù)變化近似一條直線,即傳感器接近黑線讀數(shù)慢慢變小,遠離黑線讀數(shù)漸漸增大。這就是傳感器讀數(shù)與檢測點到黑線距離成正比例關(guān)系。
(2)建立平面直角坐標系。為有效理解正比例關(guān)系。筆者將此圖稍作改變,轉(zhuǎn)換成熟悉的平面直角坐標圖,如圖7。
以點(160,32)為原點,以電機旋轉(zhuǎn)角度為X軸,反射光強度為Y軸,建立直角坐標系。
(3)明確比例巡線工作原理。根據(jù)圖7聯(lián)想到一次函數(shù),明白正比例關(guān)系,發(fā)現(xiàn)3號區(qū)域有類似結(jié)果。如何選擇是關(guān)鍵。1號、4號區(qū)域傳感器距離黑線太遠,機器人會一直旋轉(zhuǎn)根本無法前進;3號區(qū)域傳感器在黑線上,理論上一直檢測到黑線可保持直線前進,但由于自身結(jié)構(gòu)、摩擦、黑線形狀發(fā)生改變等因素?zé)o法保持直線行進,雖是正比例關(guān)系,可一旦走偏,就無法準確告訴機器人傳感器與黑線的距離,導(dǎo)致無法平穩(wěn)行進;2號區(qū)域左半邊是白色區(qū)域,右半邊是黑色區(qū)域,只要將傳感器放在黑線邊緣,一旦發(fā)生偏轉(zhuǎn)或黑線形狀改變,機器人便可根據(jù)讀數(shù)確定調(diào)整幅度,繼續(xù)沿著黑線邊緣行進。這種控制方式就是比例巡線。
(三)Conclude:建立模型,編寫程序
(1)建立模型。明確比例巡線工作原理,是建構(gòu)模型的基礎(chǔ)。傳感器偏離距離大,轉(zhuǎn)向幅度就大;反之,轉(zhuǎn)向幅度就小。不難得出,“偏離距離”由傳感器讀數(shù)與邊緣處讀數(shù)之差來確定,前者為“誤差值”,后者為“目標值(一般選擇點位3與點位5讀數(shù)的平均數(shù))”。結(jié)合正比例函數(shù)解析式(y=k·x)可得到:
轉(zhuǎn)向幅度=(傳感器讀數(shù)-目標值)×比例系數(shù)
(2)編寫程序。根據(jù)計算公式,完成編程:
編程中的數(shù)據(jù)傳遞是關(guān)鍵,借助數(shù)學(xué)公式,構(gòu)建計算模型,完成編程。
(四)Optimize:優(yōu)化程序,遷移類比
調(diào)試是比例巡線程序重要部分。通過不斷調(diào)試,驗證目標值的可靠性,確定補償值的有效性,保障機器人平穩(wěn)行進。
(1)優(yōu)化程序:優(yōu)化測量程序:驅(qū)動模塊放到循環(huán)結(jié)束前,可獲取初始光值,確定最大讀數(shù)助力分析,顯得思維過程更嚴謹;優(yōu)化穩(wěn)定性:如果將目標值增加到35,機器人將沿著邊緣線稍偏左行進。這使機器人既可遠離3號、4號區(qū)域,也可增大機器人的反應(yīng)空間。測試路徑?jīng)Q定目標值。如果路徑是圓形,就需要將傳感器放在3號、4號區(qū)域的邊緣線,重新確定目標值,確保只朝一個方向轉(zhuǎn)彎。補償值則需嘗試不同系數(shù),以機器人穩(wěn)定行進確定最佳補償值。
(2)遷移類比。學(xué)生根據(jù)“G-A-C-O”范式可以一步步去分析復(fù)雜的編程,將復(fù)雜的過程細分成單個編程步驟,由繁化簡、由難變易,上一步做到位,就可進行下一步,最后都可以實現(xiàn)程序設(shè)計。學(xué)生可以借助范式解決問題后,習(xí)得相關(guān)技,實現(xiàn)解決一個問題到解決一批問題。
五、總結(jié):“G-A-C-O”范式的成效
筆者歷經(jīng)一年實踐驗證范式的可行性。使用范式一步步對問題進行抽象分析,是對學(xué)生抽象思維鍛煉,使學(xué)生面對問題時較快理清思路,更好參與到學(xué)習(xí)中?;氐健癎-A-C-O”范式,來看看取得的成效:
(一)促進學(xué)生解析能力提升,助力編程學(xué)習(xí)。
利用“G-A-C-O”范式學(xué)習(xí)編程,進行解析并推導(dǎo)數(shù)據(jù)間關(guān)系,最終完成編程。這意味著“G-A-C-O”范式促使形成一套基于信息技術(shù)編程解決問題的方法。從而知曉編程背后的機理,掌握編程解決問題的解析能力。
(二)促進學(xué)生形成嚴謹?shù)木幊趟季S,適用學(xué)習(xí)方方面面。
抽象思維將具體問題一般化,得到參數(shù)間的一般關(guān)系,從而建構(gòu)模型。學(xué)生運用“G-A-C-O”范式解決編程問題,必須確保每個過程的各個參數(shù)都有根有據(jù),每一步都要合理準確。這有利于形成嚴謹?shù)木幊趟季S。
(三)促進計算思維培育,提升信息社會的生存能力。
“G-A-C-O”教學(xué)范式幫助學(xué)生抽象分析問題,尋求本質(zhì)。這有助于深化對信息技術(shù)的本質(zhì)理解。往后遇到諸多品牌的教學(xué)機器人都可以實現(xiàn)比例控制算法。從而促進學(xué)生對信息技術(shù)的運用,甚至創(chuàng)造出新的信息技術(shù),提升學(xué)生在信息社會的生存能力。
參考文獻:
[1]郭偉,肖廣德.論計算思維的培養(yǎng)對學(xué)生發(fā)展的價值[J].現(xiàn)代教育技術(shù),2019.
[2]李峰,趙健.高中信息技術(shù)課程標準修訂:理念與內(nèi)容[J].中國電氣化教育,2016,(12).
[3]周以真.Computational Thinking[J].Communications of ACM,2006,(3).