在计算思维理论指导下,学生在创建“我的Scratch画图程序”的过程中,把知识与技能的学习融入设计有意义的“画图”程序中来,经历了“体验—修改—创作—分享—再创作”的学习之旅,加深了对分支、循环、事件等多个计算思维概念的理解,不断提升系统思考和创意思维能力。
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的兴趣,也激发了他们继续深入学习编程的欲望,激励学生不断地想象、创作、分享。
在Scratch中设计软件,学生经历了从初步理解到理解,从不断改进到优化,并逐步完善的过程。他们在整个学习活动中的身份,更多的是技术的“生产者”,而不再只是技术“消费者”。学生的学习之旅不再是平铺直叙,而是不断地实践、交流、总结、再实践,走上“循环往复、螺旋提升”之路。
注:本文系江苏省教育科学“十二五”规划2015年度课题“基于活动理论的信息技术教学设计研究”(项目编号:D/2015/02/405)、江苏省中小学教学研究第十一期课题“小学生程序设计启蒙教学的研究”(项目编号:2015JK11-L164)研究成果。
作者:仇大成 曹恒来 (作者单位:江苏滨海县教育局教研室 江苏盐城市教育科学研究院)
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。