余海燕
2018年初,教育部正式公布了《普通高中信息技術課程標準》(2017年版)。新版課程標準明確提出了信息技術學科核心素養之一就是計算思維,它是指“個體在運用計算機科學領域的思想方法形成問題解決方案的過程中產生的一系列思維活動”。具備計算思維的學生在信息活動中能夠采用計算機可以處理的方式界定問題、抽象特征、建立結構模型、合理組織數據;通過判斷、分析與綜合各種信息資源,運用合理的算法形成解決問題方案;總結利用計算機解決問題的過程與方法,并遷移到與之相關的其他問題解決之中,它是一種問題解決的方式。高中信息技術課堂教學不再單是信息技術知識與技能的訓練與傳授,而更注重學生的邏輯思維能力、創新能力的培養。那么,到底如何將計算思維落地呢?如何使用計算思維解決問題呢?在具體教學中如何組織和呈現相應教學內容,使學生理解計算思維的基本方法,而不是簡單的概念和知識的堆積呢?筆者以初一“機器人走迷宮”教學內容為例講述使用計算思維來解決問題的一般過程。
計算思維首先是需要將問題分解為一系列較小可管理的問題的過程,分解有助于學生找到復雜問題的解決方法。
機器人要走出迷宮,過程很復雜,它要面對各種不同的情況,按照任務的需要,筆者讓學生把機器人在迷宮中可能面對的情況進行分解,發現機器人在迷宮中行走可能會碰到三種狀況(如表1)。只要解決機器人在這三種狀況下該采取的行動,就可以讓機器人順利走出迷宮(如圖1),任務分解后,難度大大降低,學生躍躍欲試,探究熱情高漲。
所謂“模式識別”,即找出分解后問題各部分之間的異同。首先,學生通過比較人蒙上眼睛走迷宮,來找出機器人走迷宮與人走迷宮兩者之間的異同。筆者請一位學生蒙上眼睛,讓他用一只手尋找教室的出口,發現他根本找不到方向,再請另一位學生用兩只手配合尋找教室的出口,會發現他能在各種狀況下(如拐角)很好地做出相應的判斷,順利地找到出口。其他學生在這個過程中認真觀察、積極思考第二位學生是如何應對每一種情況的,并記錄下來。學生很容易就會發現,人在黑暗中需要通過雙手來摸索路線,而且在偌大的空教室里只有摸到墻才能找到出口。同樣,機器人在偌大的迷宮里要想不迷路,也需要靠墻走。
其次,人要通過雙手配合來尋找迷宮出口,那機器人需要什么來充當手呢?學生很容易聯想到已學過的紅外避障傳感器,只要機器人裝上紅外避障傳感器,它就能像人一樣感知周圍的環境。人需要雙手配合才能走出迷宮,相應地,機器人至少也需要兩個紅外避障傳感器來尋找迷宮出口。
人在黑暗中走迷宮與機器人走迷宮的異同如表2所示。
任何事物都有相似性,模式識別教會了學生尋找到事物之間的共同特點,并利用這些規律去解決問題。
所謂“模式歸納”,即探尋形成這些模式背后的一般規律,尋找一類問題的一般方法,開發可用于解決許多類似問題的解決方案。模式歸納也稱為抽象化。這是計算思維的基礎。
這時,教師會分發迷宮圖與小機器人給各小組,各小組試著尋找方法引領機器人走出迷宮,學生通過小組間的討論、分析發現,機器人走迷宮的策略跟人很相似,走出迷宮的方法可以有兩種,即靠左墻走或靠右墻走,也就是走迷宮的左手定則與右手定則。在探究過程中,分解出來的三種機器人走迷宮狀況該分別采取什么行動,學生也有了初步的答案。層層遞進的任務,引導學生學會思考,學會分析問題,在不知不覺中培養了他們的計算思維能力。
抽象化是將重要的信息提煉出來、去除次要信息的能力,學生掌握了抽象化的能力,就可以將一個解決方案應用于其他事物中,觸類旁通,制訂出解決方案的總體思路。
當我們遇到復雜的問題時,可以將問題分解成較小的部分,然后按照合適的順序組合起來解決問題。程序的靈魂是算法,流程圖是一種很好的算法表示方法,它的特點是結構清晰、直觀,可以讓學生對程序的運行過程及邏輯關系有更透徹的了解,筆者帶領學生根據前兩步的分解,概括、畫出機器人走迷宮的流程圖(如圖2)。同時,使用流程圖可以輔助學生學習程序設計,將復雜的問題直觀化,幫助學生加深對程序設計的理解,提高課堂學習效率。
有了流程圖,編程就變得容易多了,接下來,學生需要反復測試來修改程序(如上頁圖3)。在程序設計過程中,學生通過編程、仿真,不斷發現問題、分析問題,然后修改程序,再仿真,如此往復,最終解決問題完成任務。學生主動探索,快樂學習,這也會使他們在不斷嘗試中獲得成功的體驗。本節課學生跟隨教師進行玩游戲、做任務、小組探究等環節,95%的學生都完成了教學目標,讓機器人順利走出了迷宮。另外,在課堂中開展小組間比賽,如看看哪組機器人走出迷宮的時間最快,尋找機器人走出迷宮的最優策略等。有不少學生發現,如果機器人沿著墻的右邊走,也就是用右手定則可以更快地走出迷宮。這也表明本課的設計對培養學生的計算思維是有效的。學生計算思維的培養在這一系列的活動中得到發展與提升。
本課,學生通過模擬機器人在迷宮中行走的體驗活動由淺入深,分解任務,層層遞進,通過實物研究歸納出機器人走迷宮的三個典型位置,并探索出在這三個位置中機器人應該如何行走,再將歸納出的機器人走迷宮的一般方法轉化成流程圖,并根據流程圖用圖形化軟件編寫出機器人走迷宮的程序。學生通過觀察、比較、探究,一步步地找到機器人走迷宮的策略。最后,學生可以靈活地運用左(右)手定則走出各種各樣的迷宮。在這個過程中,學生學會了如何去尋找解決問題的方法,以后對相似的問題他們也都會自己去尋找解決的方法與最優策略。同理,在現實生活中,學生在火災等某些緊急的情況下,可以運用相應的策略找到安全出口。
這是在信息技術課上培養學生計算思維的一般過程,教師通過問題的引入,引導學生分解、概括、抽象、設計,尋求解決問題的思路,構造問題的解決方法,拓展學生計算思維的意識與能力,以此提高他們運用信息技術知識實現問題的抽象、進行問題求解的能力。計算思維是攻克難題的一種方式,它能增加學生面對模糊、復雜或開放性問題時的自信心。教師在信息技術課堂中要時刻注意培養學生的計算思維,這將會為他們的終身發展奠定堅實的基礎。