刁順軍
(貴陽市第二十三中學,貴州 貴陽 550004)
程序思維,其實就是計算思維的另一種表述。計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。人們將它概括為分解問題、模式識別、抽象思維和算法設計四大部分。程序思維不是讓每個學生都掌握一門計算機語言,而是多給了學生一個看問題的角度,更全面的看待問題,多了一種解決問題的方法,這對中學生以后的學習和生活都會影響巨大。
給學生引入的機器人編程,是一個看上去龐大復雜的系統工程。但教會學生用思維導圖等方法去分解問題,幫學生理清思路,呈現出機器人編程的框架,把大問題分解成了若干個小問題,然后組織學生討論,我要求學生根據自己小組的情況寫出相應的對策,逐一解決。比如學生在訓練電腦制作活動巡線任務的荒蕪之地時,很多學生都出現機器人在砂盤中打滑的情況,有的即便離開了砂盤,也會偏離引導線,這時候我又帶著學生一起來分析,學生把打滑的問題進行分解,分別從機器人的前輪大小、小車重心、速度和進入砂盤的角度上分解,分析原因,找到了解決辦法,讓機器人小車達到理想的狀態。
模式識別要求學生分析相似的對象或經驗,并找出共同點。通過發現這些對象或經驗的共同點,學生就可以了解趨勢,從而能夠做出行為動作的預測。在學生編程過程中,因為想法不同,所以設計出來的東西存在差異,同樣一條線路,兩組學生用各自拼裝的機器人來進行巡線競速,第一組跑了三次都完成,最快20秒完成,第二組跑三次只完成了一次,而且用了50秒才完成。第二組學生也不甘“落后”,在充分對比第一組機器人結構和程序后,用按機器人編程的順序來把所涉及到的問題列出來,而且進行了分類,逐步解決,最終經過努力,成績也趕了上來。
在很多傳遞知識的載體中,單純文字不如圖文并茂更容易讓學生接受,圖文有時又不如視頻、動畫吸引學生,根據人的記憶特點,最容易讓我們記住的東西往往是親身的體驗和具體的實踐。中學生能不斷提出新的假設、理論,思維的敏捷性、靈活性、深刻性和批判性明顯增強。但有時也會出現一些問題,比如在學生機器人編程的活動中,他們受到生活中各種炫酷造型影響,把機器人小車拼裝成很有個性的樣子,但有的重心靠后,啟動機器人就會翹頭找不準線,有的重心太靠前,驅動輪又會打滑……學生物理重心知識欠缺,多多少少會出錯。電腦程序的執行是思維邏輯在電腦里的具體化,只有邏輯正確,布局合理,操作得當,才能夠不出錯,完美的執行任務?,F在初中生的思維邏輯水平還處于成長階段,他們能夠接觸到的思維訓練中,機器人編程思維算是較好的,有理論有實踐。編程過程通過反復的推理、歸納和分析執行程序,機器人可以實時檢驗思維邏輯的正確性。學生有了思維的鍛煉和真實的程序體驗,這可以讓他們在程序檢驗中提高自己的思維水平。
算法就是生活中實際問題的解決辦法,將實際的抽象性問題轉換成數理性的問題去解決。開始我只給學生講一個光電傳感器的巡線,因為這容易讓學生理解和入門。學生的知識水平有限,所以有很多的問題。比如有次小組競速任務練習中,學生用以前講過的程序不能全速運行,不然機器人很容易因為劇烈擺動而脫線。這時候,我便把巡線程序的經典算法p控制介紹給學生,而且在代碼中還加上了防脫線保護的算法,效果明顯好很多,即便人為讓機器人脫線,它都會在保護程序的作用下“回到正軌”。學生在老師的講解下,理解了代碼的“大作用”,他們的困惑解決了,機器人不再脫線,這為我后來給學生講解更難,但更經典的巡線pid算法進行了很好的鋪墊。
初中學生還沒有穩固的自我,思維在不斷的完善之中,有很多不適合自己的思維方式影響著他們,從而改變他們的想法和做法。而且這個時期的學生也處于叛逆期,一般不會輕易的接受和自己有出入的意見。但通過機器人編程就不一樣了,學生邏輯思維正確與否,全面與否,通過及時的實踐檢驗就是最好的辦法。學生根據自己的想法,編寫出具體的邏輯程序,然后把程序導入機器人小車,讓機器人小車運行,運行結果就給出了最真實的答案。這樣通過自己實踐的東西最具說服力,可以讓他們自己開心的改變自己,一步一步的讓自己的思維變得嚴謹,經過模式識別后進行算法的確定,程序就會編寫得很快,成功率也很高,而且每一次程序調試成功都為孩子們的臉上增添了不少笑容,讓我們的孩子更加快樂、更加健康的成長!
讓學生學習編程并不是為了讓孩子都去寫代碼當程序員,而是多給他們培養出一種思考問題、解決問題的思維方式,有利于完善孩子們的思維和邏輯。我相信通過廣大教育工作者的不斷努力,會讓中國的教育更上一個臺階!