
本文将为大家详细介绍少儿编程,编程教育(包括少儿编程教育和成人编程教育)以及机器人编程教育三大类概念的定义与分类,是一篇货真价实的底层普及干货文。
【编程的定义】
编程:编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,是计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。
少儿编程:并非高等教育那样学习如何写代码、编制应用程序,而是通过编程游戏启蒙、可视化图形编程等课程,培养学生的计算思维和创新解难能力。例如学生在制作一个小动画的过程中,自己拆分任务、拖拽模块、控制进度,从而理解“并行”、“事件处理”、“目标实现”的概念。
【编程教育的定义】
1、成人编程教育定义
编程语言(programming language):是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
编程又可以理解为设计具备逻辑流动作用的一种“可控体系”(注:编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系,都可以算编程。)大学学习编程语言主要目的是让你初步了解计算机的简单工作原理。掌握编程语言基础应用,为程序编程做好准备。
计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。这种将高级程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。
解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。
编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序,然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。
2、儿童编程教育定义
少儿编程教育:是通过编程游戏启蒙、可视化图形编程等课程,培养学生的计算思维和创新解难能力的课程。
少儿编程教育并非高等教育那样学习如何写代码、编制应用程序,而是通过编程游戏启蒙、可视化图形编程等课程,例如学生在制作一个小动画的过程中,自己拆分任务、拖拽模块、控制进度,从而理解"并行"、"事件处理"、"目标实现"这样的概念。
【成人编程教育的分类】
在高等教育中,系统学习层面从大学一年级才开始接触编程(中专生除外),这时候入门课题是Office,再office的基础上认识应用程序。而后接踵而至的是C语言程序设计和计算机原理与汇编简单介绍,所有的一切讲述语言结构和计算机基础。深入一点就接触面向对象编程,如VB、JAVA、HTML等比较常用的语言结构体。并穿插C语言高级一点的应用,链表与算法,也就是所谓的数据结构,慢慢再引入数据库知识,媒体应用、接口技术、网络与脚本语言的简单介绍。这是基本课时,到后面就是计算机科学了,如何部署系统、做系统评估与分析、汇编语言与C++应用等等。
尽管新语言经常出现,但掌握核心、传统语言对于开发者来说是最重要的。总的来说,现在的开发语言趋势是Java,Python,C ++和C。具体的编程语言如上图所示。
【儿童编程教育的分类】
就课程体系而言,少儿编程培训课程主要分为两大类:软件编程、硬件编程。
1、软件编程:
软件编程教学:基于Scratch、Python、C++等编程语言给学生搭建可视化图形编程平台和代码编程学习平台等,通过编程游戏、网页、动画、音乐等来学习编程语言。
2、硬件编程:
硬件编程培训:通过机器人套件或者通过PicoBoard、Arduino等开源硬件平台构建模块式的机械部件、电子元件和传感器拼搭组合来学习编程。硬件可以作为载体来实现编程程序输出展示,通过硬件平台和软件平台的结合完成编程项目。
为了让大家的思路更加清晰,我们再来横向对比一下“少儿编程教育”与另外一个易混淆的内容,即“机器人编程教育”。
【定义不同】
机器人编程教育:通过组装、搭建、编写程序运行机器人,激发学生学习兴趣、培养学生综合能力的一种教育方式。可以理解为机器人编程教育是通过一些教育类的机器人硬件来实现编程教学的目的。
儿童编程教育:根据不同年龄的儿童,分阶段、系统性地教授儿童编程语言,从最开始的逻辑思维和抽象思维的培养,再到教会孩子学会运用“编程思维”和基础知识,最后利用算法设计去解决实际问题的教育方式。
二者的共同点是它们都可以培养孩子的逻辑思维能力和抽象思维能力,并提高孩子分析解决问题的能力以及创造能力。
【主要区别】
1、学习方向和深度不同
机器人编程:以调用积木模块指令让机器动起来为目的,通常需要编程的模块是已经写好了的,小朋友要做的是理解模块的含义,并正确的运用模块操控机器人。机器人物理硬件的连接强调动手能力,一个孩子经过反复练习,可以熟练的拼装机器人。
少儿编程:学习目的是教授儿童系统的编程知识,探究编程语言的本质,一层一层把模块打开,学习模块内部核心的逻辑、算法、语法和结构。少儿编程希望启蒙孩子的编程思维,培养孩子的编程学习兴趣,根据不同年龄阶段的孩子,系统性地设计少儿编程课程,从而帮助他们掌握编程的基本知识,如事件、条件、循环等。
2、应用场景不同
机器人编程应用范围较多的是限于机器人本身,所学的编程知识是基于机器人硬件设计的课程内容。因为不同的机器人硬件可能会需要不同的的编程语言。
少儿编程是基于软件项目开发设计的课程,其中会有一部分涉及到与硬件的交互,这里就和机器人有些类似,但是编程的高度是没有限制的,孩子可以系统掌握各种语言,扎根编程的基础,虽然学习起来枯燥一些,但学成后,未来选择范围更广。
3、逻辑思维的锻炼
机器人物理硬件的连接强调动手能力,一个七、八岁的孩子经过反复练习,可以很熟练的拼装机器人。儿童编程更聚焦逻辑思维,以及与数学、英语、物理等K12学科结合。
4、孩子的收获不同
收获相同点:
(1)培养孩子的逻辑思维能力、抽象思维能力。
(2)培养观察力和耐心。
(3)培养动手能力、协作能力和创造能力。
(4)提高学生分析问题和解决问题的能力。
收获不同点:
(1)选择方面:接受儿童编程教育的孩子能够系统掌握编程语言,从Scratch到Python再到C++,选择范围很广。
(2)语言方面:机器人编程所用语言很多,不同的机器人需要不同的语言,比如乐高NXT有图形化IDE,使用RoboLab语言,适合初学者;儿童编程所学的语言是面向整个计算机界的,以后做程序员、算法工程师、架构设计师都能用到。
5、优缺点对比
机器人编程:
少儿编程:
少儿编程和机器人编程不是一个概念,可以说机器人编程是少儿编程的一个载体和直观呈现方式,它们各有优缺点,需要家长们结合自家孩子的实际情况决定学习哪项为主。