邓正杰 杨帅森
摘要:少儿编程已经成为时下少儿学习的一个主要部分。本文介绍了少儿编程教学的发展现状和未来发展方向,并以调试模块的教学为主要研究对象,分析了调试模块的教育在不同教学场景中的具体实施。利用Scratch少儿编程软件,针对不同年龄段的孩子们设计了三个教育方案和配套的益智游戏。经过分析和设计,展示调试模块的学习有助于学生批判性思维能力和逻辑思维能力的建立,对学生动手能力和学习效率也有显著提升。
关键词:少儿;编程;调试;Scratch;教学
中图分类号:G434 文献标识码:A
文章编号:1009-3044(2019)26-0123-03
开放科学(资源服务)标识码(OSID):
Abstract: Recently, children programming has become a major part of children learnings. This paper introduces the present situation and future development of children programming education, and takes the debugging module teaching as the main research object, and analyzes the concrete implementation of debugging module teaching in different scenes. Using the Scratch — a children programming software, three sample programs and the relative puzzle games are designed for the children with different ages. Through analyzing and designing, it is shown that the learning of debugging module is helpful to establish student's critical thinking and logical thinking abilities, and has a significant improvement on student's practical ability and learning efficiency.
Key words:children;programming; debug; Scratch;teaching
1 引言
随着人工智能、大数据、云计算等技术的发展,人们对编程能力的需求越来越普遍,使得世界各地逐步推进少儿编程教育。西摩尔·佩普特教授于1968创立LOGO程序语言,并将其运用于教育学领域[1]。四十年后,他曾经的博士生Mitch在麻省理工学院带领开发团队创造了Scratch少儿编程软件,就是这一款积木式编程软件,将少儿编程的理念第一次推广开来,这次少儿编程教学不再仅仅局限于教育学家和计算机科学家的视野内,而是引起了各行各业的关注。
1.1 研究意义
西摩尔·佩普特在50年前创立LOGO程序语言时,就认为少儿编程教学的核心不是教会孩子编程,而是通过学习编程来教会孩子思考,建立良好的思维模式[2]。当下少儿编程的众多教学模块中,调试模块作为最为抽象的存在,在实际的教学场景中能教给孩子的不仅仅是找出程序错误然后修改错误那么简单,更重要的是能够为孩子建立批判性思维能力和逻辑思维能力,这种思维能力在孩子以后的日常生活和成长学习过程中起到的作用不可估量。
批判性思维能力更是当代高等教育的主要目标之一,但是研究表明6-12岁的孩子正是大脑发育最为重要的时期,同时该阶段孩子的思维能力和思维模式开始初步建立。而少儿编程教学调试模块的学习刚好可以给该阶段的孩子们提供良好的引导,让孩子在学习调试程序的过程中建立初步的逻辑思维能力,所以少儿编程教学的意义不仅在课堂之上,更在课堂之外。
2 国内外研究现状
2.1国内研究和发展现状
我国的少儿编程教学起步较晚,直到2014年STEM的概念逐渐在国内普及,中国的少儿编程行业才开始正式的发展。2016年,国家开始主动支持少儿编程教学的发展,2017年,浙江省将信息技术提升為高考科目,进一步推动少儿编程教学的发展[3]。从2017年至今,少儿编程教学在国内进入高速发展阶段,“编程猫”等少儿编程教学研究公司在线上推出了许多的优秀课程,“小码王”等线下少儿编程教学机构也被人们逐渐接受[4]。
但是国内少儿编程教学的发展还是远远落后于国外,开设少儿编程教学科目的学校数量较少,而且大部分集中在北上广等一线城市。调查显示,以Scratch为例,目前国内少儿编程教学的渗透率为0.96%,而美国的少儿编程教学渗透率为44.8%[5]。与国外的普及度相比,我国少儿编程教学的发展,任重而道远。
2.2国外研究和发展现状
国外的少儿编程教学起步较早,自LOGO语言问世起至今已有五十余年,目前国外少儿编程教学领域应用较多的有LOGO语言、KODU语言、CodeMonkey少儿编程工具、Scratch少儿编程软件等[6]。在美国,LOGO语言最开始是用于中小学课堂的数学教育,后来有教育学者发现它在教育学生编程方面有着突出的教育效果,于是开始将LOGO语言用于少儿编程教学[7]。CodeMonkey少儿编程工具诞生于以色列,并在近几年以色列政府的大力推广下,受到了很多教育学家和学生的喜爱,在全球范围内已经拥有了大量的粉丝[8]。另外英国、日本、韩国等国家也出台了相应政策支持少儿编程教学的发展。
Scratch少儿编程软件于2014年问世,是由美国麻省理工学院的研发团队设计开发的,该软件使用图形化的指令积木进行程序编写,让学习编写程序的过程变得像玩“乐高积木”一样有趣。目前正式发行的是Scratch2.0版本,较之旧版本增添了克隆和声音编辑等多个指令积木模块,让软件的整体功能更加完善,能够基本满足孩子们在学习编程时的各种设计需求[9]。由于该软件功能比较全面,积木式的编程方式也简洁有趣,所以深受广大学生以及众多教育工作者的一致好评。
3 少儿编程调试模块教学的分析
3.1少儿编程调试模块与C语言调试模块的比较
少儿编程由于所针对的用户主要为中小学生甚至学龄前儿童,所以在编程界面和编程模式方面更加的简单,在教学过程中也更加注重学生编程思想的建立,其次才是编程能力的锻炼。C语言是一门实用性的编程语言,教学对象大多为大学生或者从事计算机行业的专业人士,语言学习和编程难度比少儿编程高上许多,在教学上也更加注重编程能力的培养。
C语言程序代码复杂而且数量庞大,所以调试过程更加具备专业性,必须多方面考虑,运用到多种调试技术方能解决问题。少儿编程在调试模块的教学中由于使用代码简单的因素,只能运用一些经典而简单的程序错误来进行调试模块的教学,所以重点在于让学生通过简单程序的调试来建立起程序调试的理念和批判性思维能力,为学生以后的学习打下基础。
3.2少儿编程调试模块与非调试模块的比较
在少儿编程的多个教学模块中,调试模块最为抽象却也最为重要,无论任何一门编程语言的学习,该语言的调试必然贯穿于整个教学过程。少儿编程调试模块的教学由于自身的抽象性,无法像非调试模块一样在课堂中展示明确的概念和使用方法,所以‘调试更多的是一种思维上的训练,而且调试模块更能帮助学生培养批判性思维能力,也能起到训练逻辑思维能力的目的。有研究表明,在计算机程序设计的课堂上,着重对程序调试的训练,有助于加强学生对技术知识和调试理论的理解程度,同时还可以显著提升学生的动手能力,提高学习效率[10]。
3.3少儿编程调试教学在教育中的意义
计算机专业的特性之一,就是其拥有特别强的“实验性”[11],所以“调试”是编程过程中最为重要的一个环节,但是很多计算机专业的新生都困惑于怎样合理的去调试程序,甚至因此失去对计算机专业的兴趣[12]。归其原因,缺乏系统专业的调试技巧学习是一方面因素,不过学生自身缺乏良好的逻辑思维能力和批判性思维能力显然是更为重要的原因,而6-12岁正是培养这两方面思维能力最好的时期。
4 少儿编程调试模块教学的设计
4.1 Scratch游戏设计
第一个游戏的教学对象是小学一年级学生,调试难度比较简单。“小老鼠”和“奶酪”之间没有设置障碍物和陷阱,调试过程也只有“前进一步”“向左转”“向右转”等几个简单的指令积木(如图1)。学生可以通过增加或者删除积木块来达到学习调试程序的目的。
第二个游戏的教学对象是小学三年级学生,游戏主角和通关任务没有大的变化,只是鉴于学生认知能力和编程能力的提升,在原来的指令积木基础上又添加了“循环执行”积木,并且在游戏地图上设置了障碍物和陷阱,增加了调试难度的同时也增加了游戏趣味性(如图2)。学生在可以在完成游戏任务的过程中进一步的学习调试,同时加深自己对循环语句的理解,锻炼自己的批判性思维能力和逻辑思维能力。
第三个游戏的教学对象是小学六年级学生,该阶段的学生思维能力方面已经有了很高的提升,故本设计在这个游戏中加入了“函数调用”模块(如图3)。这代表着将要调试的程序从原来的四五行代码,升级到十几行代码,并且整个过程中多次调用到目标函数,使得调试难度进一步增加,更加适合该阶段学生学习使用。
4.2 教学方案设计
本文在设计教案之初,对本文教案的定位为一系列课程中调试模块的教学设计,并非独立的课程。在教案设计方面,考虑到少儿编程教学的学生年龄跨度的范围,分析了各个年级学生学习能力方面的差异。以一年级、三年级、六年级学生为教学对象,将调试教学分为三个阶段。
一年级的学生尚未具备完善的学习能力,阅读能力也仅仅处在初级阶段,但是此阶段的学生已经初步学习了简单的算术,关于方向的认知能力也基本完善。经过分析之后,决定在一年级的调试教学中使用简单序列,让学生通过简单的算术得出‘小老鼠移动步数,通过‘向左转‘向右转等简单指令协助完成任务,教学过程中在步数或者方向上设置出错点,引导学生调试。
三年级的学生在算术和阅读方面已经有了良好的基础,思维逻辑能力也已经有了初步的建立,所以在设计三年级的教学方案时采用了循环语句,第一是为了增加调试难度,其次更是为了适应该年龄段孩子思维逻辑能力的发展进度。
六年级的学生在阅读能力、数学能力等方面已经基本成熟,对事物的目的性更加明确,感知事物的精确性也有了显著提升,简单的调试教学已经不足以起到锻炼思维的作用,但是在加深调试难度的同时也要顾及该阶段学生的学习水平,所以本文在分析之后决定采用函数调用模块的调试来进行教学设计。
5 总结
本文通过对少儿编程教学行业的分析,认为在目前的大环境下,世界多个国都制定了相应政策用于少儿编程教学的推广,少儿编程教学的重要性只会随着时间的推移逐步加深。在针对少儿编程调试模块进行单独分析之后,本文认为调试模块的学习有助于学生批判性思维能力和逻辑思维能力的建立,对学生动手能力和学习效率也有显著提升。本文使用Scratch少儿编程软件设计了三个关于调试模块教学的教学方案和教学游戏,用以帮助学生更好的对少儿编程教学调试模块进行学习。
参考文献:
[1]叶富华. LOGO(小海龟)编程之父留给我们的思想遗产[DB/OL]. http://www.kidscode.cn/archives/3720.
[2]柳红,陈琦.学习LOGO程序设计语言与发展认知能力的關系[J].心理科学通讯,1990(05):3-9+65.
[3]itwriter.50年前开始的少儿编程,如今在国内发展怎么样了[DB/OL]. https://news.cnblogs.com/n/598264/.
[4]中国少儿编程行业研究报告 2018年[A].艾瑞咨询系列研究报告(2018年第10期)[C].上海艾瑞市场咨询有限公司,2018:34.
[5]雷田蕊. Scratch编程教育学习资源设计与开发研究[D].河北大学,2018.
[6]戚伟慧.少儿编程的可行性研究与分析[J].电子技术与软件工程,2016(24):253-254.
[7]王荣良.儿童编程教育价值与实施途径分析[J].中国信息技术教育,2017(21):5-9.
[8]徐君. 跟着 Code Monkey,和全球 250 万名孩子一起玩编程[DB/OL]. http://www.360doc.com/content/16/0719/08/5315_576689752.shtml.
[9]朱丽彬,金炳尧.Scratch程序设计课教学实践研究——基于体验学习圈的视角[J].现代教育技术,2013,23(07):30-33.
[10]王楠,赵占芳.调试技术在程序设计实验教学中的应用探讨[J].教育现代化,2017,4(07):46-47+53.
[11]王立柱.从计算机教育到教育计算机[J].计算机教育,2013(03):42-45.
[12]王春枝,严灵毓,张媛媛.编程从调程做起[J].计算机教育,2016(01):100-102.
【通联编辑:王力】