基于Scratch软件的儿童编程研究

    李崇智

    摘 要:近些年来,随着Scratch编程软件的出现和流行,越来越多的人选择将Scratch作为儿童编程的启蒙软件。如何用好这款软件,将其转化为课程、让其服务于教育,是广大的信息技术教育工作者们一直在思考研究的重要问题。文章从Scratch儿童编程的优势出发,研究其课程建设与实施、评价,并分析开展Scratch儿童编程课程所能产生的积极影响。

    关键词:Scratch;儿童编程;儿童学员;信息素养;信息技术

    中图分类号:G433?文献标志码:A ? ? ? ? ?文章编号:1673-8454(2019)20-0033-03

    随着电子设备的大量使用和信息技术的飞速发展,信息素养成为了新时代公民所需具备的基本素养之一。就像邓小平在改革开放初期所提出的“计算机的普及要从娃娃做起”,信息素养的培养也应该从娃娃做起。信息技术课程作为培养青少年儿童信息素养的重要途径,其内容也随着时代的发展而更新升级。Scratch等图形化编程软件的出现,因其复杂程度低于传统的基于代码书写的编程软件,更适合低龄学员进行编程启蒙教育,从而逐渐成为儿童阶段的重要学习内容。学习好Scratch儿童编程,不仅可以帮助儿童学员掌握一定的信息技术、理解生活中的算法问题,还可以帮助儿童学员培养创新精神、全局思维、坚强意志。

    一、Scratch儿童编程的优势

    Scratch是由美国麻省理工学院(MIT)媒体实验室所研发的一种新的编程语言,它主要是面向8岁以上的儿童[1]。与C语言、Java、PASCAL、Python、VB等编程软件不同,Scratch不需要用户去编写代码,没有代码输入错误的困扰。在Scratch中,儿童学员在设计好程序方案后,只需要将所需要的功能模块拖曳出来,然后按照规范组装起来即可,就像搭积木一样。这种“搭积木”编程的方式,降低了学习编程的门槛,更适合儿童学员学习。在使用Scratch时,儿童学员可以更多地去分析问题、了解编程的思路、快速便捷地创作自己所想要的程序,而不用去纠结于代码如何输入。毕竟对于刚接触编程的儿童学员来说,有趣的图形比枯燥的代码更有吸引力。

    在Scratch中,可以创设情境、可以角色扮演,在儿童学员使用时,可以同时体验到游戏性和教育性。这符合儿童爱玩的天性,顺应了其心理特点。毕竟兴趣是最好的老师,它能激发出儿童学员的学习热情,从而最终既学好了编程,又体验到学习的快乐。

    除此外,Scratch提供了上百种功能模块,可以满足众多编程需求。在使用角色、背景、音乐时也十分方便,甚至还可以便捷地制作素材或导入外部素材。在Scratch网站上,除了提供PC安装包,官方还提供了在线编程平台。这使得儿童学员可以随时打开网页进行编程,避免了没有安装编程软件就不能进行编程的尴尬。

    二、Scratch儿童编程课程的建设与实施、评价

    1.Scratch儿童编程课程队伍的建立与继续教育

    在课程建设之初,需要建立以名师、教学能手及熟悉Scratch儿童编程的专业技术人员为核心的课程队伍,确保Scratch儿童编程课程既有符合儿童学员成长特点的教学过程,又有专业性较强的教学内容,还培养了儿童学员的编程思维,让儿童学员真正体验到编程的乐趣。信息技术发展日新月异,在日常工作中,课程队伍应该保持长期学习状态,关注并掌握关于Scratch儿童编程的新动态、新理论、新技术。

    2.Scratch儿童编程课程内容的规划与研究

    根据Scratch儿童编程的难易程度,可以规划不同层次的课程内容,比如初级(启蒙)、中级、高级(创作)。在范例的选择上,Scratch儿童编程的课程内容可以遵循从简单到复杂、从容易到困难的基本编排原则,并且以故事性、游戏性为主要呈现形式。

    3.建设Scratch儿童编程的资源库

    (1)任务库

    任务是儿童学员学习Scratch儿童编程的向导。建设成体系的任务库,不仅方便教师开展教学活动,也方便儿童学员进行学习。任务库可以分为课内任务、课外任务,也可以分为基础任务、巩固任务、拓展任务。

    (2)教学微视频库

    在儿童学员学习Scratch时,因其认知特点和记忆特点,有时无法完全記忆范例中所涉及到的知识点。有了教学微视频库后,儿童学员可以随时根据自己的知识掌握情况,回顾所需要的内容。这样一来,教师在课堂上也能有更多时间去解决编程中出现的其他问题。而且,对于学有余力的儿童学员,可以在教学微视频库中进行拓展技能的学习和练习,满足不同能力的儿童学员的成长需要。

    (3)素材库

    Scratch软件中虽然自带了一些素材,但种类和数量有限。在儿童学员实际编程时,往往需要更多样式的素材。这就要求有Scratch儿童编程的素材库。它的来源可以是向专业资源库购买,可以是教师制作收集,也可以是学员制作收集。

    4.Scratch儿童编程课程的实施方式

    (1)早期以讲解、模仿为主的课堂教学活动

    讲解和模仿是Scratch儿童编程的重要实施方式,特别是初级启蒙阶段,讲解和模仿是首选的主要实施方式。绝大多数儿童学员都有着很好的模仿性。在教师细致的讲解过程中,儿童学员通过观察模仿,完全重复教师的操作,从而实现既定的目标。这有利于儿童学员快速熟悉软件的功能模块,也有利于儿童学员对任务有直观的领会和感悟,还有利于儿童学员初步习得编程这一新技能。可以说,讲解是为了帮助儿童学员理解掌握当前一节课所涉及到的知识点,模仿则是为了帮助儿童学员将所提知识点内化并学会在实际编程中使用。

    (2)中期以目标任务实现为主的实践活动

    在儿童学员利用Scratch编程之前,教师可以先进行范例演示的方式,让儿童学员的兴趣得到激发,并对目标任务有了初步且直观的认识。在对随后的任务分析解剖中,不仅要有教师的任务介绍、引导,也要有儿童学员的自主分析。因为在中期阶段,儿童学员由于能力所限,有些程序脚本和设计理念容易理解实现,有些程序脚本和设计理念不容易理解实现。

    (3)后期以自主项目开发为主的创作活动

    在经历早期和中期的学习实践之后,就将进入Scratch儿童编程最有趣的环节——创作。任何技术知识的学习,都是为了更好、更高效地使用。就Scratch儿童编程而言,在熟悉各模块功能、了解动画游戏的基本实现方式之后,儿童学员内心往往会有自己创作的冲动。此时安排儿童学员按照自己的想法开始自主项目开发,可以促使他们将以往的学习内容融会贯通。在自主项目开发这一过程中,既满足了儿童学员个性化成长的需求,也切实提升了儿童学员的编程能力。不过,自主项目开发并不意味着教师在教学过程中完全放手,它还是需要教师时刻关注儿童学员的进展。在实现难度较大且无法解决时,教师可以提供一定的帮助,避免儿童学员陷入僵局之中,以至消耗大量时间精力、影响创作进程。

    (4)根据儿童学员能力、个性、爱好等的不同,采用个人学习、小组学习、班级学习相结合的多形式多层次教学方式

    在Scratch儿童编程的教学过程中,往往存在个体差异大的现象,同一个班级的学员,有的学员知识掌握好、任务完成快,有的知识掌握差、任务完成慢。在这种学习情况下,如果按照统一的课程进度进行教学活动,必然会出现前者“吃不饱”、后者“吃不了”的尴尬局面。此时如果为了照顾某些学员而调整学习进程,势必会加剧上述的情况,无法实现教学效果的最优化。为了处理好这个问题,采用个人学习、小组学习、班级学习相结合的多形式、多层次教学方式非常有必要。教师可以在课程前期进行儿童学员情况排查,为分层教学做好事先准备。在知识点讲解和任务布置时,可以设定不同级别的任务完成度要求。对于学习情况一般的学员,理解并完成基础型任务即可;对于学习情况好的学员,需要理解并完成拓展型任务。在学员遇到无法解决的问题时,可以根据是否是共性问题,进行个人讲解辅导、小组讲解辅导、班级讲解辅导。当然,这种分层并不是一成不变的,它需要教师时刻关注学员学习情况,从而做出动态调整。

    (5)鼓励儿童学员交流、分享

    交流、分享是儿童学员学习Scratch中的一个重要环节,它可以是师生家长之间的交流分享,可以是班级学生之间的交流分享,可以是朋友之间的交流分享,可以是与其他Scratch爱好者之间的交流分享。通过与他人交流分享,不仅可以展示自己的编程思想和方法、听取他人评价及反馈意见进而帮助自己修正缺陷不足,还可以了解他人的编程思想和方法、拓展自己编程时的思考广度和深度,最终提升儿童学员的Scratch编程能力。在Scratch中文版官网的首页上写着:“创作故事、游戏和动画与世界上的其他人分享”[2],从中可以看出Scratch的设计者们非常提倡交流分享。

    5.Scratch儿童编程课程的评价

    (1)关于儿童学员的评价

    儿童学员是教学活动中的主体,在整个Scratch儿童编程课程实施的过程中,通过多种方式对其进行评价,有利于了解其学习情况、激发学习兴趣、促进个性发展。

    (2)关于教师的评价

    教师作为教学活动中的主导,在Scratch儿童编程整个课程实施的过程中,教师都是课程的重要参与者。通过对教师的评价,有利于了解教师的优点和不足,在将其升华到经验之后,更有助于教师的成长。

    (3)关于课程自身的评价

    通过对Scratch儿童编程课程自身的评价,有利于了解课程内容是否符合实际教学情况,从而进行Scratch儿童编程课程的后续建设。

    三、开展Scratch儿童编程课程的积极影响

    1.Scratch儿童编程有助于培养儿童学员自主学习的能力

    “自主学习是指较少依赖别人的帮助而自己可以进行有效的学习,它是一种综合性的能力,包括自觉主动的学习积极性、独立学习的方法和技能、独立学习的习惯和探究性的学习能力。”[3]Scratch的界面是图形化的,对于儿童学员而言,容易上手易操作,且能直观便捷地看到编程效果。在这种条件下,儿童学员能够充分发挥自己的想法,设计、研究、开发自己想要的程序,从而养成自主学习的能力。

    2.Scratch儿童编程有助于培養儿童学员发现问题、解决问题的能力

    问题是学习道路上最好的引路石。通常情况下,儿童小时候经常会向大人询问各种问题,并由此逐渐认识了世界。在Scratch儿童编程中,问题的产生与解决也将帮助儿童学员熟悉Scratch编程。在教师上课时,可以通过巡视了解儿童学员的完成情况并指出发现的问题,也可以引导其自己发现问题。对于儿童学员的问题,不能只是一味地讲解,最好是引导其自己找到解决方法。对于复杂无法解决的大问题,教师可以引导儿童学员将其分解成若干个小问题,从而方便解决。在经过多次任务后,儿童学员可以养成发现问题、解决问题的习惯,久而久之,这种习惯会转变成一种学习的能力。

    3.Scratch儿童编程有助于培养儿童学员主动学习、探究的习惯

    Scratch儿童编程的学习通常是基于任务的。但是,这些任务并不完全来自于教师,它也可以来自于儿童学员自己。当儿童学员自己想要完成某一任务、实现某一功能时,他会主动分析思考,从中主动地发现知识、理解知识、运用知识。不同于灌输式的被动学习,这种主动学习探究的习惯更有利于儿童的成长,效果也更加显著,为“终身学习”奠定了基础。

    4.Scratch儿童编程有助于培养儿童学员多学科的兴趣和能力

    Scratch儿童编程能够实现的功能非常多。在Scratch里,儿童学员可以画画(比如设计角色造型、绘制绘画作品、制作连环画),可以制作游戏,可以制作音乐,可以进行数学计算及函数图形绘制,可以编排对话故事,可以与硬件结合进行小发明小创造……不同类型的编程任务可以调动儿童学员不同的学科知识运用,并与Scratch儿童编程相结合,实现了从单学科知识学习向多学科知识学习的转变升级。

    5.Scratch儿童编程有助于培养儿童学员的信息素养和逻辑思维能力、抗挫折能力

    随着社会信息化的不断推进,儿童学员的生活环境发生了改变,电子产品(特别是计算机)越来越多地出现在生活的各个角落。在学习Scratch儿童编程的过程中,儿童学员不仅可以学会计算机的基本使用技能,还可以熟悉编程这项技能,提升自身的信息素养。学习编程并不是为了让每个人未来都成为程序员,而是通过学习编程,让儿童学员学会用坚强的意志去面对问题、用逻辑思维去思考分析解决问题。

    Scratch儿童编程作为信息技术教育教学的新的重要组成部分,其课程的实施有助于儿童学员的信息技术能力提升和信息素养的培养,更有助于引导儿童学员建立正确的世界观、人生观、价值观。如何更好地将Scratch用于教育教学,值得每一位信息技术教师长期思考和研究。

    参考文献:

    [1]中小学智能创客课程编写组.儿童数字游戏创意设计[M].广州:广东教育出版社,2017.

    [2]Scratch中文官网[EB/OL].https://scratch.mit.edu/.

    [3]卢莹莹.运用现代信息技术 培养学生自主学习能力[J].黑河教育,2018(2):79-80.

    (编辑:鲁利瑞)