李偉



【摘 要】Kodu是一款面向對象的可視化編程軟件,也是為初學者設計的簡單、高效的游戲編輯工具。通過模塊化搭建方式的編程,較易上手;同時基于對象的編程,能夠實現代碼復用,更加適合小組學習;3D場景和封裝系統,讓整體呈現效果更有美感。基于KODU的游戲設計課程對培養學生的計算思維有積極的意義,能夠提升學生利用計算機解決實際問題的能力。本文結合KODU軟件設計教學案例,論述借助思維可視化工具KODU的教學實踐及反思。
【關鍵詞】計算思維;KODU;教學實踐
【中圖分類號】G434 ??????【文獻標識碼】A
【文章編號】2095-3089(2019)16-0228-01
一、計算思維與教育
計算思維作為計算時代的新產物,是一種可以靈活運用計工具與方法求解問題的思維活動,對促進人的整體和終身發展具有不可替代的重要作用。2006年,美國卡內基·梅隆大學(CMU)的周以真(Jeannette M. Wing)教授,為了幫助人們更好地認識機器智能,發表了題為Computational Thinking 的文章,提出了一種建立在計算機處理能力及其局限性基礎之上的思維方式——計算思維。周以真教授提出了計算思維的定義:計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類行為。人們學習計算機相關知識,培養學生“像計算機科學家一樣思維”。2008年,周以真教授進一步指出計算思維是一種分析思維,在問題解決的不同階段會用到數學思維,在設計和評價復雜系統時會用到工程思維,在理解概念時會用到科學思維。在2017新版《普通高中信息技術課程標準》中明確提出計算思維作為學科核心素養的一個重要組成部分。課標中指出計算思維是個體運用計算機科學領域的思想方法,在形成問題解決方案的過程中產生的一系列思維活動。具備計算思維的學生,在信息活動中能夠采用計算機可以處理的方式來界定問題、抽象特征、建立結構模型、合理組織數據。通過判斷、分析、綜合各種信息資源,運用合理的算法形成解決問題的方案。總結利用計算機解決問題的過程與方法,并遷移到與之相關的其它問題解決中。
而計算思維教育,就是通過對計算原理和過程的認識,掌握基本的計算方法,理解計算思維的本質,從而學會應用計算思維解決實際問題。計算思維教育可以落實到數學方法和工程方法的學習,如遞歸法、分治法以及形式化表達等方法,來理解計算思維的抽象、自動化等本質屬性。
二、基于Kodu的教學實踐
Kodu是一款可視化程序設計語言,它以3D游戲的模式介紹編程概念,以及極為簡化的編程模型來降低初學者的門檻,是一款簡單、直觀、易上手的編程工具。學生能夠自己動手設計原創的電腦游戲,激發無限創意,并了解程序的運作過程。學生在Kodu軟件中可以學習建立一個虛擬的3D世界,并對虛擬角色編寫程序,創造出有創意的、酷炫的作品,進而培養嚴密的邏輯思維、設計能力及創造力。
學習Kodu軟件,不只是學習編程技術,還能了解利用計算機解決問題的方法。基于Kodu的教學實踐,可采用一系列思維可視化工具,記錄學生的學習過程、突發靈感及設計構思等。同時,這些思維可視化工具把學生難以用言語表述的設計構思圖示化,能很好地展示學生的思維過程,是對學生的想象力、表達能力、視覺思維能力的綜合反映,也是培養學生學會思考、分析問題和創造性思維的有效途徑。
三、實例分析
下面以“垃圾分類—Kodu運用”課例為例,論述基于Kodu的編程教學實踐。這節課的主要任務是設計正確投遞干濕垃圾的方案,并在軟件中實現。首先在場景中設置了五個對象:(1)紅色城堡—濕垃圾箱;(2)藍色城堡—干垃圾箱;(3)紅蘋果—濕垃圾;(4)黑色巖石—干垃圾;(5)青色機器人KODU—小明。如圖1所示。
1.編程中體會抽象:
(1)設計故事情節。
教師布置的任務為:請幫小明設計把紅蘋果投進濕垃圾箱的方法,投放正確,系統計加5分,投放錯誤扣5分。
為了更好地完成設計,教師在課堂上進一步分解了任務。請同學思考,對象有幾個?每個對象要完成任務是什么?通過思考這些問題,學生討論填寫出下面流程圖。
學生在用流程圖描述方法時其實也是講述故事的過程,從中抽象出具體設計游戲任務的規則。例如有位同學設計的是小明看到蘋果就自動靠近蘋果,碰到蘋果后抓取,然后看到紅城堡自動靠近,碰到紅城堡后把蘋果投進紅城堡。另一組同學覺得用鍵盤控制小明行進方向更有趣。這些都是具體實現的方法,也就是設計故事情節中抽象出具體實現規則。
(2)用編程語句實現規則。
以前面同學設計的方案為例,通過嘗試,他設計出了實現的方法。具體小明和紅色城堡的編程代碼如圖3和圖4所示。
2.自動化實現。
從前面可以看出,Kodu是通過When(觸發條件)DO語句(執行)實現具體功能的。我們知道自動化是計算思維的一個重要特征,例如圖3中小明(kodu)對象看到蘋果,快速靠近,碰到蘋果后抓住,接著看到紅色城堡,快速接近,碰到紅色城堡就把蘋果丟出去。圖4中紅色城堡碰到蘋果分數加5,同時讓蘋果消失。
實際課上該同學演示時,前面都達到了預期目標,小明自動靠近蘋果,拾起后王紅色城堡前進。只是在蘋果投進紅色城堡后,小明還是不斷靠近紅色城堡,也就是說游戲沒有結束。這時教師引導學生分析原因,學生在分析了語句后發現游戲沒有結束的標記。因此他在城堡對象中添加了分數為5時顯示勝利,游戲結束。如圖5所示。這個解決問題的思維過程恰恰是運用計算思維的體現。
總之,在初學編程的階段通過Kodu軟件及其課程的學習,可以很好地發展學生的計算思維。由于Kodu基于游戲化的編程,并且規則簡單,When…Do語句不需要更多的技術細節,不需要記憶。在分解具體學習任務時分析每個對象,包括它的行為和怎樣受控。通過故事情節的設計,抽象出規則,也就是把各個功能整理出來,構造完成任務的模型,包括場景、對象等。在接下來的編程階段,其實是形式化表達的方式,最后通過運行、調試程序實現自動化步驟。這也就形成了計算思維完整的過程:抽象——構造——形式化表達——自動化實現。經過這類課程系統化的學習,學生的計算思維能力將得到提升。
參考文獻
[1]王榮良.計算思維教育[M].上海科技教育出版社,2014.
[2]魏曉風,蔣家傅,鐘紅,韓奇.我國中小學編程教育發展的路徑思考[J].中國教育信息,2018(24):1-4.
[3]楊艷艷.基于KODU的編程思維可視化教學實踐[J].中國信息技術教育,2018.