少年儿童编程学点啥合适呢?

网友投稿 2019-08-29 13:28

        少年儿童编程学点啥合适呢?

学什么编程语言?

有人建议:“学scratch啊,麻省理工,权威出品,霸气。界面简单,易于上手。这之后在学习python,合理过渡到代码。”

还有人建议:“不对,那些都是小孩子玩的,要学就学真枪实弹,什么语言最经典,C语言无一例外最经典。在大学学生接触的第一种语言往往就是C语言,C语言演变出了众多语言,可以说掌握了C,学其他语言也就不难了。”

    不同语言对于不同年龄,不同爱好的学生会起到不同的教学效果。所以对孩子来说没有最好的编程语言,只有最合适的。

一,二年级学什么

    对于一二年级的学生现阶段最适合的编程是什么?乐高的wedo系列效果很好,基本可以适合所有的孩子。基本每一个孩子都喜欢乐高搭建,但是不是每一个孩子都喜欢乐高机械(所以有些孩子不适合跟乐高后期的课程)。

    孩子们有表达想法和自己动手创造的强烈渴求,在这个过程中他们获得满足感和自信。所以早期的乐高搭建能够满足孩子的成长发育所需要的要素--表达自己的想法,获得别人的认同,不断的积累自信心。

三年级是分水岭

    随着乐高课程不断地深入,机械原理和几何结构越发复杂。这个阶段的课程不适合于每一位学生。因为学生想要表达自己的想法的前提是,必须能够将相应的机械结构设计出来。有的孩子比较喜欢机械结构,能够长时间的去思考结构方面的问题,在这一过程中能够获得成就感,形成一种正向反馈激励。

    但是有的孩子由于兴趣不同,不能够对机械结构进行长时间反复的思考。导致通过搭建不能再获得相应成就感,形成一种反向反馈激励,越做越没有信心。这个时候的乐高课程不能满足孩子表达自我,获得认同的。

    能够使用乐高机械来表达思想的同学有两方面原因:

  1. 在家用大量时间对机械方面内容进行思考,并且由充足的零件和兴趣。   

  2. 大脑能够依照现实世界的物理规则进行模拟。

    归根结底还是因为每个人发展趋向不同,兴趣爱好不同造成的。

    我的一个孩子小W,在搭建过程中有很多想法,有许多创意。我听了他的想法之后觉得“哇,这不错”。我们一起来搭建一下试试吧,在搭建过程中发现,我们搭建出来的东西形状出来了,但是没有办法工作呀。比如我们做的小汽车,一跑起来零件直往下掉。遇到这种情况当然是要对车的结构进行改进和加固。当我对小W进行讲解如何加固的时候,孩子一脸懵。为什么懵了?要知道每一个孩子对世界认识的先后顺序是不一样的,在大人看来简单的事情,他可能还没什么概念。W同学他没有去过多的观察过物理世界的运转规律,自然对受力不熟悉。

    既然孩子现阶段对物理世界认识的不够,我将小W更多的精力放在编写程序上面。将搭建难度降低。小W的奇思妙想在他的程序世界中终于实现了。在程序中小W建立了一个逻辑合理,有运行规则的世界。所以程序世界对于满足孩子的创造欲,发挥想象力,锻炼逻辑能力门槛更低了。

    三年级的时候应该给孩子一个接触编写程序的机会,看一看孩子是否有这方面的兴趣爱好。

    那么三年级开始应该学什么编程呢?

    我个人认为应该是kodu。不是scratch。更不可能是c语言。

    为什么是kodu?

https://cdn.china-scratch.com/timg/190831/132Q241E-0.jpg

kodu是一个拥有物理引擎的世界。也就是说在这个世界中机器人之间相互碰撞会被互相弹开的,机器人跑起来摩擦力会起作用,机器人会受到重力影响。

这是一个集成程度很高的世界

有许多工作已经被kodu软件的设计者完成了。我们要做的就是在这个世界中编写一套游戏规则。所以kodu将游戏开发者的门槛再一次降低了。比scratch还要低。

是不是kodu集成度很高那么就会比较局限,功能比较单一,程序比较简单呢?

    我一开始也是这样认为的,这款编程软件给我的感觉更像是一款游戏,而且内容比较单一。

    随着各方面学习资源的越来越丰富,赛事资源的崛起,慢慢的我认识到用kodu编程是大有可为的。

    现在流行的“吃鸡”游戏,“王者荣耀”等等。这些喜闻乐见的游戏用kodu编程能够快速的实现。

    还记得我和小A(另外一个孩子)一起制作了一款足球对抗游戏,也就用了1个小时的时间,这款游戏就拥有了球门场地,球员能够传球和射门。我和小A用这个程序进行了一场足球对抗,非常有趣。看着小A溢于言表的满足感,我知道他这节课收获了充足的自信。

https://cdn.china-scratch.com/timg/190831/132Q23595-1.jpg

    后续我在这款游戏的基础之上进行了改进,让球员自主的进攻和传球,最终完成射门,居然也可以实现。这让我意识到,这套软件可以相对轻易的完成平时编程比较难完成的任务。为什么?

    因为程序中模块已经完整的封装好了,我们只需要在合理的位置调用它。这和程序员编排大程序调用相应的模块原理是一样的。

    我们还编写过快递员送快递的程序,以及智能交通的程序。由此我产生立一个大胆的设想,未来我们的孩子长大了。他们也许就会使用这样的模块对机器人进行编程,每个人很快的就可以让机器人完成他们指定的任务。从这个角度讲我们孩子现在学习的模块化编程软件不是为了过度到代码编程,而是未来的程序设计有可能就是这个样子。

    试想在未来一个会计人员要统计一项数据,或者进行某种公式的运算。他所需要做的工作是拖动几个程序模块,让他们组成一段小程序,就可以轻易的完成相应的工作。这种事情放在现在是需要专业的程序员重新开发程序才有可能实现的。从开发时间和成本上没有任何可比性。

    孩子们需要学习kodu多长时间呢?scratch什么时候引入?

    在五年级和六年级的时候要将scratch引入进来。逐渐的从kodu过渡到scratch。

    scratch为什么要后学?因为scratch的自由度更大,操控的元素有更多。比如游戏角色各式形态需要设计者自行设定。程序中没有物理引擎,如果想让游戏角色受到诸如引力的影响,那么设计者需要自己设计引力效果。

    scratch中涉及到的不仅仅是程序的逻辑必须正确,最主要的是算法。这要求设计者必须拥有一定的数学基础。

    综上所述:在适合的年级或者状态学习适合的编程环境是最佳的。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com