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