APP下载

在设计“应用软件”中学习编程

2016-05-26仇大成曹恒来

中小学信息技术教育 2016年4期
关键词:应用软件计算思维

仇大成 曹恒来

【摘 要】在计算思维理论指导下,学生在创建“我的Scratch画图程序”的过程中,把知识与技能的学习融入设计有意义的“画图”程序中来,经历了“体验—修改—创作—分享—再创作”的学习之旅,加深了对分支、循环、事件等多个计算思维概念的理解,不断提升系统思考和创意思维能力。

【关键词】计算思维;创建应用;Scratch教学

【中图分类号】G434 【文献标识码】B

【论文编号】1671-7384(2016)04-0066-03

2012年,美国宾夕法尼亚大学的Kafai教授提出了一个以“社会化转向”为特征的培养学生计算思维的新范型——计算参与,其中一个重要的转变就是,采用“设计软件”的方式开展编程教学。这样一来,学生不再是脱离具体情境地学习语言的语法规则,而是将设计一个功能完整的“应用软件”作为学习编程的首要任务[1]。《我的Scratch画图程序》教学,就是依照这样一种教学理念,引导学生沿着“体验—修改—创作—分享—再创作”的基本路径,把知识与技能的学习融入设计有意义的“画图”程序中来,从而真正实现技术学习与创意设计的有机统一。

体验—— 培养学生的探究兴趣

“画图”程序是深受小学生喜爱的软件,其执行结果是直观可视的,比纯文本输出更接近学生的生活经验,操作也比较简单。用Scratch创作“画图”程序难度不是太高,只需要基本的指令,如控制、侦测、画笔、动作、外观等,不同兴趣和学习风格的学生都能参与进来。设计这个环节的目的,是让学生在操作与摆弄直观形象的Scratch指令块的过程中,激发其学习兴趣,提升其脚本阅读能力[2]。

“研读范例”活动设计

教师出示如图1所示的学生Scratch作品范例——“画一画”程序。

图1 “画一画”程序

(1)体验操作,并思考程序中有哪些角色,它们在程序中分别有什么功能,其中哪个角色较为重要。

(2)观察“画笔”工具的主要动作(如图2),分析角色的脚本,将动作和对应脚本模块用直线相连。

图2 动作和对应脚本模块

(3)两人一组,一人负责现有范例程序不变,另一人逐条删除“画笔”工具中的相应指令,比较、分析每一个指令的作用。

学生初次体验范例程序,他们通过交流“画图”程序的功能,分析需要在程序中创建的角色,对自己将要创作的“画图”程序有了更清晰的认识。在此基础上,他们再次运行范例程序,分析主要角色的动作,找出对应的脚本模块,理解每个模块的作用,体会程序设计中将一个动作对应编写一个脚本模块的优点。接下来,他们第三次运行范例程序,通过小组合作对比分析画线动作的脚本,理解每个指令的作用。这个过程逐步深入、螺旋上升,学生对模块化编程的理解也越来越清晰、深刻。

修改—— 理解技术的关键要点

通过修改他人的编程作品,学生将学习到他人编程解决问题的思路,尤其是Scratch已将传统的编写代码改成先拖曳指令后再设定参数的方式,学生能够动态地修改程序,并可以直接看到修改结果,有效克服了编写代码的语法障碍,将注意力主要集中在解决问题的思路与程序逻辑上。

正确地实现不同角色之间的互动是本课的教学重点。为此,教师设置了“添加颜色”和“添加橡皮”两个学习活动。在研读脚本的基础上,通过修改参数进行模仿设计,理解技术的关键要点,并为“画图”程序添加更多的功能,从而将学到的知识与技能应用到解决实际问题的过程中,使学习变得更加有趣,也更有意义。

“添加颜色”活动设计

(1)模仿“画图”程序中现有的黑色和蓝色角色,为程序增加一个红色色块。

(2)你模仿了哪些角色及脚本模块?与同学交流你的发现。

(3)教师板书规律。

本课范例中广播与接收的互动方式是对《编排节目顺序》一课的拓展,教学的定位是实现多个角色广播不同消息,一个角色接收不同的消息执行对应的动作。从实际教学中我们发现,学生虽然接触过广播与接收的消息传递方式,但远未能将其灵活应用于多个角色的互动。为此,我们在“添加颜色”学习活动中设计了一个“转换支架”——学习记录卡[3],帮助学生对“黑色”“蓝色”两个角色与“画笔”工具互动的方式进行局部改变,理解通过广播与接收进行信息传递的方法,形成这类问题的解决思路。

“添加橡皮”活动设计

(1)从素材中选择能代表橡皮擦的图片作为角色。

(2)模仿“画笔”工具,设计橡皮擦动作。

(3)编写“橡皮擦”的动作脚本。

展示:学生展示自制的“橡皮擦”以及实现橡皮擦功能的脚本。

优化:如果对设计的“橡皮”不够满意,应该进一步修改优化。如切换造型、橡皮大小等。

“添加橡皮”是在“添加颜色”基础上的提高,既要参考“画笔”工具的脚本,又需开动脑筋实现其个性设置,需要学生“跳一跳才能摘到桃子”。首先,他们要想出很好的创意,进而设计,然后进行试验,看看是否可行,对发现的问题及时修正。整个过程中,学生要经历切换造型、设置大小和擦除速度等多个技术关键点,直接并频繁地接触分支、循环、事件等多个计算思维概念,思维和解决问题能力得到了反复锻炼[4]。

创作—— 激发学生的创新思维

基于设计的学习强调设计(创建作品,而不只是使用或与作品互动)、个性化(创建对个人有意义和相关的作品)、协作(与他人协作创建作品)和反思(回顾和反思自己的创意实践)[5]。通过前面的体验和修改范例程序,学生一方面理解了技术的关键要点,另一方面探究兴趣得到激发,对“画图”程序有了更多的创意灵感。在此基础上,他们跃跃欲试,想以“生产者”的身份来设计和制作满足自身或他人需求的、类型多样的“画图”程序。

创意“我的Scratch画图程序”活动设计

(1) 四人一组,联系曾经玩过的画图、金山画王等程序,合理想象,完成“我的构思”(如图4)。

(2) 指名1~2个小组交流,说明人员分工、程序特色、达成效果。

创作环节是创建应用的重要组成部分。“我的构思”是一个局部加工模式的输出支架[6]。这个支架实际上是教师搭建的半成品,一方面指明了可以从哪些方面构思我的“画图”程序,提高探究的针对性;另一方面将具体内容留白,又为学生提供了想象和创新空间。他们以小组为单位,一遍遍地去修改和完善作品——如何更好地体现画图程序的多样性和个性化?如何创作与众不同且充满乐趣的功能模块?如何编写脚本使得操作更便捷、玩家更喜欢?在此过程中,他们经历和体悟着系统设计与创作的实践过程与方法(如产生想法、程序开发、测试与调试、听取用户反馈等)[7]。

分享—— 共享学生的优秀作品

Scratch最重要的核心思想之一就是“分享”,倡导在教学中搭建有助于学生之间互动的平台,建构富含学习资源、支持分享和参与的学习环境,促进编程作品的展示、评价和交流,使学生能够创造出更加复杂的编程作品。

作品展示交流的活动设计

互动:交换位置,玩一玩其他小组创作的画图程序,交流心得,分享智慧。

交流:推荐优秀的作品,说明有哪些亮点;自身“画图”程序还存在哪些需要完善之处;有哪些收获。

拓展:课后进行再创作,丰富“画图”程序的功能。把程序发布到网站(scratch.mit.edu)上与更多的人一起分享。

提供充分的、自由的分享时间和空间,放手让学生自己去交流分享,就能呈现出更多精彩。本节课在交流环节,组织学生离开座位去玩一玩其他小组的“画图”程序,并将自己手中的星星投给喜欢的小组。这样就最大限度地调动了学生的参与度,把课堂真正地交给了孩子。整个活动既是对学生的一种肯定和赞扬,让他们体验到成功的喜悦,又让孩子们看到别人作品中的闪光点,也得到一次扬长避短的机会。教师适度给出更多新颖的范例,增加了学生对Scratch的兴趣,也激发了他们继续深入学习编程的欲望,激励学生不断地想象、创作、分享。

在Scratch中设计软件,学生经历了从初步理解到理解,从不断改进到优化,并逐步完善的过程。他们在整个学习活动中的身份,更多的是技术的“生产者”,而不再只是技术“消费者”。学生的学习之旅不再是平铺直叙,而是不断地实践、交流、总结、再实践,走上“循环往复、螺旋提升”之路。

注:本文系江苏省教育科学“十二五”规划2015年度课题“基于活动理论的信息技术教学设计研究”(项目编号:D/2015/02/405)、江苏省中小学教学研究第十一期课题“小学生程序设计启蒙教学的研究”(项目编号:2015JK11-L164)研究成果。

(作者单位:江苏滨海县教育局教研室 江苏盐城市教育科学研究院)

猜你喜欢

应用软件计算思维
计算机应用软件类课程教学方法改革
从移动互联网应用软件的发展论出台《信息安全保护法》必要性
一种基于手机应用软件测量声速的方法
基于计算思维的软件类研究生高级算法课程教学研究
基于计算思维程序设计的军事案例研究
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
健康管理类应用软件国内外现状与前景分析