面向少儿人工智能教育的计算机编程语言的比较研究
作者:黄烈甫
来源:《科学与信息化》2020年第04期
作者:黄烈甫
来源:《科学与信息化》2020年第04期
摘 要 目的:通过对少儿编程语言做比较研究,以期为少儿编程教育语言选择提供参考。方法:根据青少年发育特点,对10岁以前和10岁以后两个阶段的少儿需要选择不同的编程语言进行教学。对常见的Scratch、编程猫、Small Basic、Python等编程语言的功能和特点进行详细分析。结果:低年龄段少儿学习编程主要选择图形化、模块化、积木式的编程语言,如Scratch、编程猫等,学员通过编程完成小作品,逐步形成逻辑化的思维习惯;高年龄段少儿需要在编程思维、算法思维、编程技术等方面进一步提高,应选择Small Basic、Python等高级语言进行编程学习。结论:少儿接受编程教育对于培养逻辑思维和计算思维,提高解决问题的能力具有重要意义。选择合适的编程语言有利于激发学习兴趣,提高编程能力,为进一步的人工智能学习打下编程基础。
关键词 计算机教育;编程语言;比较研究;Scratch;Python
Abstract Objectives:To make a comparative study on children’s programming language, so as to provide reference for selection of language in children’s ;programming education.Methods:According to the characteristics of adolescent development,children in the two stages before the age of 10 and after the age of 10 need to choose different prog
ramming languages for teaching.The functions and features of common programming languages,such as Scratch,Codemao,Small Basic,Python,etc.Results:Children at low ages mainly choose graphical,modular, building block programming languages for programming,such as Scratch,Codemao,to guide children interested in programming,complete small works,and let them gradually form logical thinking.Children at the senior age group need to further improve their programming thinking,algorithmic thinking,and programming technology.Advanced languages such as Small Basic and Python are suitable for programming learning of children above the age of 10.Conclusion:Children’s programming education is of great significance in cultivating logical and computational thinking and improving their ability to solve problems.Choosing the proper programming language is conducive to stimulating learning interest and improving programming skills,and providing basis of programming for further artificial intelligence learning.
Key words Computer education;Programming language;Comparative study;Scratch;Python
背景
近年来,随着我国经济高速发展,人们在教育方面的投资意愿持续增强。2017年7月8日,国家中央政府网站发布了《國务院关于印发新一代人工智能发展规划的通知》(国发[2017]35号文件),第一次正式把人工智能提高到了国家战略发展层面,刺激、鼓励社会各界参与我国人工智能的建设和发展。信息产业和教育产业方面的政策利好,推动了信息化教育尤其是少儿编程教育的蓬勃发展。人工智能带来的无人驾驶、人脸识别、电子支付等新兴信息化技术,以及渗透至生活各个方面的信息化系统,都与编程密不可分,这些信息技术的革新和升级,给编程行业带来广阔的发展机会及应用前景。目前,少儿编程在美国学前及小学教育中的普及率达到40%以上,而国内只有0.96%,国内的少儿编程教育起步晚、覆盖面窄、发展慢,少儿编程教育市场需求极大。接受过高等教育的家长们意识到编程教育与信息化产业的关系,将少儿编程作为孩子的一项课余兴趣甚至技能,投入许多时间、精力和经济成本进行培养,期望孩子通过早期接触编程教育,为今后的学习及职业生涯打下基础,创造机会[1]。然而,少儿编程教育与成人编程教育有着截然不同的区别。成人编程教育致力于教会学习者如何写代码、编制复杂的应用程序,使计算机按指定步骤进行工作,完成明确的任务,解决实际业务需求。少儿编程教育是通过可视化游戏启蒙和积木图形化编程等寓教于乐
的方式,开发少儿的计算思维和创新解难能力,其目标是培养其编程的逻辑思维和算法思维[2]。目前,少儿编程教育有多种程序语言,如何针对少儿自身情况选择一门合适的编程语言进行教学,是值得教育机构和家长认真思考的问题[3]。本文对少儿编程常用的几种编程语言做比较研究,以期为少儿编程教育选择合适的语言工具提供参考。
1 少儿编程基础
国内外大量研究表明,少儿阶段完成合适的编程课程,有利于提高学生的逻辑思维能力和抽象思维能力,并促进计算思维水平的整体发展。将编程学习与STEAM教育相结合,还可以在编程学习、训练、创作的过程中,引导孩子在科学、技术、工程、数据、艺术等方面素质的提高。我们希望少儿能够通过学习编程,对编程学科产生一定的兴趣,对程序设计有初步理解,提高信息检索能力和利用信息解决问题的能力,并在完成编程作品的过程中学会与人合作。
家长在选择编程语言和培训机构时也应该围绕上述目标来进行。少儿编程学习一定要结合儿童自身的特点来选择编程语言。一般来说,编程需要学习者接受基础教育,有相关基本能力后才能适应编程方面的训练。这些基本能力包括:逻辑思维能力、数学计算能力、简单
的英文单词拼写和识别能力,并了解计算机基本结构。少儿在这些方面的基础总体较弱,为此不少研究机构和大型软件公司设计了有针对性的语言平台,学生选择适合自身情况的语言平台,在学习编程的过程中,可以反向增强上述基本能力的建设。少儿的学习状态和发育状况是不断变化的,浓厚的学习兴趣、合理的教学方法、科学的课程安排都能够正向刺激学习过程。
2 程序语言介绍
程序语言是人机交互的工具,不论是软件编程还是硬件编程,都是通过程序语言将开发者的指令传达到机器,机器识别语言指令后做出一定的响应。跟人类语言类似,程序语言必须同时具备语法和语义两方面要素。要进行硬件编程,开发者必须对硬件特性非常了解,由于不同的硬件可能差别巨大,且硬件成本较高,因此总体来说硬件编程难度大、要求高,适合少儿编程的平台少;软件编程是建立在标准的平台之上,开发成本相对低廉,软件开发更加标准化和产业规模化。当前软件行业流行的C/C++、JAVA、Python等高级软件编程语言,因其语法强大、程序可读性强等设计特性,可方便进行数据运算和流程控制,在各自领域都一枝独秀。其中C/C++和JAVA在程序入门学习的门槛较高,要求学习者有比较扎实的编程基础,
学习成本高,学习曲线陡峭,一旦掌握其编程精髓后,则产出较高,但都不适合少儿编程教育。
K12阶段是青少年基础教育和智力发育快速进步的阶段,其中6~12岁定义为少儿。每个年龄段的儿童发育水平差异很大,为此少儿编程至少要分为2个阶段,分别使用不同的语言和教案。我们需要针对两个年龄段,选择合适的语言和编程平台,让他们能够逐步理解编程思想,进入编程学科的大门。
3 适用于低年级少儿的编程语言
编程启蒙是学什么的 目前,国内外有专门针对10岁以内儿童的语言平台,市场上流行的主要是Scratch、Tynker、Kitten、StartLogo和Kudo。考虑到Kudo更像一款游戏,而StartLogo操作界面复杂,语言国际化程度不高,这两种语言在少儿编程教育中使用较少,因此在本文不做赘述。以下是对Scratch、Tynker、Kitten的介绍。
3.1 Scratch
Scratch是2006年由麻省理工学院领导的团队开发的编程平台,研发团队成员来自美国
宾州大学、哈佛大学、微软等IT业顶级机构。目前,Scratch已经升级到3.0版本,功能日趋完善,国外部分高校的非计算机专业也在尝试使用Scratch教授编程课程。Scratch作为一款在少儿编程教育中应用最广泛的语言之一,具有以下多方面的优越性[4]。①使用者不论是否商用均可以免费使用;②界面为动画风格,对儿童非常友好;③界面国际化完成度高,支持中文在内的大部分语言,学习者不需要英语基础即可入门;④程序的基本元素充足,学习者能够充分了解事件触发、事件响应、流程控制、变量设置、运算过程、界面元素等程序基本结构;⑤以拖动积木的方式完成程序流程,低年级学生可以不敲字母即实现编程;⑥平台自带教程,低年级学生可以在家长陪伴下完成任务,动手能力强的学生也可以尝试自学;⑦语言社区成熟,内容丰富,国际化程度高,上传到社区的作品非常丰富,世界各地的开发者可以交流经验;⑧系统跟多家硬件厂商合作,可以支持包括乐高在内的多种产品的硬件编程。
3.2 Tynker
Tynker平台诞生于2013年,由硅谷的IT公司Tynker设计实现。这款软件借鉴了Scratch积木式的编程方式,以web化的技术实现了系统功能,教学过程类似Scratch编程。目前,Tynker一方面通过在线接收学生的方式进行编程教育,另外一方面通过资助英语地区的中、
小学,与这些学校开展合作从而为少儿编程培训积累经验。这个平台与Scratch的主要区别在于,它采用收费式的线上、线下培训体系,将培训教学模式和教学平台开发模式相结合。Tynker虽然推出了移动端的免费版本,但是桌面端还是收费模式,故在全球推广上,受众度比Scratch更低。Tynker目前主要的学习工具专注于浏览器在线和ipad上,更多的偏向于互联网模式,其免费教程很少,大部分都服务于收费的培训课程。Tynker的编程平台界面如图2所示,其总体结构和Scratch基本一致,左侧是分类的程序控件,中部是编程的主要部分即程序流程编写框,右侧上方是程序运行效果图,右侧下方是程序需要的图片和动画元素。使用者从左侧上方点击“分类按钮”后,左侧下方会出现具体的程序控制按钮,将需要的按钮拖动到界面中部,并且将这些按钮连接起来,形成完整的控制流程,右侧的每一个动画元素都可以有各自的控制流程。程序开始运行时,所有动画在事件触发后,按照程序制定流程运行。
3.3 编程猫
编程猫是类似Tynker的中国本土化产品,它的积木化风格完全继承自Scratch,基于H5技术实现,它是国内同名培训机构“编程猫”开发的少儿编程平台。“编程猫”是国内规模较大的编程教育培训机构,该机构有较强的研发能力,独立开发出这款少儿编程软件——编程猫。
编程猫集成了几个模块,分别是:类似Scratch的面向低年龄少儿的Kitten、面向中高年级的少儿编程产品海龟编辑器、游戏制作区代码岛、答题和交流社区产品——通天塔、还有硬件编程模块。编程猫的独特之处在于,平台在创立之初就考虑到了学习者成长后需要从少儿编程语言过渡到使用高級编程语言。Kitten模块中有一键切换的代码转换按钮,可以将积木模式的代码以Python或者js代码形式展示;海龟编辑器是专门为过渡到Python编程而设计的,它继承了Python的海龟画图功能,并提供了代码模式和积木模式的切换功能。答题和交流社区产品通天塔也是其创新之处,它提供了各种难度的题目,学员可以在家长的指导下使用,检测自身对编程知识点的掌握情况。编程猫Kitten的编程主界面如图3所示,相对于Scratch和Tynker,该平台最显著的区别在于右侧的代码转换区域,学员可以看到积木程序对应Python代码的具体内容。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论