基于计算思维培养的Kodu编程教学实践

2019-09-17 06:46李伟
课程教育研究·学法教法研究 2019年16期
关键词:计算思维教学实践

李伟

【摘 要】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.

猜你喜欢
计算思维教学实践
基于计算思维的软件类研究生高级算法课程教学研究
基于计算思维程序设计的军事案例研究
程序设计课程中计算思维和应用能力培养问题研究
浅论高中化学生活化教学的实践与思考
浅谈初中物理实验教学与学生创新能力的培养
测量平差课程教学改革探讨与实践