彭仁杰 江蘇省蘇州高新區教學研究室
計算思維是指個體運用計算機科學領域的思想方法,在問題解決過程中涉及的抽象、分解、建模、算法設計等思維活動。如何培養學生的計算思維是這幾年討論的熱門話題,通過多年的教育教學及反思,筆者認為編程教育雖然不是培養計算思維的唯一途徑,但都是最有效的途徑。計算思維涉及的二級指標分解、抽象、歸納、算法思維和評估,都能在編程中找到。因此,編程教育是目前中小學信息科技課程中的重要環節。
部分教師把教學目標和教學重點放在了知識點的傳授上,常常忽略對學生思維的培養,如過度強調語法的講解、用刷題的形式來判斷學生對知識是否掌握等。編程教學還停留在“學編程”階段,很難做到促進學生思維的深度提升。
部分教師采用的“任務驅動”形式過于單一,延用了操作性任務的課堂組織方式,如演示的操作和后期學生需要完成的任務一致、學生一遇到問題教師就演示講解、最后用能否模仿任務來簡單評價學生的學習狀況等。
在編程教育中經常會遇到學生學習積極性不高、遇到難的問題不愿意積極主動思考的現象,導致學生被動接受知識,過度依賴教師,實踐活動沒有創新,學習效果不夠理想。
如何更有效地進行編程教育,真正讓編程教育提升學生思維,一直是信息技術教師討論的話題。筆者在多年的教育教學實踐中發現,引入游戲化策略是一個很不錯的選擇。
玩游戲是讓學生在玩游戲的過程中體會算法思想。例如,在學習遞歸法的時候,先讓學生玩“漢諾塔”游戲,看誰玩的層數多,再讓學生討論游戲攻略,讓學生體會把大問題分解成小問題,到邊界后回歸的過程。當有了游戲的體驗以后,再提出遞歸的概念,學生就更容易理解。學生在玩游戲的時候注意力非常集中,思考如何玩游戲的過程,正好是體驗算法思想的過程。當有了較為深入的體驗后,教師再講解總結,學生就會很容易吸收理解,后期的代碼編寫完成度更高。
設計游戲就是讓學生在游戲設計過程中提升計算思維。例如,初中學習VB時可以讓學生設計“超級瑪麗”游戲,讓瑪麗從左邊跑到右邊,并能實現一些功能,如循環跑、遇到陷阱掉落、用空格控制跳動等。當學生變成游戲的設計者、開發者時,就能很好地調動他們學習的主觀能動性。在設計階段,學生會想盡辦法把游戲設計得更好玩。在編寫游戲代碼的過程中,學生會更積極主動地去學習以完成游戲開發。在編寫完成后玩游戲,還可以讓他們有更強的成就感。一系列過程,讓學生的設計思維、創新思維、計算思維、迭代思維等都得到了很好的鍛煉。
筆者發現,在教學過程中好玩的游戲涉及很多節課的知識,但這些知識點與教材順序并不一致,所以需要教師深入研讀新課標內容,厘清教材邏輯和內容結構的關系,分析學生的認知結構,從而對教材進行二次開發,設計好玩且知識點呈現合理的游戲主題,讓學生根據主題設計并完成游戲,從而全面提高信息素養。例如,在“打地鼠”游戲中,要求學生用約4課時的時間來設計開發游戲,完成對多個知識點的掌握(如下表)。
(1)開發的設計提升學生創新思維。在設計游戲的時候,教師不用一開始就限定游戲規則,可讓學生自己設計游戲功能,最后比一比誰的游戲更好玩,讓學生在設計游戲的過程中鍛煉創新思維。例如,在“打地鼠”游戲中,有的學生設計了計時記分功能,有的學生設計了打錯地鼠扣分的功能,有的學生設計了不同分值的地鼠不同的分數等。實踐證明,教師只要注重引導,把課堂還給學生,學生就一定有無限的創意,也會有更強的編寫意愿。教師需要利用提供支架、小組合作等方式讓學生把創意變成個性的游戲功能,讓學生在想象、創造、問題解決中不斷鍛煉自己的創新思維。

超級瑪麗功能 知識點地鼠探腦袋 角色認識、循環語句地鼠隨機探腦袋 隨機數、坐標錘子的控制 鼠標控制、判斷語句得分 變量開始按鈕 廣播
(2)利用高質量問題,提升學生思維的深度。問題能引發思考,但不是所有的問題都能引起學生關注和思考,教師可以利用游戲的挑戰性,讓學生解決一些具有挑戰性的劣構性問題,讓學生具備轉化和生長知識、提升思維深度的能力。例如,在玩“漢諾塔”的時候,請學生談論并總結出游戲攻略。學生根據這個問題,會總結每個塔盤移動的規律,從而找出游戲的規律,提高遞歸思維。再如,在玩“石頭剪刀布”游戲時,教師提出如何在計算機里表示“石頭、剪刀、布”三種狀態,讓學生思考如何抽象現實問題,提升學生抽象思維能力。
(3)利用作品展示,拓展學生思維的寬度。游戲的展示是非常重要的教學環節,教師可以讓學生以個人或者小組為單位展示作品和分享游戲設計、開發的思路。有的學生游戲技能高超,有的學生代碼編寫巧妙,學生在相互分享中可以相互學習,拓展思維的寬度。同時,教師也可以帶領學生一起進行反思和總結,促使學生對問題進行深入的認知,促進知識的構建。
很多教師發現學生在編程過程中經常出錯,影響了教學進度,因此他們會特意降低難度以保證教學的順利進行。教學支架的使用需要考慮教學難度、學生思維發展路徑等多方面因素。在編程學習中,代碼的調試也可以鍛煉學生的思維,教師需要利用游戲給學生創造沉浸式環境,讓學生發現問題、分析問題、解決問題,在不斷解決游戲BUG的過程中提升思維能力,同時也可以深入理解迭代思維。迭代思維是編程教育中不可或缺的思維,好的項目需要不斷迭代提升。迭代思維能促使學生根據解決問題的需要,自覺、主動地尋求更為恰當的方式來獲取與處理信息。
2017年,國務院印發《新一代人工智能發展規劃》,明確“人工智能成為國際競爭的新焦點,應逐步開展全民智能教育項目,在中小學階段設置人工智能相關課程、逐步推廣編程教育、建設人工智能學科,以培養復合型人才,形成我國人工智能人才高地”。在中小學新課標中也有對人工智能教育的要求。教師可以結合學生實際情況探索與人工智能有關的游戲,提升學生利用新技術創新性解決問題的能力。例如,小學階段在用圖形化編程工具編寫了“賽車游戲”以后,可以與學生一起探索如何用開源機器人加傳感器做賽車游戲,比比誰的賽車更快,軟件和硬件的結合讓學生更有學習的積極性。再如,高中階段在用Python編寫了“石頭剪刀布”游戲后跟學生一起探索是否可以讓計算機識別人的手勢,做到真正的人機比賽,讓游戲更真實,同時也讓學生對圖像識別和機器學習有更深入的認識。
很多教師對學生學習成效的評價過于單一,僅評價任務完成和未完成,這在影響學生學習積極性的同時也不利于教師對學生、學生對自己學習狀況的判斷。新課標強調以評促教、以評促學,體現“教-學-評”一致性,游戲編程是一個復雜的項目,簡單的評價無法滿足教與學的需求,需要教師探索多元評價的評價體系。
在評價內容上可以進行多元化的評價。對于學生學習狀態,可以從課題參與、小組合作等方面進行評價;對于學生游戲作品,可以從完成度、創新性、設計性、游戲體驗感等多方面進行評價。同時,充分發揮學生的主體地位,在評價時可以采用自我評價、組內評價、組間評價、教師評價等多元化評價,這種多元化的評價同時也是給創作者多角度的建議。
評價的時機需要教師智慧把握,不用局限于作品完成后,在小組游戲設計頭腦風暴后、游戲作品展示后都可以進行組間評價,讓學生在吸收他人意見后進行一次迭代,學生每次作品的迭代,都是對自己迭代思維的鍛煉。
總的來說,基于游戲化策略的編程教育能很好地完成教育教學工作,學生計算思維也能得到很好的鍛煉。但如何讓學生在“玩中學、學中玩”,而不是玩得很開心、學得卻很少,還需要持續的探索和迭代。教師需要不斷學習課程標準,更新自己的教學理念,結合教學目標和學習目標,制訂好詳細的教學方案,才能真正寓教于樂,讓學生在游戲中提升核心素養。