编程VS机器人,有什么区别?(二)
“编程是学啥呢?”
“编程是学电脑吗?”
“编程究竟该学哪种语言呢?”
“有JAVA、C++、python、JS”
……
很多家长都会有这样的疑问,分不清编程、机器人之间的关系,和具体要学什么语言。
就这个问题,我们为众多由此疑惑的家长们整理了相关资料,辅助家长们为孩子选择合适的课程。
“6岁孩子学Scratch怎么样?”
“那种拖块块看起来像玩游戏,不算正规编程吧?”
“11岁学C++OK吗?”
“现在Python很火,是不是该学Python?”
关心这类问题的家长们肯定对少儿编程比较熟悉了为了让大家都能明白,还是先解释一下这些Scratch、C++、Python是怎么回事,为什么会有这么多编程语言。
编程的本质,用一句话来解释,就是人和电脑对话,用电脑听得懂的语言,告诉它我想让它做的事。
可电脑那台冷冰冰的机器能听懂啥啊?其实它只能听懂由0和1组成的序列。所以long long ago,程序员写代码都是靠在纸带上打孔,打孔代表1,不打代表0…
后来,打孔打得眼冒金星的程序员们受不了了,就纷纷开始发明新的编程语言,于是有了汇编、C、C++、C#、Java、JavaScript,Python…还有和这些语言相匹配的翻译器。这些翻译器能把它们翻译成电脑搞得懂的0、1序列,所以编程时只管用这些语言就好,剩下的就留给翻译器去办。比如在上篇说到的那个娃妈喊娃爸买包子的梗,用C++来表示就是这样:
If (看到卖西瓜的)
{
买包子(1);
}
Else
{
买包子(10);
}
再后来,一些有爱的程序员觉得这样的语言小朋友用起来太难了,那些“if”、”else”什么的很难记,所以又发明了一类拖拽式的编程语言。编程者不需要手动写代码,只需要将操作界面上的指令方框拖到主界面,并且对指令框做一些参数设置就好。这种拖拽式的编程语言有很多种,比如Scratch、Hopscotch等,乐高机器人,用的也是拖拽式的编程语言。
拖拽式编程语言
有了这些背景知识,现在可以回答前面的问题了,主要有这些要点:
1. 孩子一开始接触编程,建议从拖拽式的编程语言开始,难度低,上手快,孩子会比较感兴趣,一般5-6岁左右的孩子就可以开始;
2.无论是拖拽式的Scratch,还是趣味代码编程,都是正规在学编程,其中用到的编程思想和手动写代码是一样;
3. 拖拽式编程语言有个局限,没法编写很复杂的程序,因为一旦程序逻辑很复杂的时候,满屏框框会显得很臃肿很混乱。所以当孩子学到一定程度(不一定需要按年龄来划分,只要孩子觉得拖拽式不能清爽地表达他想要的逻辑时),就可以转为更加专业的,需要手动写代码的编程语言了。
4. 究竟该学C++、C#、Java、JavaScript还是Python呢?
每种编程语言都有自己适用的一亩三分地。广义的编程可不仅仅是用某种语言编写代码,更重要的是该怎么用语言去操控它适用的环境。
比如说你可能听过JavaScript用来进行网页开发,但要真正使用它得熟悉html,DOM,CSS,网页生命周期,浏览器渲染机制等等等等;
而C++语言在少儿编程领域更多是应用在竞赛上,区赛、市赛、奥林匹克信息学竞赛;用程序代码设计出解题思路和解题过程,重点是学习算法、数据结构和逻辑。
因为孩子学的是基本的编程思想,而不是解决某个领域的特定问题,所以学哪个语言都无所谓,因为基本的编程思想在各个语言中是相通的。只有当真正去从事编程工作时,才需要根据要实现的功能选择一门合适的语言。而且,对于很多编程高手来说,换语言就像从使用Windows电脑换成使用苹果电脑一样,没什么难度,只要稍微适应一段时间就好。
学习方向和深度不同
1、机器人编程是以调用编程模块指令让机器动起来为目的。通常需要编程的模块是已经写好存储在模块里的,小朋友做的只是将模块以不同的方式拼接起来。
2、儿童编程学习是探究编程语言的本质,一层一层把模块打开,学习模块内部核心的逻辑、算法、语法和结构。
3、深度方面:高级的机器人要求非常扎实的编程基础,比如C语言,C++等,但大多数的机器人机构只停留在初级教育,最多涉及到一些图形化编程教育,并不教授这些高级编程语言,这也是为什么3岁可以学习机器人,到8岁之后没有东西可学的原因.
4、逻辑思维方面:机器人物理硬件的连接强调动手能力,一个6岁的孩子经过反复练习,可以很熟练的拼装机器人,但是编程学习涉及更广泛的逻辑思维,以及数学、英语、物理等K12学科。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com