高 晗
(吉林省白山市第一中學 吉林白山 134300)
計算思維最早是在2006年由周以真教授在美國計算機權威刊物中提出的,他認為,“計算思維”就是運用計算機科學的基本概念進行問題的求解、系統設計等思維活動。通俗的來說,“計算思維”是通過簡略、轉換和仿真等方法來把一個看起來比較困難的問題解釋成一個可以被人們認知以及被解決的問題,實際上,它就是一個解決問題的過程?!坝嬎闼季S”包括了制定問題,選擇使用工具,組織分析數據,抽象模型,制定方案,解決問題,以及將解決問題的過程應用到更加廣泛的過程之中[1]。
總的來說,計算思維不是要求人類像計算機那樣思考,而是讓我們思考如何利用計算機簡化解決過程和優化解決方案,提高我們的做事效率。
在以往程序設計的教學過程中,教師對學生進行的都是重細節輕思維的訓練,最終導致學生思路狹窄,學完后不知道還能用程序設計做些什么。在學習的過程中,學生只是對代碼進行了簡單的機械式記憶,并不能很好的內化為己用。而且在缺乏趣味性的教學活動中,學生學習參與度不高,缺乏學習熱情;實驗時多按步驟亦步亦趨,缺乏獨立思考和自主實踐精神。這些問題將會導致學生計算思維薄弱,學生編程能力不強[2]。所以將游戲引入到程序設計的教學活動中來,有益于提高學生的學習興趣。為了滲透“計算思維”的培養,游戲化程序設計需要遵循以下幾個原則:
教學目標即是游戲任務的依據導向,也是游戲過程的航標指向,所以教師必須緊緊圍繞選修課教學目標,設計需要經過思考才能完成的教學任務,讓學生在思考的過程中學會將總的目標任務逐步分解、歸納,并通過流程圖的方式設計出程序算法。例如,教師可以通過引入生活中的“閏年”問題,讓學生判斷2020年是否是閏年,再通過教師事先做好的程序進行“閏年”的判斷,讓學生通過比較人與程序的計算速度,體驗程序設計的奧妙。還可以通過“漢諾塔”問題的引入,讓學生意識到有效借助計算思維,借助計算機強大的計算能力,就能解決大規模的計算問題。
將程序設計游戲化的目的在于吸引學生的注意力,讓學生樂于參與到活動中來,因此,游戲任務的設置要富有趣味。程序設計中的重要知識點應巧妙融入游戲中,從而設計出妙趣橫生的游戲環節,設置恰當的游戲任務,激發學生的參與欲望。例如,在游戲設置的過程中,可以讓學生進行“中共特工”的角色扮演,讓學生通過自己的思考,設計出不易被“敵人”破譯的密文。亦或是可以讓學生在“貪吃蛇”、“俄羅斯方塊”、“超級瑪麗”等簡易的學生熟悉的游戲設計中,熟悉并掌握程序設計中的類、對象、屬性、事件、賦值語句、條件語句和循環語句等基礎知識的應用場景。
教師要在教學的過程中結合“計算思維”,有目的、有計劃的設計游戲,在活動中發揮“導”作用,把握游戲節奏,關注游戲過程。在游戲設計的過程中要體現分解、抽象、概括等計算思維的思考方式,使學生通過參與游戲潛移默化的形成計算思維[3]。
通過體驗教師制作的簡易小游戲,教師可以繼續通過設置疑問,讓學生解析游戲,分析問題。通過畫流程圖的方式,分析游戲功能后臺的代碼如何編寫,并通過新舊知識的相互串聯,逐步分解任務,經過不斷的程序調試、代碼的編譯,最終實現程序的運行。
在編譯程序的過程中,學生會遇到諸如實驗有疑問或失敗等情況,然而這些在老師看起來很正常的情況往往會消磨學生的興趣打擊學生的自信心。這時教師就要及時的深入到學生的活動中來,對學生進行鼓勵和引導,通過提問的方式啟發學生通過自己的努力找到問題的癥結所在。讓學生在程序調試的過程中用筆記本記錄自己的疑問及答案,并記錄下程序運行失敗的提示信息、失敗原因及解決辦法,并通過不斷地反思吸取經驗,避免下一次再犯同樣的錯誤。
程序調試成功后,教師要對學生進行評價。評價包括過程性評價和總結性評價。通過評價了解學生的知識理解掌握情況,分析學生在學習過程中的學習態度、學習方法與手段。然后讓學生通過評價完善游戲案例,反思程序設計環節中的不足并加以改進。然而,編程能力強的同學并不能滿足于游戲的簡單編譯,游戲完成后,可以要求這些能力強的同學在同學間游戲程序的相互試用、相互評價后進行游戲的進一步優化。通過“游戲優化”環節,學生會在新知識理解的基礎上,基于自己的認知去優化游戲[3]。在優化游戲的過程中有利于培養學生的創新能力和計算思維。
在當今這個知識爆炸、云計算、大數據應用普及的信息社會,教育的目的不再是單純的掌握某一種知識技能,而是需要培養學生思考問題、簡化問題的能力,即計算思維?;谟螒蚧绦蛟O計的“計算思維”的培養,既能夠點燃課堂的學習氛圍、提高學生的參與度,還能夠鍛煉和培養學生自主探究、創造性解決問題的能力。游戲化的程序設計擺脫了傳統機械化記憶代碼的編程方式,從學生玩過的、感興趣的游戲入手,讓學生意識到我們不僅可以玩游戲,還可以設計游戲、操縱游戲的規則,從而讓學生在內驅力的作用下不斷地調試、優化程序,最后通過自己的不斷努力感受程序運行成功的喜悅。