熊國全
近年來,由于機器人比賽的蓬勃發展,機器人教學正從“為技術而教”轉變為“為思維而教”,它已成為培養學生計算思維能力的新平臺。下面,筆者結合IRobotQ 3D虛擬機器人汽車總動員項目教學實踐,談談如何在機器人教學中滲透計算思維的諸要素,從而提高學生的計算思維能力。
● 對比求解,激發計算思維意識
培養學生的計算思維首先在于激發其計算思維意識。因此在教學中,我們應有意引導學生用計算思維的方式求解問題,使其體會計算思維的優勢,從而激發他們主動利用計算思維去解決問題的意識。
例如,《賽車搶分》這節課的教學要求是:在沿著賽道行駛的過程中,被限制大小的機器人小車盡可能地獲取路邊的得分物。一開始,學生沒有系統思考如何獲取路邊的得分物,他們看到機器人小車在行駛過程中,靠自身結構獲取路邊的得分物,就一直在想如何加寬機器人小車車身,結果機器人小車重心不穩,行駛狀態很不穩定,有時還會遺漏得分物,嚴重影響后來的成績。因此,我展示了一個方案:給機器人安裝兩只手臂,這樣它在沿著賽道行走的同時,能直接獲取一路上的得分物。學生對此方案感到很驚奇,我便借機引導他們用計算思維的方式去思考如何完成任務。
首先,將這個任務分解成若干子問題:如何判別機器人到達得分物附近?機器人如何獲取路邊的得分物?機器人在獲取路邊得分物的過程中,是否會影響到行駛狀態?影響機器人行駛狀態的因素有哪些?
其次,尋求這些子問題的解決方案。在這個過程中,應力求在眾多方案中選擇最優的解決方法。
最后,合并所有子問題的解決方法并加以完善,得到整個問題的求解方案。這里需要關注的是不同的子問題的解決方法之間是否有沖突,能不能并行處理,如何協調它們才是最佳。
經過對比實驗,不少學生探索出自己的最佳方案:有的利用兩個伺服,在機器人左右兩側各安裝一只活動手臂,當紅外傳感器檢測到某一側存在得分物,那一側就揮動手臂;有的利用一個伺服在機器人前方安裝一只活動手臂,當紅外傳感器檢測到某一側存在得分物,就向那一側揮動手臂;等等。在這個過程中,學生普遍感覺探索得到的方案在空間、時間上的操作步驟更協調、效率更高,也深刻體會到如果利用計算思維解決問題,能迅速提高研究、分析、解決復雜問題的能力,大大提高完成任務的效率。這樣就有效激發了學生利用計算思維的主動意識。
● 設解問題,培養計算思維能力
具備計算思維能力的表現還體現在求解問題的過程中,發現其中的問題,并選擇最優的解決方案。因此,教師應創造機會引導學生利用計算思維解決機器人運行的實際問題,從而培養他們計算思維的實踐能力。具體做法如下。
1.精心設計問題
教師可以循序漸進地提出適宜的機器人項目問題,這些問題應滿足如下要求:①要有適當難度,具有層次性和啟發性。②要在教和學方面富有探索性,能充分挖掘與培養計算思維能力。③要能訓練學生的問題求解能力。④要有利于啟發學生自己發現問題,獨立解決問題,使他們逐步養成獨立獲取知識和創造性地運用知識的思維習慣。
例如,在講授《小車進加油站》一課時,當學生完成“機器人小車直接進入加油站”的基本問題后,我提出新問題:當高速行駛時,機器人小車容易越過加油站,讓機器人小車倒車進入加油站(車頭朝外)成為必然,那么如何控制機器人小車倒車進入加油站呢?這個問題有一定難度,足以引導學生去探索如何控制機器人的轉彎幅度。同時,它還涉及機器人轉彎幅度的空間復雜性和時間復雜性。
2.實踐求解問題
在機器人教學過程中,學生會遇到各種實際問題,因此,我鼓勵學生針對這些問題練習,利用計算思維去尋求最優方案。
例如,在《機器人小車走中線》項目訓練時,小車轉彎速度取固定值,易導致小車不能高速行駛,影響到達終點的成功率。最初,學生采用的是分段給機器人小車賦予不同的速度值,但效果不是很理想。于是,我引導學生對不同的路段進行實踐研究,利用計算思維方式解決機器人運行的實際問題,最終將控制機器人小車轉彎行駛部分修改成動態轉彎,如左邊電機速度=基準速度-(左測距-右測距)/轉換比例,右邊電機速度=基準速度+(左測距-右測距)/轉換比例。
其中,小車在不同路段時的基準速度(左測距=右測距時,往前跑的速度)是不同的;轉換比例,即將小車與兩側欄桿的距離之差轉換為速度之差的比例,一般為100(根據機器人的結構,轉換比例越小,轉彎幅度越大)。
通過這樣有針對性的利用計算思維去求解問題,學生能主動使用相關方法,不斷歸納總結,逐步系統地培養計算思維的實踐能力。
● 歸納總結,提升計算思維廣度和精度
1.個人總結反思
每次訓練后,學生針對某些問題或多或少會有一些解決思路,于是我及時組織學生撰寫有針對性的總結反思,記載問題求解過程中的一些實踐思路及有待解決的疑難雜癥。學生一方面可以及時總結經驗,厘清思路,回憶訓練過程,加深印象;另一方面可以總結訓練中的教訓,反思改進操作的方式、方法,提高自己的問題求解水平。例如,在《機器人小車走中線》項目訓練中,通過反復實驗,學生們自己總結出:左前方和右前方兩個距離傳感器的旋轉角度設置與道路彎曲程度有一定關系,當道路彎曲程度較小時,兩個距離傳感器略微向正前方旋轉,旋轉角度設置為40,這樣機器人能提前檢測到道路的彎曲狀態,就會自動將基準速度提到70以上。
2.師生互評完善
針對學生的求解方案,我組織學生進行互評,學習優點,幫助解決不足,鼓勵他們大膽實踐,嘗試新方案,激發他們求解新問題的興趣。例如,在《機器人小車高速行駛》項目訓練中,一位學生提出了無級變速的想法,但他沒有解決在不同速度之間切換時機器人行駛狀態的穩定問題。于是,其他學生開始嘗試這種方案,共同尋求解決機器人行駛狀態的穩定問題。后來有學生提出了無級變速的改進版:若機器人與正前方的障礙物之間的距離由大于2000狀態變為小于2000時,速度由70分段逐漸減至50,而不是瞬間跳至50。這個新方案比原有方案改進了不少,但運行分段速度的時間不好控制。此時,我及時給學生補充變量的概念,并提出無級變速的變量版:將機器人速度設定為一變量,當速度要由70減至50,就將此速度變量先減1再運行一次,然后循環剛才的操作,直至速度變量為50,這樣機器人在速度切換時行駛狀態就可以保持相對穩定。這樣的師生互評講解,一方面能促進學生自主學習,使其努力尋求解決問題的最優方案;另一方面能共享資源,集中師生所有的智力有的放矢地完善方案,使原有的解決問題方案不斷得到高水平的補充完善。在不斷歸納總結的過程中,學生也對利用計算思維解決問題有了更深的了解,在求解方案時考慮得越來越廣,越來越精。