IT培训网 - IT职场人学IT技术上IT培训网
要不要让孩子去上编程培训班?
时间:2020-11-11 22:05:25 来源:编程网 作者:IT培训网 已有:名学员访问该课程
程序员爸爸的“大白话”:几岁开始学编程比较好,怎么上手?
在很多场合听到过这么一个说法:未来,编程和英语会一样重要,都是孩子在这个世界上生存所必备的基础技能。的确,美国前总统奥巴马还发起过“编程一小时”活动,号召孩子们都参与到编程学习中来,他说:
“不要只是买一个新的电脑游戏,自己做一个;不要只是下载最新的应用程序,帮助设计它;不要只是在手机上玩玩,编写它的代码。”
最近几年,儿童编程在国内也越来越热。不过这个问题对我们大多数人来说,还是挺新鲜和陌生的,比如:要不要学?什么时候开始学?怎么学?要不要报培训班,等等 ...
一位资深程序员爸爸;在这篇文章里详细解答了孩子学编程家长普遍关心的问题,还推荐了一些比较容易入手的编程学习资源。
世界即将走向人工智能的时代,小朋友的学习,自然也要与时俱进让我们共同努力,走在时代前列!
1、编程能培养孩子的哪些能力?
编程是一件很有趣的事情,我觉得主要能培养五个方面的能力:策划构思能力、逻辑分析能力、模式识别能力、问题分解能力、测试纠错能力。这些重要的思维能力,不光在编程上很重要,也适用于各行各业。
编程是一种“先写剧本,后看结果”的活动,这要求孩子先在脑子里进行构思并模拟出结果,然后再实际验证结果是不是符合预期。
这是一个“异步”的过程,对于这种“都得事先想好”的方式,孩子一开始是不适应的,因为这违背他们的直觉。
我见过很多父母给孩子买“迷宫书”,其实走迷宫也包含这个要素,有的孩子会先在脑子里走一遍,然后一次性下笔把路线画出来,这就是一种构思和模拟能力的体现。
2逻辑能力
编程需要考虑到各种情况,根据不同的情况作出不同的选择(分支),而且各个分支之间不能重复,也要避免遗漏某一种可能性造成程序的异常行为。
在逻辑思维中有个词叫做MECE(Mutually Exclusive and Collectively Exhaustive),意思就是“相互排斥且整体完备”,也就是“不重复,不遗漏”。这是逻辑思维中的一个重要原则。
举个例子,交通信号灯有红、黄、绿三种状态,如果你在写程序的时候只考虑了红灯和绿灯的情况,没考虑黄灯的情况,那就不“完备”了。
此外,条件还会涉及到“与”、“或”、“非”等逻辑操作,比如说,“当信号灯为红色或黄色时”和“当信号灯不是绿色时”这两个描述应该是等价的,这对于孩子来说都是非常好的逻辑训练。
3模式识别能力
在编程中,我们经常需要发现一些“可以重复”的单元,然后让计算机去重复它。
举个简单的例子,计算(1 5)×4相当于(1 5) (1 5) (1 5) (1 5),其中每一个(1 5)就是一个可重复的单元,或者说是一种模式(pattern)。
在解决实际问题时,模式并不都是显而易见的,有些模式是隐藏的,或者需要一定的变换才能出现的,这些都考验孩子观察力和识别力。
4分解问题的能力
一些复杂的问题都可以分解中等的问题,中等的问题还可以进一步分解成小问题。在解决复杂问题时,问题的分解是非常重要的,编程中我们也经常需要使用这样的方法。
举个例子,比如要造一辆汽车,我们先要把汽车分解成很多小的部件,比如发动机、变速器等,这些部件还可以继续分解成更小的部件,我们需要先造好每一个小部件,再把他们组合起来变成一辆汽车。
5调试纠错能力
任何工作都无法一蹴而就,是人总会犯错误,程序运行起来发现不对有问题,这时就需要孩子能够找到出错的地方在哪里,并且将它改正。这里面包含的能力很多,比如抗挫折力、观察力、专注力等等。
总之,通过学习编程所培养的能力并不只是适用于编程,而是可以在很多方面派上用场。
2、几岁开始学比较好,怎么上手?
按照我的经历,是6岁开始接触编程的,但现在我们有各种可视化的编程环境,还有各种编程游戏App、桌游和玩具,所以还可以往低龄推移。
另外还是那句老话:兴趣第一。如果孩子没兴趣,跟逼他练钢琴也没什么两样。
关于不同年龄段的孩子怎么开始学编程,这是我的建议:
3-10岁 :学习编程语言
这时候,孩子们可以开始学习一种真正的编程语言,比如Swift、Python等,尝试编写一些软件,初步学习算法、数据结构以及面向对象编程。也可以尝试一些硬件编程,比如用Arduino做个小机器人。
Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。Swift是一款易学易用的编程语言,还是第一套具有与脚本语言同样的表现力和趣味性的系统编程语言。
Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
我认为对于接受度好的孩子,可视化编程的部分可以跳过去,那个不是学编程的必经阶段。或者这么说,如果你是7~9岁才开始入门的,那么用Scratch之类的东西没问题;如果你4岁时已经入门了,那么7-9岁时可以不必按部就班地上Scratch,直接奔着Swift、Python这种正经编程语言去就可以了。就好像学自行车不是一定要用辅助轮一样,有些孩子不用辅助轮反而学得快。
关于书,我只看过两本,一本叫《Scratch少儿趣味编程》(这本书最近还出了2),一本叫《父与子的编程之旅:与小卡特一起学Python》,都是国外引进的书。其他的书欢迎大家推荐吧!
3、学编程是不是一定要数学好?
首先应该搞清楚的是,数学和算术是两码事,孩子对数字敏感不敏感,会不会做加减乘除,跟能不能学好编程关系不大,跟能不能学好数学关系也不大。
编程和数学确实是相辅相成的,因为编程所需要的很多能力和数学所需要的能力是相通的,比如逻辑完备性、模式识别等等;编程中的一些概念也是来自数学,比如函数;而到了学算法的时候,就会用到更多的数学思想和工具;至于最近特别火的机器学习,那更是纯数学模型。
对于这个问题,我只能说,编程和数学应该是相互促进的关系,学编程有利于更好地学数学,而学好数学当然也能够帮助你更好地学编程。
4、自己不会,怎么教孩子学?
说实话,就4岁孩子玩的那些编程游戏,再不会编程的家长,看一眼也都能玩,怎么可能智商还不如4岁的娃呢?
所以就启蒙来说,我不相信哪个家长不能胜任,主要有没有兴趣和时间。
当然,到了正经学编程语言、算法和数据结构这些东西的阶段,如果家长不会编程,那肯定是辅导不了了。
但反过来说,到了这个阶段,孩子都可以自主学习了,也可以通过交朋友、参加兴趣班等方式来学。
5、要不要让孩子去上编程培训班?
关于社会上的培训机构,虽然最近冒出来一些,但比起学英语学画画学乐器的少多了。乐高机器人有,教Scratch的,还有用Swift Playgrounds的夏令营,不过这些一般都针对比较大的孩子。
这些培训我都没实际考察过,也很难给出个评价。就我从几个业内朋友了解到的情况看,这类编程培训目前还都比较初步,主要的困难在于教师资源的缺乏。
和其他一些培训不同,编程培训的教师很难“速成”出来,而本身做这方面工作的人很少会出来做教孩子编程的工作,而且这样的人也很贵。
现在也有很多专业的“码农”转身出来创业做青少年编程培训,但自己上阵也只能做一些小众的培训,要想做大,一样面临“老师难找”的问题。
我觉得对于不具备相关知识的父母来说,还是可以让孩子通过参加这类培训来启蒙和培养兴趣的。
欢迎关注和留言。希望我的提示能给各位宝妈们一些帮助,一定要细心观察孩子,在各个发育阶段的变化,是否符合正常的发育状况。在孩子发育的最佳时期,提供相应的最佳护理及环境,让宝宝们沐浴在爱的雨露阳光下茁壮成长。
每期开班座位有限.0元试听抢座开始!
温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。