您当前的位置:首页 > 计算机论文>软件开发论文

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

2016-06-28 14:20 来源:学术参考网 作者:未知

  在计算思维理论指导下,学生在创建我的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) 指名12个小组交流,说明人员分工、程序特色、达成效果。

 

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

 

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

 

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

 

  作品展示交流的活动设计

 

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

 

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

 

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

 

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

 

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

 

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

 

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


相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页