目前,少儿编程热度应该是所有兴趣班中最热门的科目之一了,少儿编程的热度我认为会一直持续下去,因为教育的本质是为社会发展变革服务的,而技术的更新是社会发展的不变主题,编程从某种意义上来说,代表的是先进的计数,尤其是大数据时代的数据处理技术,是我们这个时代和未来极其重要的科技发展的一部分。
在少儿图形化编程面世以来,极大的降低了少儿阶段的编程学习门槛,只要认识图形化编程中的汉字及简单的数学逻辑运算能力,以及基本的逻辑思维能力,可以说所有的孩子都能学习少儿编程。但对于后期竞赛来说,数学逻辑思维强的孩子一定是有优势的。
那么,作为家长,该如何为孩子选择一门适合的编程语言作为入门呢,在孩子学到一定程度后,该如何过渡到哪一门语言,以及什么样的竞赛需要学习什么样的语言等等,今天我们就来简单聊聊这个话题。
目前,Scratch是针对少儿阶段最适合的入门语言了,国内很多企业开发的图形化编程基本上都是以此为基础或直接全盘照搬的模式。Scratch的入门学习一般建议2-3年级,孩子的数学逻辑思维和识字能力都有一定的基础,并且逻辑思维的开发也算是一个比较*金的时间段,此阶段,Scratch的小游戏设计、小程序的开发等课程都比较适合该阶段的孩子。
在一定的基础课程完成后,可以尝试制作一些中、大型游戏,对于大部分孩子来说,“大型”游戏的开发需要很强的耐心和长期的时间精力投入,很难完成。建议在家里可以制作一些中等规模的游戏或者程序,在很多学校都有相应的科技类比赛,可以将作品提交上去,参加比赛。在机构里的课程中,可以尝试学习简单的基础算法,最重要的是学习包含在算法中的一些计算思维。如冒泡排序、二分算法、“打擂台”、变量交换等等这些在今后的算法深入学习中需要的基础知识,为以后的竞赛课程打好基础。此过程,大概需要两年左右的时间,当然,算法的核心不在于使用什么语言,而在于解题思路的设计和数据的处理。
在五年级的时候,大部分的孩子可以考虑进入代码编程的学习,如果学习能力比较强的孩子也可以在四年级提前进入这一阶段。这里,对于数学思维能力比较强的孩子,对比赛有参赛想法的,可以开始进入C++基础入门的课程进行学习。这里没有推进学习Python两个原因,一是,现在的信息学奥赛只支持C++语言,所以对于想走竞赛路线的孩子推荐直接学习C++,Python作为一门编程语言,并不存在先学Scratch,再学Python,最后学C++这样的逻辑。二是孩子的学习时间非常有限,毕竟大部分孩子都不可能像学语数英那样子花大把时间精力学习少儿编程,因此在有限的时间里学习竞赛最需要的课程就可以了。还有一个现状是,目前大部分编程机构都是非常缺C++老师的,而培养一个C++老师的投入远远超过Scratch和Python。当然Python语言在也是有很多优势的,对于不是明确自己要走竞赛路线的,可以学Python,或者结合机器人相关的课程,偏向人工智能或者科学课程方向。
还有一点,C++更接近底层,大型操作系统,游戏,高性能算法都是C++的强项,更适合用C++写。学C++能让你理解到语言的核心,程序的机理,如果你想往编程的核心发展,了解程序的更深境界,了解底层、内核,那C++是非常好的选择,当然这些内容差不多在初高中阶段甚至大学阶段才会深入学习。
无论选择哪门编程语言,其实编程的灵*是数据结构和算法,只要理解了解题的思路,孩子能设计出相关程序,能顺利运行得到结果,这个对孩子的思维才是真正的有帮助的。那么,选择哪门语言就看孩子的需要了,语言本身并不存在谁好谁不好,就如我们现实世界,汉语有汉语的魅力,英语有英语的强大。